From c06f4bf553cfdc770efd61770d72ad652ca4050f Mon Sep 17 00:00:00 2001 From: HotelSync Date: Tue, 17 Mar 2026 17:04:05 +0300 Subject: [PATCH] Fix login spinner stuck on API error (add try/catch in handleSubmit) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/LoginPage.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/pages/LoginPage.tsx b/src/pages/LoginPage.tsx index 9e4e503..dc6a19e 100644 --- a/src/pages/LoginPage.tsx +++ b/src/pages/LoginPage.tsx @@ -40,10 +40,16 @@ function LoginForm({ onSwitch }: { onSwitch: () => void }) { e.preventDefault() setError('') setLoading(true) - const loggedIn = await login(email, password) - setLoading(false) - if (!loggedIn) { setError('Неверный email или пароль'); return } - navigate('/calendar') + try { + const loggedIn = await login(email, password) + if (!loggedIn) { setError('Неверный email или пароль'); return } + navigate('/calendar') + } catch (err) { + const msg = err instanceof Error ? err.message : 'Ошибка соединения' + setError(`Ошибка сервера: ${msg}`) + } finally { + setLoading(false) + } } return (