Files
IdeA/.ideai/memory/ticket16-menus-floating-delivered-devfrontend.md
Blomios ffc458e477 docs(memory): notes projet du sprint UI rework et des tickets #7/#14/#16/#17/#18/#25/#28
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>
2026-07-08 08:38:16 +02:00

2.5 KiB

name, description, metadata
name description metadata
ticket16-menus-floating-delivered-devfrontend memory note ticket16-menus-floating-delivered-devfrontend
type
project

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 ProjectsView regroupant [ 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, sinon openProject). Accessible même sous projet actif, sans ouvrir File→Projects….
  • Settings → AI Profiles déplacé dans la barre unique : toggle showSettings LOCAL à 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.