Merge main into claude/dreamy-brown-d12z7
Resolve conflicts against latest main: - PLAN.md: keep main's updated Settings/theme list (window decorations, Black and Gold) while adopting PR's "Move to..." inline phrasing. - README.md: keep main's theme list including Black and Gold. - docs/API.md: keep main's atomic move_task documentation. https://claude.ai/code/session_01NCtJ5PNhaDh21kYnDZXYsN
This commit is contained in:
commit
212e3d43d5
|
|
@ -80,7 +80,7 @@ Pre-alpha. No users, no released builds, no data to migrate. Breaking changes to
|
||||||
- Sliding lists drawer with checkmark selection
|
- Sliding lists drawer with checkmark selection
|
||||||
- Settings popup overlay
|
- Settings popup overlay
|
||||||
- Workspace switcher drop-up with add/remove
|
- Workspace switcher drop-up with add/remove
|
||||||
- Per-workspace theme system (System default, Light, Dark, Nord, Dracula, Solarized Dark, Ink) via CSS `data-theme` attribute
|
- Per-workspace theme system (System default, Light, Dark, Nord, Dracula, Solarized Dark, Black and Gold, Ink) via CSS `data-theme` attribute
|
||||||
- Completed tasks section with animated show/hide
|
- Completed tasks section with animated show/hide
|
||||||
- Date picker/editor (DateTimePicker in new task + task detail); `has_time: bool` field tracks whether time is set
|
- Date picker/editor (DateTimePicker in new task + task detail); `has_time: bool` field tracks whether time is set
|
||||||
- Move task between lists (inline list in kebab menu, no submenu)
|
- Move task between lists (inline list in kebab menu, no submenu)
|
||||||
|
|
@ -108,6 +108,7 @@ Pre-alpha. No users, no released builds, no data to migrate. Breaking changes to
|
||||||
- Custom confirmation dialogs (ConfirmDialog component replaces native confirm())
|
- Custom confirmation dialogs (ConfirmDialog component replaces native confirm())
|
||||||
- Workspace path validation (rejects system directories)
|
- Workspace path validation (rejects system directories)
|
||||||
- Task detail auto-cleanup (taskStack clears when viewed task is deleted or list switches)
|
- Task detail auto-cleanup (taskStack clears when viewed task is deleted or list switches)
|
||||||
|
- Swipe gestures on mobile: swipe left/right on a task to toggle completion (swipe direction depends on current status)
|
||||||
- Accessibility: ARIA labels/roles on interactive components, keyboard handlers, `prefers-reduced-motion` CSS support
|
- Accessibility: ARIA labels/roles on interactive components, keyboard handlers, `prefers-reduced-motion` CSS support
|
||||||
|
|
||||||
### GUI features NOT yet done
|
### GUI features NOT yet done
|
||||||
|
|
|
||||||
7
PLAN.md
7
PLAN.md
|
|
@ -753,8 +753,8 @@ WorkspaceConfig {
|
||||||
- [x] Mark tasks complete/incomplete with animated transitions
|
- [x] Mark tasks complete/incomplete with animated transitions
|
||||||
- [x] Drag-and-drop task reordering
|
- [x] Drag-and-drop task reordering
|
||||||
- [x] Sliding lists drawer (80cqi wide, left side)
|
- [x] Sliding lists drawer (80cqi wide, left side)
|
||||||
- [x] Settings popup overlay (WebDAV config, theme selector)
|
- [x] Settings popup overlay (WebDAV config, theme selector, window decorations)
|
||||||
- [x] Per-workspace theme system (System default, Light, Dark, Nord, Dracula, Solarized Dark, Ink)
|
- [x] Per-workspace theme system (System default, Light, Dark, Nord, Dracula, Solarized Dark, Black and Gold, Ink)
|
||||||
- [x] Animated completed section show/hide
|
- [x] Animated completed section show/hide
|
||||||
- [x] Move task between lists (kebab menu → "Move to..." inline list in task detail view, not a submenu)
|
- [x] Move task between lists (kebab menu → "Move to..." inline list in task detail view, not a submenu)
|
||||||
- [x] Optional time on due dates (`has_time: bool` field on Task with `#[serde(default)]` for backward compat; replaces the hours==0 heuristic)
|
- [x] Optional time on due dates (`has_time: bool` field on Task with `#[serde(default)]` for backward compat; replaces the hours==0 heuristic)
|
||||||
|
|
@ -911,7 +911,8 @@ npm run tauri ios build
|
||||||
- [ ] Multiple windows (optional)
|
- [ ] Multiple windows (optional)
|
||||||
|
|
||||||
#### Mobile-Specific
|
#### Mobile-Specific
|
||||||
- [x] Swipe gestures (swipe to complete, swipe to delete)
|
- [x] Swipe gestures (swipe to toggle completion; direction depends on current task status)
|
||||||
|
- [ ] Swipe to delete
|
||||||
- [ ] Pull-to-refresh
|
- [ ] Pull-to-refresh
|
||||||
- [ ] Touch-optimized UI elements
|
- [ ] Touch-optimized UI elements
|
||||||
- [ ] Larger touch targets
|
- [ ] Larger touch targets
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ onyx/
|
||||||
- Drag-and-drop reordering
|
- Drag-and-drop reordering
|
||||||
- Sliding lists drawer, settings popup
|
- Sliding lists drawer, settings popup
|
||||||
- Workspace switcher with add/remove
|
- Workspace switcher with add/remove
|
||||||
- Per-workspace theme system (System default, Light, Dark, Nord, Dracula, Solarized Dark, Ink)
|
- Per-workspace theme system (System default, Light, Dark, Nord, Dracula, Solarized Dark, Black and Gold, Ink)
|
||||||
- Due date picker/editor with optional time
|
- Due date picker/editor with optional time
|
||||||
- Subtask hierarchy with three-panel slide navigation
|
- Subtask hierarchy with three-panel slide navigation
|
||||||
- Move tasks between lists
|
- Move tasks between lists
|
||||||
|
|
@ -64,6 +64,7 @@ onyx/
|
||||||
- WebDAV setup flow with credential auto-population
|
- WebDAV setup flow with credential auto-population
|
||||||
- File watcher (auto-reloads on external changes)
|
- File watcher (auto-reloads on external changes)
|
||||||
- Auto-sync with configurable interval, status indicators
|
- Auto-sync with configurable interval, status indicators
|
||||||
|
- Swipe gestures on mobile (swipe to toggle completion)
|
||||||
- Custom confirmation dialogs
|
- Custom confirmation dialogs
|
||||||
- Desktop packaging (Linux: AppImage + .deb; Windows: MSI)
|
- Desktop packaging (Linux: AppImage + .deb; Windows: MSI)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -216,6 +216,8 @@ repo.rename_list(list_id, "New Name".to_string())?;
|
||||||
#### Move Task Between Lists
|
#### Move Task Between Lists
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
|
// Atomically moves a task from one list to another.
|
||||||
|
// If the delete-from-source step fails, the copy in the destination is rolled back.
|
||||||
repo.move_task(from_list_id, to_list_id, task_id)?;
|
repo.move_task(from_list_id, to_list_id, task_id)?;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue