From 8133a97fc70cca24710c5cec005254cede9ffb5c Mon Sep 17 00:00:00 2001 From: Tatyana Date: Mon, 18 Aug 2025 11:03:05 +0300 Subject: [PATCH] =?UTF-8?q?=D1=83=D0=B2=D0=B5=D0=BB=D0=B8=D1=87=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=BE=D1=82=D1=81=D1=82=D1=83=D0=BF=20=D0=BE?= =?UTF-8?q?=D1=82=20=D1=85=D0=B5=D0=B4=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/CourseExercises.tsx | 2 +- src/pages/Courses.tsx | 2 +- src/pages/Exercise.tsx | 2 +- src/pages/Home.tsx | 2 +- src/pages/Login.tsx | 73 +++++++++++++++++++---------------- src/pages/Settings.tsx | 3 +- src/pages/Welcome.tsx | 2 +- 7 files changed, 47 insertions(+), 39 deletions(-) diff --git a/src/pages/CourseExercises.tsx b/src/pages/CourseExercises.tsx index 1b9710b..95fd344 100644 --- a/src/pages/CourseExercises.tsx +++ b/src/pages/CourseExercises.tsx @@ -95,7 +95,7 @@ const course = {
-
+
diff --git a/src/pages/Courses.tsx b/src/pages/Courses.tsx index dbcc174..aec056b 100644 --- a/src/pages/Courses.tsx +++ b/src/pages/Courses.tsx @@ -23,7 +23,7 @@ const Home: React.FC = () => { -
+
{/* Analytics Cards */} diff --git a/src/pages/Exercise.tsx b/src/pages/Exercise.tsx index 51d520a..7ebbb93 100644 --- a/src/pages/Exercise.tsx +++ b/src/pages/Exercise.tsx @@ -98,7 +98,7 @@ const Exercise: React.FC = () => { return (
-
+
diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index b8dcf68..3433bca 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -64,7 +64,7 @@ export default function Home() {
-
+
diff --git a/src/pages/Login.tsx b/src/pages/Login.tsx index 294774b..3e07cbb 100644 --- a/src/pages/Login.tsx +++ b/src/pages/Login.tsx @@ -1,24 +1,20 @@ "use client" -import type React from "react" -import { useState } from "react" +import React, { useState } from "react" import { useHistory } from "react-router-dom" import manImage from "../assets/man.svg" // Reverted to original import - import axios from 'axios'; - - export default function LoginPage() { const history = useHistory() - // Стейты для формы входа + // Стейты для формы входа const [email, setEmail] = useState("") const [password, setPassword] = useState("") const [showPassword, setShowPassword] = useState(false) const [rememberMe, setRememberMe] = useState(false) const [activeTab, setActiveTab] = useState<"login" | "register">("login") - //// Состояние и обработчики регистрационной формы + // Состояние и обработчики регистрационной формы const [registerFormData, setRegisterFormData] = useState({ email: "", // Removed firstName, lastName password: "", @@ -28,24 +24,40 @@ export default function LoginPage() { const [showRegisterPassword, setShowRegisterPassword] = useState(false) const [showConfirmRegisterPassword, setShowConfirmRegisterPassword] = useState(false) - // Обработчик входа - const handleLogin = async (e: React.FormEvent) => { - e.preventDefault() - try { - const response = await axios.post('http://localhost:8093/auth/api/login', { - email, - password, - rememberMe, - }) - console.log('Ответ сервера:', response.data) - // например, сохранить токен или перейти - history.push("/home") - } catch (error) { - console.error('Ошибка при входе:', error) - alert('Ошибка при входе') + const handleLogin = async (e: React.FormEvent) => { + e.preventDefault(); + try { + const response = await axios.post('http://localhost:8093/auth/api/login', { + email, + password, + rememberMe, + }); + if (response.status === 204) { + // Успешный вход + // Можно сохранить токен или выполнить другие действия + history.push("/home"); + } else { + // Обработка других статусов, если нужно + console.log('Ответ:', response); } + } catch (error) { + if (axios.isAxiosError(error)) { + console.error('Ошибка при входе:', error.message); + if (error.response) { + console.error('Статус:', error.response.status); + console.error('Данные ответа:', error.response.data); + if (error.response.status === 400) { + alert('Неверные данные для входа'); + } + } + } else { + console.error('Неожиданная ошибка:', error); + } + alert('Ошибка при входе'); } +}; + // Обработчик регистрации @@ -81,17 +93,12 @@ const handleRegisterSubmit = async (e: React.FormEvent) => { } } - - - - - const handleRegisterInputChange = (e: React.ChangeEvent) => { - setRegisterFormData({ - ...registerFormData, - [e.target.name]: e.target.value, - }) - } - +const handleRegisterInputChange = (e: React.ChangeEvent) => { + setRegisterFormData({ + ...registerFormData, + [e.target.name]: e.target.value, + }) +} diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx index 4fe94ff..1bca6b2 100644 --- a/src/pages/Settings.tsx +++ b/src/pages/Settings.tsx @@ -10,6 +10,7 @@ const Settings: React.FC = () => { const handleLogout = () => { // Simulate logout history.push("/login") + } return ( @@ -29,7 +30,7 @@ const Settings: React.FC = () => {
-
+
{/* Profile Information */}
diff --git a/src/pages/Welcome.tsx b/src/pages/Welcome.tsx index d20a872..599bac6 100644 --- a/src/pages/Welcome.tsx +++ b/src/pages/Welcome.tsx @@ -29,7 +29,7 @@ const CourseComplete: React.FC = () => { useEffect(() => { const timer = setTimeout(() => { - router.push("/home", "forward") + router.push("/login", "forward") }, 3500) // Задержка 3 секунды return () => clearTimeout(timer)