// Klyvio — Auth.jsx v3 // Un seul écran de connexion — admin ou client selon les identifiants const ADMIN_EMAIL = "romain@klyvio.fr"; const ADMIN_PASSWORD = "KYakana28*"; function LoginView({ onAdminSuccess, onClientSuccess }) { const [email, setEmail] = useState(""); const [secret, setSecret] = useState(""); const [err, setErr] = useState(""); const [loading, setLoading] = useState(false); // Code client = 6 car. alphanumériques ET email != admin const isAdminEmail = email.trim().toLowerCase() === ADMIN_EMAIL; const looksLikeCode = !isAdminEmail && /^[A-Z0-9]{6}$/.test(secret.toUpperCase()); const submit = () => { setErr(""); if (!email || !secret) { setErr("Veuillez remplir tous les champs."); return; } setLoading(true); setTimeout(() => { // Tentative admin if (email.trim().toLowerCase() === ADMIN_EMAIL && secret === ADMIN_PASSWORD) { onAdminSuccess(); return; } // Tentative client (email + code 6 car.) try { const all = JSON.parse(localStorage.getItem("klyvio_audits") || "[]"); const found = all.find(a => (a.email || "").toLowerCase().trim() === email.toLowerCase().trim() && (a.id || "") === secret.toUpperCase() ); if (found) { onClientSuccess(found); return; } } catch {} setErr("Identifiants incorrects. Vérifiez votre email et votre code d'accès ou mot de passe."); setLoading(false); }, 700); }; return (
Accédez à votre rapport ou à l'espace administrateur.
Clients : entrez le code à 6 caractères reçu à la fin de l'audit.
Administrateur : entrez votre mot de passe habituel.
Conservez ce code — il vous permettra de retrouver votre rapport et de modifier vos réponses à tout moment.