"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import Logo from "@/components/Logo"; export default function AdminLoginPage() { const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const router = useRouter(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(""); setLoading(true); // Vérification simple côté client (la vraie vérification se fait côté serveur) // Pour l'instant, on stocke le mot de passe dans localStorage localStorage.setItem("adminPassword", password); // Test avec une requête API try { const response = await fetch("/api/admin/clients", { headers: { Authorization: `Bearer ${password}`, }, }); if (response.ok) { router.push("/admin"); } else if (response.status === 404) { // API non disponible (mode statique/APK) - accepter quand même // Le mot de passe sera vérifié côté serveur lors des vraies requêtes router.push("/admin"); } else { setError("Mot de passe incorrect"); localStorage.removeItem("adminPassword"); } } catch (err) { // Erreur réseau (API non disponible en mode statique/APK) // Accepter quand même et rediriger // Le mot de passe sera vérifié côté serveur lors des vraies requêtes console.warn("API non disponible (mode statique), connexion acceptée localement"); router.push("/admin"); } finally { setLoading(false); } }; return (