From 4b8069ad742d192b4f09e4c15184a70c7a112961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B0?= =?UTF-8?q?=D0=B1=D0=B8=D0=BB=D0=B8=D0=BD?= Date: Mon, 13 Jul 2026 17:19:00 +0300 Subject: [PATCH] =?UTF-8?q?fix(login):=20=D1=83=D0=B1=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20console.log=20=D1=81=20credentials?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs EventHub/EventHubFrontAdmin#10 Co-authored-by: Cursor --- src/pages/auth/LoginPage.tsx | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/pages/auth/LoginPage.tsx b/src/pages/auth/LoginPage.tsx index fea9d0c..28d6a08 100644 --- a/src/pages/auth/LoginPage.tsx +++ b/src/pages/auth/LoginPage.tsx @@ -1,31 +1,47 @@ import React from 'react'; import { Form, Input, Button, Card, message } from 'antd'; import { useNavigate } from 'react-router-dom'; +import { isAxiosError } from 'axios'; import { useAuthStore } from '../../store/authStore'; +const LOGIN_ERROR_MESSAGES: Record = { + invalid_credentials: 'Неверный email или пароль', + insufficient_permissions: 'Недостаточно прав для входа', +}; + +const getLoginErrorMessage = (error: unknown): string => { + if (isAxiosError(error)) { + const apiError = error.response?.data?.error; + if (typeof apiError === 'string') { + return LOGIN_ERROR_MESSAGES[apiError] ?? apiError; + } + } + return 'Ошибка входа'; +}; + const LoginPage: React.FC = () => { const navigate = useNavigate(); const login = useAuthStore((s) => s.login); + const [form] = Form.useForm(); const onFinish = async (values: { email: string; password: string }) => { - console.log('Form submitted', values); try { await login(values.email, values.password); navigate('/dashboard'); } catch (error) { - message.error('Ошибка входа'); + message.error(getLoginErrorMessage(error)); } }; return (
-
+ - + - +