From bb33d5c495451c5d25e101b2b3d6c44c25dfa64e Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Jul 2026 14:05:00 -0400 Subject: [PATCH] M7: unify compose + edit into one NoteEditor (DRY) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'Take a note' composer (QuickAdd) and the note editor were two components with duplicated field logic and unequal capabilities — composing lacked [[ links, labels, images, reminders. Merge them into a single NoteEditor with two frames: inline on the board (compose), modal on a card (edit). Same fields, styling, [[ autocomplete and toolbar in both (task 1920). Compose is now a draft that persists on first real action: on commit-with-content, or on the first label/image/reminder/checklist use (ensureDraft) — so no empty-note litter. Rich controls light up once there's content; note-lifecycle actions (pin/archive/trash, links/backlinks) stay in the modal. notes.create() now returns the created note (for the draft id). QuickAdd.vue deleted; BoardView renders . Pure frontend — no backend/DB/migration. Sets up the editor<->card morph (task 1914). Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01FRgehjoz7Yv8LkUfADxACm --- frontend/src/components/NoteEditor.vue | 453 +++++++++++++++++++------ frontend/src/components/QuickAdd.vue | 169 --------- frontend/src/stores/notes.ts | 6 +- frontend/src/views/BoardView.vue | 7 +- 4 files changed, 347 insertions(+), 288 deletions(-) delete mode 100644 frontend/src/components/QuickAdd.vue diff --git a/frontend/src/components/NoteEditor.vue b/frontend/src/components/NoteEditor.vue index 966b8b5..cf92c7d 100644 --- a/frontend/src/components/NoteEditor.vue +++ b/frontend/src/components/NoteEditor.vue @@ -1,5 +1,5 @@