"use client"; import Link from "next/link"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { loginUser } from "../../lib/auth"; import Logo from "@/utils/logo"; import { Spinner } from "@/Components/UI"; export default function LoginPage() { const router = useRouter(); const [identity, setIdentity] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(null); const [loading, setLoading] = useState(false); async function handleSubmit(event: React.FormEvent) { event.preventDefault(); setError(null); setLoading(true); try { await loginUser(identity, password); window.location.href = "/dashboard"; // Use full page reload to ensure all client state is reset after login } catch (err) { // FIX: Surface specific error messages from auth.ts (invalid credentials, // role denial, network failure) directly to the user. if (err instanceof Error) { // Network/fetch failure signals if ( err.message.includes("fetch") || err.message.includes("network") || err.message.includes("Failed to fetch") ) { setError( "Unable to connect. Please check your internet connection and try again later.", ); } else { setError(err.message); } } else { setError("System temporarily unavailable. Please try later."); } } finally { setLoading(false); } } return (

مرحبًا بعودتك

سجل الدخول لإدارة عمليات التسليم

هل نسيت كلمة المرور؟
{error ? (

{error}

) : null}

ليس لديك حساب؟{" "} إنشاء حساب

); }