import React, { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { useDispatch } from "react-redux"; import { FiLock } from "react-icons/fi"; import { FaRegUser } from "react-icons/fa6"; // Assets import Loginpic from "../../../src/assets/image/loginpic.jpg"; import LogoDM from "../../assets/icons/LogoDM.svg"; // Redux import { setToken } from "../../redux/slices/authSlice"; import { setProfile } from "../../redux/slices/profileSlice"; // Services import authService from "../../services/auth"; export default function Login() { const navigate = useNavigate(); const dispatch = useDispatch(); // State Management const [userName, setUserName] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const [isMobile, setIsMobile] = useState(window.innerWidth < 768); useEffect(() => { const handleResize = () => { setIsMobile(window.innerWidth < 768); }; window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); // Handle Login const handleLogin = async (e) => { e.preventDefault(); setError(""); setLoading(true); try { const res = await authService.login({ userName, password }); if (res.data.success && res.data.data?.tokens?.accessToken) { dispatch(setToken(res.data.data.tokens.accessToken)); dispatch(setProfile(res.data.data.admin)); console.log("✅ Login successful:", res.data.data.admin); navigate("/dashboard"); } else { setError("اطلاعات دریافتی معتبر نیست"); } } catch (error) { console.error("❌ Login error:", error); const errorMessage = error.response?.data?.message || (error.request ? "خطا در برقراری ارتباط با سرور" : "خطای نامشخص رخ داده است"); setError(errorMessage); } finally { setLoading(false); } }; return (
{/* Header */}
{/* Left Section */}
Logo
{/* Center Links (Hidden on Mobile) */} {/* Right Section */}
{/* Main Content */}
{/* Left Side - Login Form */}
{/* Dark Overlay */}
{/* Breadcrumb */}
ورود > خانه
{/* Header */}

ورود ادمین

دسترسی ویژه برای مدیریت و گزارش‌ها

{/* Login Form */}
{/* Error Message */} {error && (
{error}
)} {/* Username Field */}
setUserName(e.target.value)} placeholder="userName" className="w-full pl-12 pr-4 py-3 border-2 bg-background border-gray-300 rounded-xl focus:outline-none focus:border-button1 transition-colors text-sm" dir="ltr" required />
{/* Password Field */}
setPassword(e.target.value)} placeholder="password" className="w-full pl-12 pr-4 py-3 border-2 bg-background border-gray-300 rounded-xl focus:outline-none focus:border-button1 transition-colors text-sm" dir="ltr" required />
{/* Forgot Password */} {/* Submit Button */}
{/* Right Side - Image (Hidden on Mobile) */}
Coffee workspace
); }