Encart mentorat — dashboard jeune v2

Section « Mentorat » du tableau de bord jeune (MentoratEncart). Deux champs se combinent : jeune.status (dont EN_COURS_ONBOARDING pour l’accès onboarding) et statusOnboarding (NON_COMMENCE / EN_COURS / TERMINE).

Atterrissage

jeune.status statusOnboarding Destination
EN_ATTENTE_ACTIVATION — Page d’activation /inscription/jeune/fin (middleware global, pas le dashboard)
EN_ATTENTE_PARENT — Page d’activation /inscription/jeune/fin (middleware global, pas le dashboard)
EN_COURS_ONBOARDING NON_COMMENCE Funnel /onboarding/jeune/etape-1 (pas le dashboard)
EN_COURS_ONBOARDING EN_COURS Dashboard, cas 2
INSCRIT (majeur) null / NON_COMMENCE Dashboard, cas 1
INSCRIT (mineur) — Dashboard, encart masqué (onboarding et « Trouver un mentor »)
APTE TERMINE Dashboard, cas 3 ou 4
APTE null Encart masqué (cas non géré)
MATCHE — Dashboard, cas 5
NON_DISPONIBLE, EN_ATTENTE_PARENT, ASSOCIE_PARCOURS, HORS_PROGRAMME, mineur — Encart masqué

Activation mail (funnel v2) : lost ou LP + majeur → EN_COURS_ONBOARDING, sinon INSCRIT. Un mineur reste INSCRIT (pas d’encart onboarding ni « Trouver un mentor »). Les EN_ATTENTE_PARENT historiques hors MVLS se rattrapent via le bouton superadmin Gestion (POST /jeunes/migrate-en-attente-parent).

États de l’encart

État Conditions CTA
Découvre le mentorat INSCRIT + majeur + statusOnboarding NON_COMMENCE / null « Je découvre » → /onboarding/jeune/commencer-mentorat (pas d’écriture). « Commence l’aventure » pose source_mentorat_dashboard=true, status=EN_COURS_ONBOARDING, status_onboarding=NON_COMMENCE, puis redirige vers /onboarding/jeune/etape-1. L’étape 1 ne fait que passer status_onboarding à EN_COURS.
Continuer l’onboarding EN_COURS_ONBOARDING (ou INSCRIT legacy) + statusOnboarding EN_COURS « Je continue » (reprise bagage / etape-1)
Choisir un mentor APTE + TERMINE, propositions MI non refusées ou binôme ANNULE/TERMINE créé après la dernière MI « Choisir un mentor » → /compte/jeune/mentors
Chargement contexte MI APTE + TERMINE, contexte API pas encore reçu spinner, pas de CTA
Attente matching manuel APTE + TERMINE + dernier lot MI refusé, sans binôme ANNULE/TERMINE plus récent aucun bouton
Voir mon binôme MATCHE « Voir mon binôme »
Masqué mineur, statuts listés ci-dessus, ou APTE sans TERMINE —

L’attente manuelle se déclenche via GET /jeunes/mentorat-encart-context. Un binôme ANNULE ou TERMINE dont la date de création est postérieure à la dernière session MI rouvre le matching instantané.

Changement de besoin (onboarding) : INSCRIT → lost (majeur) passe en EN_COURS_ONBOARDING + NON_COMMENCE. Un jeune déjà EN_COURS_ONBOARDING ou APTE qui quitte lost reste dans le même statut.

L’encart est masqué si jeune.minor est vrai ou si user.birthday indique un âge < 18 ans (minor peut être null sur d’anciens comptes). minor est posé à l’inscription v2, pas au chargement de GET /user.

Affiché sur le dashboard v2 (JeuneDashboardV2, aussi via /compte/jeune/dashboard/v2). Le dashboard canonique /compte/jeune/dashboard reste derrière le flag dashboard_jeune_v2.