import React, { useState, useEffect } from "react"; import { useNavigate, Link } from "react-router-dom"; import { FiUser, FiLock, FiLogIn } from "react-icons/fi"; import { useAuthStore } from "@/modules/auth/store/useAuthStore"; export const AuthPage: React.FC = () => { const navigate = useNavigate(); const { login, isLoading, error, clearError, token } = useAuthStore(); const [formData, setFormData] = useState({ login: "", password: "", }); useEffect(() => { if (token) { navigate("/"); } }, [token, navigate]); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); try { await login(formData); navigate("/"); } catch (err) { // Error is handled by store } }; const handleChange = (e: React.ChangeEvent) => { setFormData({ ...formData, [e.target.name]: e.target.value, }); if (error) clearError(); }; return (
{/* Card */}
{/* Header */}

С возвращением!

Войдите в свой аккаунт

{/* Error Message */} {error && (
{error}
)} {/* Form */}
{ e.currentTarget.style.borderColor = "var(--border-focus)"; e.currentTarget.style.boxShadow = `0 0 0 3px ${e.currentTarget.style.borderColor}20`; }} onBlur={(e) => { e.currentTarget.style.borderColor = "var(--border)"; e.currentTarget.style.boxShadow = "none"; }} placeholder="Введите ваш логин" />
{ e.currentTarget.style.borderColor = "var(--border-focus)"; e.currentTarget.style.boxShadow = `0 0 0 3px ${e.currentTarget.style.borderColor}20`; }} onBlur={(e) => { e.currentTarget.style.borderColor = "var(--border)"; e.currentTarget.style.boxShadow = "none"; }} placeholder="Введите ваш пароль" />
{/* Footer */}

Нет аккаунта?{" "} { e.currentTarget.style.color = "var(--link-hover)"; }} onMouseLeave={(e) => { e.currentTarget.style.color = "var(--link)"; }} > Зарегистрироваться

); };