Task #429: folders-as-files browser at "All notes" view
- Notes restored to original sticky-note cards (Section + NoteCard) at all views, reverting the file-manager-style note rendering from #427. - Folders render as a file-manager browser at the top of the active "All notes" view: black folder icon, name, relative time, item-count badge, "…" kebab with rename/delete, and a checkbox for multi-select. Honors the reused grid/list view-toggle. - Multi-select bar appears when ≥1 folder is checked, with bulk Delete (confirmation dialog) and Cancel actions. Bulk delete uses Promise.all over useDeleteFolder; selection auto-prunes deleted ids. - View-toggle is hidden when not at active+all (it now only governs the folder browser). - Added `mode: "rail" | "chips-only"` to FoldersRail. Chips-only is scoped to active+all only — archived/inbox/sent rail behavior is unchanged. - Drop targets preserved (data-folder-drop, folder-drop-${id}) so desktop DnD and touch-long-press pipelines keep working. - Click propagation stopped in DropdownMenuContent and around the checkbox so menu/checkbox interactions don't navigate into the folder. - Removed obsolete FilesView/FileItem/SelectionBar/DeleteDialog/colorTint helpers (~650 lines). - Added EN/AR locale keys: notes.folders.actions, renameFailed, itemCount, itemCountOne, select, bulkSelected, bulkDeleteTitle, bulkDeleteConfirm, bulkDeleteFailed. - Verified: tsc --noEmit clean; notes-folders, notes-card-touch-actions, notes-checklist, notes-delete-confirm Playwright suites all green. Drift note: kept "All notes" as a mixed surface (folders browser + sticky notes below the composer) per the user's task wording, which explicitly requires both sticky-note cards and file-manager folders. Code reviewer suggested folders-only as primary surface, but doing so would hide notes the user explicitly asked to see and break tests at the default view.
This commit is contained in:
@@ -437,7 +437,7 @@ export default function NotesPage() {
|
||||
unfiledCount={unfiledCount}
|
||||
totalCount={notes.length}
|
||||
onDropNote={handleDropNote}
|
||||
mode={folderSelection.kind === "all" ? "chips-only" : "rail"}
|
||||
mode={view === "active" && folderSelection.kind === "all" ? "chips-only" : "rail"}
|
||||
/>
|
||||
)}
|
||||
<div className="flex-1 min-w-0">
|
||||
|
||||
Reference in New Issue
Block a user