diff --git a/app/static/js/register.js b/app/static/js/register.js new file mode 100644 index 0000000..43468be --- /dev/null +++ b/app/static/js/register.js @@ -0,0 +1,42 @@ +document.addEventListener('DOMContentLoaded', function () { + const form = document.getElementById('register-form'); + const errorBlock = document.getElementById('register-error'); + + form.addEventListener('submit', async function (event) { + event.preventDefault(); + const email = document.getElementById('email').value.trim(); + const password = document.getElementById('password').value.trim(); + + if (!email || !password) { + showError('Пожалуйста, заполните все поля'); + return; + } + + try { + const response = await fetch('/api/auth/register', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ email, password }), + }); + + const data = await response.json(); + + if (response.ok) { + window.location.href = '/'; + } else { + const errorMsg = data.error || 'Ошибка регистрации. Попробуйте позже.'; + showError(errorMsg); + } + } catch (error) { + showError('Не удалось соединиться с сервером. Проверьте интернет.'); + console.error('Fetch error:', error); + } + }); + + function showError(message) { + errorBlock.textContent = message; + errorBlock.classList.remove('hidden'); + } +}); diff --git a/app/templates/auth/register.html b/app/templates/auth/register.html index e97ec4b..3ce9670 100644 --- a/app/templates/auth/register.html +++ b/app/templates/auth/register.html @@ -57,4 +57,6 @@