Capitalise les notes durables produites pendant le sprint UI rework et les tickets livrés depuis. Commit séparé du code : `.ideai/memory/` est le store durable versionné, il ne doit jamais être mélangé aux commits de feature. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| ticket16-menus-floating-delivered-devfrontend | memory note ticket16-menus-floating-delivered-devfrontend |
|
Lot A / #16 — MenuBar + FloatingWindow livré (DevFrontend)
Branche feature/ui-menus-floating (base develop 0218e32), non commité, avant merge Git. vitest vert : 54 fichiers / 527 tests. tsc --noEmit exit 0.
UX pass validée utilisateur (barre unique + sélecteur projet) — APPLIQUÉE
- Barre unique : plus de MenuBar séparée dans App.tsx. Une seule MenuBar dans
ProjectsViewregroupant[ Projet: <actif> ▾ ] File ▾ View ▾ Settings ▾. - Sélecteur de projet permanent : premier menu de la barre, label = projet actif, items = tous les projets connus (
vm.projects) →selectProject(id)(active l'onglet si ouvert, sinonopenProject). Accessible même sous projet actif, sans ouvrir File→Projects…. - Settings → AI Profiles déplacé dans la barre unique : toggle
showSettingsLOCAL à ProjectsView ; le main area swap vers<ProfilesSettings/>pendant que la barre reste visible (permet de refermer). App.tsx ne gère plus showSettings ni ProfilesSettings (juste firstRun ? wizard : ProjectsView).
Fichiers (état final)
- Créés (lot A initial) :
shared/ui/FloatingWindow.tsx,shared/ui/MenuBar.tsx,shared/ui/FloatingWindow.test.tsx. - Modifiés :
shared/index.ts,shared/ui/zIndex.ts(réutilisé),app/App.tsx(barre + showSettings + ProfilesSettings retirés),features/projects/ProjectsView.tsx(barre unique : projectMenu+File+View+Settings, showSettings local, ProfilesSettings dans main),features/projects/projects.test.tsx(+2 tests : sélecteur projet, toggle AI Profiles),features/projects/ProjectsView.ls7.test.tsx.
Invariants conservés
- FloatingWindow (focus-trap+Échap+backdrop, z=floatingWindow 50), MenuBar dropdowns z=menuDropdown 40, toasts z=toast 70, zIndex canonique réutilisé.
- TOUS les panneaux atteignables via View (context, work, tickets, agents, templates, skills, perms, memory, git) + File→Projects…. Critère d'acceptation respecté.
- Non touché :
shouldShowWritePortalVeil, exclusion write-portal↔F3, overlays in-cell, TicketPicker (#18).
Notes
- ProfilesSettings rendu DANS le main de ProjectsView (barre + onglets projet restent visibles au-dessus) au lieu du swap plein-écran App précédent — meilleure continuité, barre unique toujours accessible.
- Pas de run live Tauri (couverture RTL mock-driven). DoD vitest satisfaite.
QA/utilisateur revalident avant merge Git.