function Reset({ navigate }) {
  const [password, setPassword] = React.useState('');
  const [confirm, setConfirm] = React.useState('');
  const [loading, setLoading] = React.useState(false);
  const [done, setDone] = React.useState(false);
  const toast = window.Toast.useToast();

  // Récupère le token depuis la query du hash (ex: #/reset?token=...)
  function getToken() {
    const hash = String(window.location.hash || '');
    const q = hash.split('?')[1] || '';
    const params = new URLSearchParams(q);
    return params.get('token') || '';
  }

  async function onSubmit(e) {
    e.preventDefault();
    if (!password || password !== confirm) {
      toast.error('Les mots de passe ne correspondent pas.');
      return;
    }
    const token = getToken();
    if (!token) { toast.error('Lien invalide.'); return; }
    setLoading(true);
    try {
      await window.AuthAPI.resetPassword(token, password);
      setDone(true);
      toast.success('Mot de passe mis à jour. Vous pouvez vous connecter.');
    } catch (err) {
      const m = err?.error?.message || 'Impossible de réinitialiser le mot de passe.';
      toast.error(m);
    } finally { setLoading(false); }
  }

  return (
    <div className="container">
      <h1>Réinitialiser le mot de passe</h1>
      {done ? (
        <p><a href="#/login">Se connecter</a></p>
      ) : (
        <form onSubmit={onSubmit} style={{ maxWidth: 420 }}>
          <label>Nouveau mot de passe<br/>
            <input type="password" value={password} onChange={(e)=>setPassword(e.target.value)} placeholder="********" />
          </label><br/>
          <label>Confirmer le mot de passe<br/>
            <input type="password" value={confirm} onChange={(e)=>setConfirm(e.target.value)} placeholder="********" />
          </label><br/>
          <button type="submit" disabled={loading || password.length < 6 || password !== confirm}>{loading ? 'En cours...' : 'Mettre à jour'}</button>
        </form>
      )}
    </div>
  );
}

window.Pages = window.Pages || {};
window.Pages.Reset = Reset;
