feat: resize todo panes and collapse note groups

Let users drag the to-do list/detail divider and remember its width. Note headings independently collapse task rows without clearing selected details. Use a 1px divider with a transparent drag target and compact spacing.

Validation: 115 focused tests including native Electron input; typecheck and lint passed.

Release note: Resize the Magic Notes to-do list with a thin draggable divider and collapse tasks by source note.
This commit is contained in:
mesalogo
2026-09-24 16:17:16 +08:00
parent 7adae97baa
commit f68584b4e2
13 changed files with 278 additions and 48 deletions
@@ -15,7 +15,11 @@ const note = {
}
window.goodbuddy = {
magicNotes: {
list: async () => ({ notes: [note] }), get: async () => note, listTodos: async () => ({ todos: [] }),
list: async () => ({ notes: [note] }), get: async () => note, listTodos: async () => ({ todos: [{
id: 'layout-todo', noteId: note.id, noteTitle: note.title, entryId: 'layout-entry',
title: 'Layout task', instructions: 'Task details', completed: false, revision: 1,
comments: [], createdAt: note.createdAt, updatedAt: note.updatedAt
}] }),
onChanged: () => () => {}, onAnalysisEvent: () => () => {}
},
updates: { getSettings: async () => ({ magicNoteCommentMode: 'after-save-manual', magicNoteCommentFormat: 'combined' }) }