Files
parenthese/frontend/src/components/EntryChoice.jsx
T
IliesAllaliandClaude Haiku 5.5 92ceea6565 feat(entree): accueil à deux choix, porte unique, prénom du compte
- Backend : prénom du compte facultatif à l'inscription (colonne users.firstName,
  migration additive), renvoyé à l'inscription, à la connexion et sur GET /auth/me
- Accueil sans session : deux choix (J'ai reçu un lien, Se connecter) et
  Créer mon arbre en lien, à la place de la démo (variante B validée)
- Porte : mot de passe puis prénom facultatif pour un nouveau venu ; compte
  connecté non rattaché : bandeau avec son prénom, sans champ prénom, et
  « Ce n'est pas mon compte » (déconnexion, retour à la porte du même arbre)
- Sur-titre « Arbre partagé » retiré de la porte
- Compte déjà rattaché : inchangé, la racine ouvre l'arbre directement

Vérifié : vitest front 154/154, back 228/228 (sans .env local, le test CORS
attend localhost:5173), tsc back, eslint front, vite build, landing test et build.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-18 20:45:58 +02:00

42 lines
1.6 KiB
React

import logoUrl from '../assets/parenthese-logo.svg?url'
import './AccountScreens.css'
import LanguageSwitch from './navbar/LanguageSwitch'
import { t } from '../i18n/index.js'
// Accueil sans session (variante B validée le 18/10) : deux choix, rien d'autre au premier regard.
const EntryChoice = ({ onFamilyLink, onLogin, onRegister }) => (
<div className="entry-choice pz-screen">
<div className="pz-screen-inner">
<img src={logoUrl} alt="Parenthèse" className="pz-screen-logo" />
<h1 className="pz-title entry-choice-title">{t('Que voulez-vous faire ?')}</h1>
<div className="entry-choice-card pz-card">
<h2 className="entry-choice-name">{t("J'ai reçu un lien")}</h2>
<p className="pz-sub">{t("Pas besoin de compte pour regarder l'arbre.")}</p>
<button type="button" className="pz-btn pz-btn--primary pz-btn--block" onClick={onFamilyLink}>
{t("J'ai reçu un lien de famille")}
</button>
</div>
<div className="entry-choice-card pz-card">
<h2 className="entry-choice-name">{t("J'ai déjà un compte")}</h2>
<p className="pz-sub">{t('Pour retrouver vos arbres et ajouter des souvenirs.')}</p>
<button type="button" className="pz-btn pz-btn--line pz-btn--block" onClick={onLogin}>
{t('Se connecter')}
</button>
</div>
<div className="pz-account-foot">
<button type="button" className="pz-btn pz-btn--ghost pz-btn--sm" onClick={onRegister}>
{t('Créer mon arbre')}
</button>
</div>
<LanguageSwitch className="pz-lang--screen" />
</div>
</div>
)
export default EntryChoice