diff --git a/app/static/js/login.js b/app/static/js/login.js index 25155bf..b05b6c3 100644 --- a/app/static/js/login.js +++ b/app/static/js/login.js @@ -1,6 +1,7 @@ document.addEventListener('DOMContentLoaded', function () { const form = document.getElementById('login-form'); const errorBlock = document.getElementById('login-error'); + const submitButton = form.querySelector('button[type="submit"]'); form.addEventListener('submit', async function (event) { event.preventDefault(); @@ -13,6 +14,8 @@ document.addEventListener('DOMContentLoaded', function () { return; } + submitButton.disabled = true; + try { const response = await fetch('/api/auth/login', { method: 'POST', @@ -28,10 +31,12 @@ document.addEventListener('DOMContentLoaded', function () { const errorMsg = data.error || 'Ошибка входа. Проверьте email и пароль.'; showError(errorMsg); + submitButton.disabled = false; } } catch (error) { showError('Не удалось соединиться с сервером. Проверьте интернет.'); console.error('Fetch error:', error); + submitButton.disabled = false; } }); diff --git a/app/static/js/register.js b/app/static/js/register.js index 43468be..9525de4 100644 --- a/app/static/js/register.js +++ b/app/static/js/register.js @@ -1,6 +1,7 @@ document.addEventListener('DOMContentLoaded', function () { const form = document.getElementById('register-form'); const errorBlock = document.getElementById('register-error'); + const submitButton = form.querySelector('button[type="submit"]'); form.addEventListener('submit', async function (event) { event.preventDefault(); @@ -12,6 +13,8 @@ document.addEventListener('DOMContentLoaded', function () { return; } + submitButton.disabled = true; + try { const response = await fetch('/api/auth/register', { method: 'POST', @@ -28,10 +31,12 @@ document.addEventListener('DOMContentLoaded', function () { } else { const errorMsg = data.error || 'Ошибка регистрации. Попробуйте позже.'; showError(errorMsg); + submitButton.disabled = false; } } catch (error) { showError('Не удалось соединиться с сервером. Проверьте интернет.'); console.error('Fetch error:', error); + submitButton.disabled = false; } });