import React, { useState } from "react"; import { AuthService } from "../../auth/services/AuthService"; import { useNavigate } from "react-router-dom"; export const LoginPage: React.FC = () => { const navigate = useNavigate(); const [isLogin, setIsLogin] = useState(true); // true = login, false = signup const [nickname, setNickname] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(null); try { if (isLogin) { const res = await AuthService.postSignIn({ nickname, pass: password }); if (res.user_id && res.user_name) { // Сохраняем user_id и username в localStorage localStorage.setItem("userId", res.user_id.toString()); localStorage.setItem("username", res.user_name); navigate("/profile"); // редирект на профиль } else { setError("Login failed"); } } else { // SignUp оставляем без сохранения данных const res = await AuthService.postSignUp({ nickname, pass: password }); if (res.user_id) { setIsLogin(true); // переключаемся на login после регистрации } else { setError("Sign up failed"); } } } catch (err: any) { console.error(err); setError(err?.message || "Something went wrong"); } finally { setLoading(false); } }; return (

{isLogin ? "Login" : "Sign Up"}

{error &&
{error}
}
setNickname(e.target.value)} className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required />
setPassword(e.target.value)} className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required />
{isLogin ? ( <> Don't have an account?{" "} ) : ( <> Already have an account?{" "} )}
); };