3 Commits

Author SHA1 Message Date
Jacob Schmidt
d1e4989303 Add edit/delete buttons to SidePanel for all sections, custom entry filenames, vault persistence
- Add edit/delete icon buttons to SidePanel items for entries, todos, lists, and fragments
- Move fragment edit/delete controls from FragmentEditor main panel to SidePanel
- Add externalEditRequested prop to FragmentEditor for parent-controlled edit mode
- Add fragment delete handling in +page.svelte performDelete flow
- Support custom entry filenames via FileName parameter in EntrySavePayload
- Fix vault persistence for custom-named entries (non-date-formatted .md files)
- Add VaultStorageService SaveCustomEntries helper for _custom_entries.vault
- Add entries.delete backend command and wire through EntryFileService
- Remove Write/Preview toggle from MarkdownEditor (previewOnly controlled by parent)
- Add smoke tests for vault custom entry roundtrip and entry save with custom filename

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-02-26 19:40:43 -06:00
Jacob Schmidt
58f9f46cb9 Auto-save entries and lists on navigate-away and app close
- Add saveCurrentDocument() that persists entries (via saveEntryFromStore)
  and lists (via updateListByStoreId) when switching documents or sections
- Register flush callback in session store so +layout.svelte can trigger
  a save before vault rebuild on window close
- Remove explicit Save button from MarkdownEditor (no longer needed)
- Simplify MarkdownEditor props (removed activeSection, onOpenDocument,
  onDeleteDocument since save is now handled by the parent)
- Todos already save instantly; fragments keep their form-based workflow

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-02-26 17:40:32 -06:00
Jacob Schmidt
c7933aeeec Lists & todos backend, editor refactor, inline create, UX improvements
- Wire up lists and todos to C# backend with full CRUD persistence
- Add models, DTOs, repositories, and services for lists and todo lists/items
- Preserve SQLite DB across vault rebuild/load cycles
- Add session store for vault password persistence across navigation
- Add inline name input for creating lists and todo lists in SidePanel
- Clear editor panel on section change with empty state placeholder
- Default markdown editor to preview mode on item selection
- Decompose EditorPanel into sub-components:
  - editor/FragmentEditor, editor/TodoEditor, editor/MarkdownEditor
  - Shared markdown utilities in utils/markdown.ts
- Strip verbose console/eprintln logging from frontend and Tauri backend
- Add graceful shutdown with vault persistence on window close

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-02-26 17:33:27 -06:00