"use client" import { useState } from "react" import { useRouter } from "next/navigation" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { useAuth } from "@/contexts/auth-context" export default function AccountPage() { const [loginEmail, setLoginEmail] = useState("") const [loginPassword, setLoginPassword] = useState("") const [registerEmail, setRegisterEmail] = useState("") const [registerPassword, setRegisterPassword] = useState("") const [registerConfirmPassword, setRegisterConfirmPassword] = useState("") const [message, setMessage] = useState("") const { isLoggedIn, login, logout } = useAuth() const router = useRouter() const handleLogin = async (e: React.FormEvent) => { e.preventDefault() try { const response = await fetch("http://localhost:8081/api/login", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ email: loginEmail, password: loginPassword }), }); const data = await response.json(); if (response.ok) { login() // Обновляем контекст аутентификации setMessage(data.message) router.push("/") // Перенаправляем на основную страницу } else { setMessage(data.message || "Ошибка при входе") } } catch (error) { console.error("Ошибка сети:", error); setMessage("Ошибка сети") } } const handleRegister = async (e: React.FormEvent) => { e.preventDefault() if (registerPassword !== registerConfirmPassword) { setMessage("Пароли не совпадают") return; } try { const response = await fetch("http://localhost:8081/api/register", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ email: registerEmail, password: registerPassword }), }); const data = await response.json(); if (response.ok) { login() // Обновляем контекст аутентификации после регистрации setMessage(data.message) router.push("/") // Перенаправляем на основную страницу } else { setMessage(data.message || "Ошибка при регистрации") } } catch (error) { console.error("Ошибка сети:", error); setMessage("Ошибка сети") } } if (isLoggedIn) { return (
Вы вошли в систему.
{message}
}