Espace adhérent : plus de barre latérale hors staff

Un adhérent voyait deux fois le même menu : la barre latérale ne portait chez
lui que la section « Côté adhérent » — Informations, Mon profil, Mes
promotions — et EspaceHeader rend déjà ces trois entrées en onglets sous le
bandeau. Un quart de l'écran pour une redite.

BackendShell branche donc sur isStaff : hors staff, il ne reste qu'un bandeau
de marque, aligné sur la colonne de contenu, et la page prend toute la
largeur. Le staff garde la barre, qui est chez lui la navigation principale et
le seul chemin vers son propre espace.

Le piège était sur téléphone : sous 1024px les actions du compte vivaient dans
le tiroir, pas dans l'entête. Sans tiroir, la déconnexion serait devenue
inatteignable — .backend-header--plain rétablit leur affichage à toutes les
largeurs, et un test le verrouille avec l'absence d'aside et de bouton de
tiroir dans la variante.

Vérifié au navigateur en 1440 et 390 px, adhérent et administrateur : aucune
barre ni bouton de tiroir côté adhérent, actions présentes aux deux largeurs,
aucun débordement horizontal ; les dix-sept entrées de l'administrateur et son
tiroir sont intacts.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QsLjRAnuLwivqxCbM4WeP
This commit is contained in:
Claude committed 2026-09-15 06:47:10 +00:00
1 parent cc33cf5fbc
commit 2da125eca2
4 files changed
+162 -1

No files matched your search

+11
View File
@@ -268,6 +268,17 @@ même raison.
droit à l'image) et `/backend/espace/promotions` (dépôt et suivi des promos,
les offres **en ligne** en tête). `EspaceHeader` porte le bandeau et les
onglets ; toute action qui touche l'espace revalide les deux chemins.
- **Pas de barre latérale hors staff** : `BackendShell` branche sur
`isStaff(user.role)`. Chez un adhérent la barre ne porterait que la section
« Côté adhérent », c'est-à-dire les trois entrées déjà rendues en onglets par
`EspaceHeader` — deux menus pour la même chose. Il ne reste qu'un bandeau de
marque, aligné sur la colonne de contenu (`max-width` 1040). Conséquence à ne
pas perdre de vue : sous 1024px les actions du compte vivaient **dans le
tiroir** ; sans tiroir, `.backend-header--plain` rétablit leur affichage dans
l'entête, sinon la déconnexion deviendrait inatteignable sur téléphone.
`tests/backend-nav.test.ts` verrouille les deux points. Le staff garde la
barre : elle y est la navigation principale, et « Côté adhérent » son seul
chemin vers son propre espace.
- La catégorie d'une promotion est un **type de produit ou de service**
(`src/lib/promo-categories.ts`, groupes pour `<optgroup>`), pas le métier de
l'adhérent ; `defaultPromoCategory(slug)` pré-sélectionne depuis le métier.