12 Commits

Author SHA1 Message Date
Alexander 41d18d88aa Add right-click context menu with status, archive, and delete actions
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-08-28 19:47:46 +02:00
Alexander edd5deaf5a Honor reload abort in backup restore 2026-08-28 16:09:51 +02:00
Alexander f2b6ac3a49 Flush pending saves before reloading projects
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-08-28 15:55:51 +02:00
Alexander f0f031cd4a Add multi-project docs and rebuild webapp bundle 2026-08-28 15:33:45 +02:00
Ilia Sharin 2bcedda2c2 Add cold archive feature for done/cancelled items
- Separate archive.md file for archived items (append-only)
- Archive manager in Admin page with filters and search
- Global search shows archive results with count in header
- Restore items to original location via restore-path metadata
- Read-only view dialog for archived items (double-click to open)
- Python API endpoints: GET/POST /api/archive, POST /api/archive/restore
- Support in all storage backends (API, Direct, Browser)
2026-08-20 13:54:06 -04:00
Ilia Sharin 95a628249d Fix body field mismatch when switching between items in edit dialog
The RichTextEditor was not updating its content when switching from one
item to another because initializedRef was only reset when value became
null. Now uses prevValueRef to properly detect value changes.
2026-08-20 13:01:55 -04:00
Ilia Sharin f9ae92f605 Fix rich text editor cursor jumping and add auto-list conversion
- Fix cursor jumping to start when typing in editor by tracking editing state
- Only sync innerHTML from value on initial load, not during active editing
- Add auto-conversion: typing "- " or "* " at line start creates bullet list
- Add auto-conversion: typing "1. " at line start creates numbered list
2026-08-20 11:53:53 -04:00
Ilia Sharin 290905e3d9 Add optional rich text body field to items
- Add body field to data model (stored as markdown in file)
- Parser recognizes `> ` prefixed lines as body content
- Serializer outputs body as indented blockquote lines
- Add lightweight WYSIWYG editor (contenteditable, no external deps)
- Toolbar: bold, italic, link, H1/H2/H3, lists, code block, table, image
- Clipboard export: HTML (for Docs/Word), Markdown, plain text
- Editor shows collapsed when empty, expands on click
- Include body in text search filter
- Dark mode support for editor styles
- Update README with feature and file format example
2026-08-20 10:10:37 -04:00
Ilia Sharin 37563ffe6e Add dark mode with system/light/dark theme selector in Appearance 2026-05-07 17:13:31 -04:00
Alexander Derevianko c2e9eaaa7b Add browser storage fallback for Firefox/Safari (#1)
IndexedDB-based storage backend with Storage Persistence API for browsers
without File System Access API support. Requests persistent storage on
first save to protect data from automatic eviction. Includes backup
rotation (last 10 saves) and appropriate UI banner.
2026-05-07 10:19:20 -04:00
Ilia Sharin 7e9231f0e6 Add icon set selector to admin page with persistent localStorage storage
- Appearance card in admin grid shows all 4 icon styles (color, flat, emoji, ascii)
  with live previews of all 6 statuses and a description for each
- Selected style persists across reloads via localStorage (LS_KEY alongside expandedMap)
- Stats overview card moved before Appearance card in admin grid
- Screenshot images added to README with titles before each image
2026-05-06 10:56:03 -04:00
Ilia Sharin a2a3b7b72b Initial version 2026-05-05 18:42:06 -04:00