// Écran de connexion — entièrement mocké, aucun backend. // Deux entrées : Pro Santé Connect (le chemin réel à terme) et mode démo. // Le choix est mémorisé pour ne pas réafficher l'écran à chaque rechargement. const LG_VT = window.VT || {}; const LG_INK = LG_VT.ink || '#0a0a0a'; const LG_SUB = LG_VT.sub || '#6b7280'; const LG_BG = LG_VT.paper || '#f6f5f1'; const LG_SURF = LG_VT.surface || '#ffffff'; const LG_HAIR2 = LG_VT.hair2 || 'rgba(10,10,10,0.10)'; const LG_MED = LG_VT.medBlue || '#3d6b8f'; const LG_MED_TINT = LG_VT.medBlueTint || 'rgba(61,107,143,0.10)'; const VASCO_AUTH_KEY = 'vasco_auth'; // localStorage peut lever (mode privé, quota) : on ne casse pas l'app pour ça. const authRead = () => { try { return window.localStorage.getItem(VASCO_AUTH_KEY); } catch (e) { return null; } }; const authWrite = (v) => { try { window.localStorage.setItem(VASCO_AUTH_KEY, v); } catch (e) { /* sans mémoire */ } }; const authClear = () => { try { window.localStorage.removeItem(VASCO_AUTH_KEY); } catch (e) { /* rien à faire */ } }; function LoginScreen({ onDone }) { const [connecting, setConnecting] = React.useState(false); // Le passage par PSC prend un instant en vrai : l'attente rend le mock crédible. const connectPSC = () => { if (connecting) return; setConnecting(true); setTimeout(() => { authWrite('psc'); onDone(); }, 1400); }; const enterDemo = () => { if (connecting) return; authWrite('demo'); showToast('Mode démo — données fictives', 'info'); onDone(); }; return (
{/* Identité */}
VASCO
L'assistant du chirurgien vasculaire
{/* Accès */}
Données de santé hébergées en France · HDS
); } window.LoginScreen = LoginScreen; window.vascoAuthRead = authRead; window.vascoAuthClear = authClear;