From fbbd5f596fcaee0073d6aa5290fa76d050a405c3 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 11:56:28 +0000 Subject: [PATCH] Add tag "Add All", task Clear, folder-tree drag/drop, responsive cards, assistant header tweaks - Tag suggestions: "Add All" adds every suggested tag in one click (skipping any already on the note). - Background tasks: "Clear" removes all finished (done/failed/cancelled) rows. Running jobs and plans awaiting approval are kept, since neither is completed. - Folder panel: tree rows are now draggable and droppable. Notes and folders can be dropped onto a folder or onto "All notes" (root). Rows that can't accept the drag (the folder itself, its descendants, its current parent, dynamic folders) don't highlight; hovering a collapsed folder mid-drag expands it. A toast confirms moves. The DndContext now spans the tree and notes column, and collision is by pointer rather than the dragged item's rectangle, which was picking the wrong row for note cards (much larger than a tree row). - Card view: auto-fill grid from one column up to as many as fit, with an 18rem minimum and 24rem maximum card width. Category badge now truncates so the card header can't clip at the minimum width. - Assistant panel: Start Voice Mode moved next to Start dictation in the composer; History is icon-only with a "Show chat history" tooltip; Recipes moved to the end. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_014XETj69yz1PR4dD5ukTuj4 --- .../src/components/AIConversationPanel.tsx | 51 +++++++------ frontend/src/components/ActivityIndicator.tsx | 15 +++- frontend/src/components/CategoryBadge.tsx | 6 +- frontend/src/components/FolderIconBar.tsx | 2 +- frontend/src/components/FolderTreePanel.tsx | 72 ++++++++++++++++++- frontend/src/components/NoteCard.tsx | 2 +- frontend/src/stores/activity.test.ts | 66 +++++++++++++++++ frontend/src/stores/activity.ts | 15 +++- frontend/src/views/EditorView.tsx | 20 +++++- frontend/src/views/ListView.tsx | 67 +++++++++++------ 10 files changed, 258 insertions(+), 58 deletions(-) create mode 100644 frontend/src/stores/activity.test.ts diff --git a/frontend/src/components/AIConversationPanel.tsx b/frontend/src/components/AIConversationPanel.tsx index 960c051..8bcbc09 100644 --- a/frontend/src/components/AIConversationPanel.tsx +++ b/frontend/src/components/AIConversationPanel.tsx @@ -423,7 +423,7 @@ export default function AIConversationPanel({ const [conversation, setConversation] = useState([]) const [sessions, setSessions] = useState([]) const [currentSessionId, setCurrentSessionId] = useState(null) - // Chat | Recipes | History | Assets — four tabs sharing this one side panel. + // Chat | History | Assets | Recipes — four tabs sharing this one side panel. const [panelTab, setPanelTab] = useState<'chat' | 'recipes' | 'history' | 'assets'>('chat') const [renamingId, setRenamingId] = useState(null) const [renameText, setRenameText] = useState('') @@ -1743,7 +1743,7 @@ export default function AIConversationPanel({ onMouseDown={startResize} /> - {/* Header: Chat | Recipes | History tabs */} + {/* Header: Chat | History | Assets | Recipes tabs */}
- +
- {voiceCapable && ( - - )} )} + {voiceCapable && ( + + )}