"use client";
import {useEffect,useState} from "react";
import {useRouter} from "next/navigation";
import Link from "next/link";
import {ArrowRight,Eye,EyeOff,KeyRound,Loader2,LockKeyhole,ShieldCheck,UserRound} from "lucide-react";
import {Button} from "@/components/ui/button";
import {Input} from "@/components/ui/input";

export default function Login(){const router=useRouter(),[username,setUsername]=useState(""),[password,setPassword]=useState(""),[show,setShow]=useState(false),[remember,setRemember]=useState(true),[busy,setBusy]=useState(false),[error,setError]=useState("");
 useEffect(()=>{fetch('/api/auth').then(r=>{if(r.ok)router.replace('/dashboard')})},[router]);
 async function submit(e:React.FormEvent){e.preventDefault();setBusy(true);setError("");try{const r=await fetch('/api/auth',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({username,password,remember})});const j=await r.json();if(!r.ok)throw Error(j.error);router.replace('/dashboard')}catch(e:any){setError(e.message||'ورود انجام نشد.')}finally{setBusy(false)}}
 return <main className="login-page" dir="rtl"><div className="login-art"><div className="login-orb"></div><Link href="/" className="back-home"><ArrowRight/> بازگشت به صفحه اصلی</Link><img className="login-white-logo" src="/brand/goharzamin-logo-white.svg" alt="گهرزمین"/><div className="login-message"><span><ShieldCheck/> محیط امن سازمانی</span><h1>فرماندهی هوشمند<br/>ناوگان تشریفات</h1><p>تمام خودروها، مأموریت‌ها و تأییدیه‌های عملیاتی در یک فضای یکپارچه و قابل اعتماد.</p></div><div className="login-art-foot"><i></i><span>اتصال رمزنگاری‌شده</span><i></i><span>دسترسی مبتنی بر نقش</span></div></div>
 <section className="login-form-side"><div className="mobile-login-logo"><img src="/brand/goharzamin-logo.png" alt="گهرزمین"/></div><form onSubmit={submit} className="login-card"><div className="login-icon"><LockKeyhole/></div><div className="login-heading"><small>خوش آمدید</small><h2>ورود به سامانه</h2><p>نام کاربری و رمز عبور سازمانی خود را وارد کنید.</p></div>{error?<div className="login-error">{error}</div>:null}<label><span>نام کاربری</span><div className="input-shell"><UserRound/><Input autoComplete="username" dir="ltr" value={username} onChange={e=>setUsername(e.target.value)} placeholder="username" required minLength={3}/></div></label><label><span>رمز عبور</span><div className="input-shell"><KeyRound/><Input autoComplete="current-password" dir="ltr" type={show?'text':'password'} value={password} onChange={e=>setPassword(e.target.value)} placeholder="••••••••" required minLength={8}/><button type="button" onClick={()=>setShow(!show)} aria-label={show?'پنهان کردن رمز':'نمایش رمز'}>{show?<EyeOff/>:<Eye/>}</button></div></label><div className="login-options"><label><input type="checkbox" checked={remember} onChange={e=>setRemember(e.target.checked)}/><span>مرا به خاطر بسپار</span></label><span>بازیابی رمز توسط مدیر سیستم</span></div><Button className="login-submit" disabled={busy}>{busy?<Loader2 className="spin"/>:<LockKeyhole/>}{busy?'در حال ورود...':'ورود امن به پنل'}</Button><div className="login-help"><ShieldCheck/><p>دسترسی شما براساس نقش سازمانی تنظیم می‌شود. برای ایجاد حساب یا بازیابی رمز با مدیر کل سامانه تماس بگیرید.</p></div></form><footer>مدیریت ناوگان تشریفات گهرزمین · نسخه سازمانی</footer></section></main>}
