import { trpc } from "@/lib/trpc"; import { getLoginUrl } from "@/const"; import { useState } from "react"; import { useLocation } from "wouter"; import { toast } from "sonner"; import { Eye, EyeOff, Lock, User, ArrowLeft, ExternalLink } from "lucide-react"; const FEHAP_LOGO = "/manus-storage/logoFEHAP_69ddd0ee.PNG"; const SANTINOVA_LOGO_TEXT = "Santinova Soft"; export default function LoginLocal() { const [, navigate] = useLocation(); const [loginOrEmail, setLoginOrEmail] = useState(""); const [password, setPassword] = useState(""); const [showPassword, setShowPassword] = useState(false); const loginMutation = trpc.auth.loginLocal.useMutation({ onSuccess: () => { // Forcer un rechargement complet pour réinitialiser le contexte auth window.location.href = "/"; }, onError: (err) => { toast.error(err.message || "Identifiant ou mot de passe incorrect"); }, }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (!loginOrEmail || !password) { toast.error("Veuillez renseigner votre identifiant et votre mot de passe"); return; } loginMutation.mutate({ email: loginOrEmail, password }); }; return (
{/* ── Colonne gauche : branding SONUM ── */}
FEHAP – Santé Social, Privé Solidaire

SONUM

Cartographie des Solutions Numériques des établissements FEHAP

© {new Date().getFullYear()} FEHAP — Tous droits réservés
{/* ── Colonne droite : formulaire ── */}
{/* Logo FEHAP en haut */}
FEHAP
{/* Formulaire centré */}
{/* Titre mobile */}

SONUM

Connexion locale

Connectez-vous avec votre identifiant (login ou email) et votre mot de passe

{/* Login ou email */}
setLoginOrEmail(e.target.value)} placeholder="jdupont ou prenom.nom@etablissement.fr" autoComplete="username" className="w-full pl-10 pr-4 py-2.5 text-sm bg-background border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all" required />
{/* Mot de passe */}
setPassword(e.target.value)} placeholder="••••••••" autoComplete="current-password" className="w-full pl-10 pr-10 py-2.5 text-sm bg-background border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all" required />
{/* Bouton connexion */}
{/* Liens */}
{/* Pied de page : powered by Santinova */}
powered by {SANTINOVA_LOGO_TEXT}
); }