'use client'; import { useState } from 'react'; import { Button, Form, Input, notification } from 'antd'; import { LoginData } from '../../../types/types'; import { login } from '@/api/api'; import { useRouter } from 'next/navigation'; import { useForm } from 'antd/es/form/Form'; import { useAuth } from '@/fsd/app/provider/AuthContext'; import style from './Login.module.scss' const LoginComponent = () => { const router = useRouter(); const { login: authLogin } = useAuth(); // Получаем метод login из контекста const [form] = useForm(); const [loading, setLoading] = useState(false); const onFinish = async (values: LoginData) => { setLoading(true); try { const response = await login(values); // Отправляем запрос на логин if (response) { // Проверяем статус ответа const token = response.access_token; authLogin(token, 3600); // Устанавливаем токен в контексте notification.success({ message: 'Вход в систему прошел успешно', description: 'Вы успешно вошли в систему.', }); await router.push('/create'); // Перенаправляем на страницу после успешного входа await form.resetFields(); } else { // Если сервер возвращает ошибку с кодом 200 (например, если в теле ответа есть ошибка) notification.error({ message: 'Ошибка входа', description: 'Произошла ошибка при входе в систему. Пожалуйста, попробуйте снова.', }); } } catch (error) { console.error('Login error:', error); notification.error({ message: 'Ошибка входа', description: 'Произошла ошибка при входе в систему. Пожалуйста, попробуйте снова.', }); } finally { setLoading(false); } }; return (