From 8a4a6cd9cde88cdc5a37f3a37979da75ee94d9e0 Mon Sep 17 00:00:00 2001 From: senke Date: Fri, 6 Feb 2026 02:27:58 +0100 Subject: [PATCH] docs(audit): dropdown-menu refactor entry Co-authored-by: Cursor --- docs/FRONTEND_DEEP_DIVE_AUDIT.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/FRONTEND_DEEP_DIVE_AUDIT.md b/docs/FRONTEND_DEEP_DIVE_AUDIT.md index af065b052..0f225bbb7 100644 --- a/docs/FRONTEND_DEEP_DIVE_AUDIT.md +++ b/docs/FRONTEND_DEEP_DIVE_AUDIT.md @@ -106,6 +106,7 @@ Les problèmes sont classés en **Bloquant**, **Amélioration** et **Perfectionn | ~~`TrackFilters.tsx`~~ | ~~401~~ | **Refactorisé 2026-02-05** : module `features/tracks/components/track-filters/` avec `useTrackFilters`, `TrackFiltersHeader`, `TrackFiltersSearch`, `TrackFiltersGrid`, `TrackFiltersClear`, `TrackFiltersSkeleton`. Stories : Default, Collapsible, Loading. Re-export depuis `TrackFilters.tsx`. | | ~~`PlaylistList.tsx`~~ | ~~380~~ | **Refactorisé 2026-02-05** : module `features/playlists/components/playlist-list/` avec `usePlaylistList`, `PlaylistListToolbar`, `PlaylistListEmpty`, `PlaylistListError`. Skeleton existant `PlaylistListSkeleton`. Stories : Default, Grid, Empty (MSW), Loading (skeleton). Re-export depuis `PlaylistList.tsx`. | | ~~`dialog.tsx`~~ | ~~365~~ | **Refactorisé 2026-02-05** : module `components/ui/dialog/` avec types, `Dialog`, `DialogHeader`, `DialogBody`, `DialogFooter`, `DialogContent`, `DialogDescription`, `DialogTitle`, `DialogTrigger`, `DialogSkeleton`. Stories : Default, Alert, Composition, Loading. Re-export depuis `dialog.tsx`. | +| ~~`dropdown-menu.tsx`~~ | ~~345~~ | **Refactorisé 2026-02-05** : module `components/ui/dropdown-menu/` avec types, `DropdownMenuTrigger`, `DropdownMenuContent`, `DropdownMenuItem`, `DropdownMenuCheckboxItem`, `DropdownMenuRadioItem`, `DropdownMenuLabel`, `DropdownMenuSeparator`, `DropdownMenuShortcut`, `DropdownMenuPlaceholders` (Group, Portal, Sub, SubContent, SubTrigger, RadioGroup). Dropdown base (`dropdown.tsx`) : `open` / `defaultOpen` pour mode contrôlé. Conformité UI : `min-w-32` (pas de valeur arbitraire). Re-export depuis `dropdown-menu.tsx`. | | ~~`AccountSettings.tsx`~~ | ~~362~~ | **Refactorisé 2026-02-05** : module `features/settings/components/account-settings/` avec `useAccountSettings`, `AccountSettingsErrorBanner`, `AccountSettingsPasswordCard`, `AccountSettingsExportCard`, `AccountSettingsDeleteCard`, `AccountSettingsSkeleton`. Stories : Default, Loading. Re-export depuis `AccountSettings.tsx`. | | ~~`TrackSearchFilters.tsx`~~ | ~~348~~ | **Refactorisé 2026-02-05** : module `features/tracks/components/track-search-filters/` avec `useTrackSearchFilters`, `TrackSearchFiltersBasic`, `TrackSearchFiltersAdvanced`, `TrackSearchFiltersSkeleton`. Stories : Default, Applied, Loading. Re-export depuis `TrackSearchFilters.tsx`. | | ~~`SessionsPage.tsx`~~ | ~~351~~ | **Refactorisé 2026-02-05** : module `features/auth/components/sessions-page/` avec `useSessionsPage`, `SessionsPageHeader`, `SessionsPageErrorBanner`, `SessionsPageRevokeAllButton`, `SessionsPageSessionItem`, `SessionsPageContent`, `SessionsPageEmpty`, `SessionsPageSkeleton`. Stories : Default, Loading, Empty, Error. MSW : GET/DELETE auth/sessions. Re-export depuis `pages/SessionsPage.tsx`. | @@ -196,6 +197,7 @@ Les problèmes sont classés en **Bloquant**, **Amélioration** et **Perfectionn - **StudioView (fait 2026-02-05)** : module `components/views/studio-view/` avec `useStudioView`, Header, Sidebar, NavButton, Content, ProjectsSwitch, Skeleton. Stories : Default, Projects, Loading. Conformité : h-[calc(...)] → min-h-layout-main, w-[65%] → w-2/3. - **PlaylistList (fait 2026-02-05)** : module `features/playlists/components/playlist-list/` avec `usePlaylistList`, `PlaylistListToolbar`, `PlaylistListEmpty`, `PlaylistListError`. Stories : Default, Grid, Empty (MSW), Loading (skeleton). - **dialog (fait 2026-02-05)** : module `components/ui/dialog/` avec Dialog, Header, Body, Footer, Content, Description, Title, Trigger, DialogSkeleton. Stories : Default, Alert, Composition, Loading. +- **dropdown-menu (fait 2026-02-05)** : module `components/ui/dropdown-menu/` avec types, Trigger, Content, Item, CheckboxItem, RadioItem, Label, Separator, Shortcut, Placeholders. Dropdown base : open/defaultOpen. Re-export depuis `dropdown-menu.tsx`. - **AccountSettings (fait 2026-02-05)** : module `features/settings/components/account-settings/` avec `useAccountSettings`, ErrorBanner, PasswordCard, ExportCard, DeleteCard, AccountSettingsSkeleton. Stories : Default, Loading. - Les autres composants volumineux restants : appliquer le même principe pour améliorer la testabilité et la maintenabilité.