import { loginClient } from '../api.js'; import { setSession } from '../auth.js'; export async function renderLogin(root, onLoggedIn) { root.innerHTML = `
e-Intervention
Connexion client

Accéder à mon espace

Consultez vos déclarations, suivez la prise en charge et échangez avec le service intervention depuis votre espace client.

Vous n'avez pas encore de compte ? Créer un compte
`; const form = root.querySelector('#loginForm'); const errorBox = root.querySelector('#errorBox'); const successBox = root.querySelector('#successBox'); form.addEventListener('submit', async (event) => { event.preventDefault(); errorBox.hidden = true; successBox.hidden = true; const payload = Object.fromEntries(new FormData(form).entries()); try { const response = await loginClient(payload); if (!response?.ok || !response?.token) { throw new Error('login_failed'); } setSession(response.token, response.client); successBox.hidden = false; successBox.textContent = 'Connexion établie.'; onLoggedIn(); } catch (error) { errorBox.hidden = false; errorBox.textContent = error?.status ? 'Compte introuvable ou mot de passe invalide.' : 'Connexion impossible pour le moment. Vérifiez votre connexion réseau puis réessayez.'; } }); }