Merge branch 'claude/dreamy-brown-d12z7' into claude/resolve-pr-49-conflicts-rdSPL

Resolve conflicts from PR #49 with latest main:
- PLAN.md: keep HEAD's updated Settings/theme list (adds window decorations, Black and Gold) while adopting PR's "Move to..." inline phrasing
- README.md: keep HEAD's richer theme list including Black and Gold
- docs/API.md: keep HEAD's atomic move_task documentation (PR addition was already present)

https://claude.ai/code/session_01NCtJ5PNhaDh21kYnDZXYsN
This commit is contained in:
Claude 2026-04-17 14:32:59 +00:00
commit 59efb42100
No known key found for this signature in database
3 changed files with 7 additions and 2 deletions

View file

@ -224,6 +224,8 @@ impl TaskRepository {
pub fn get_lists(&self) -> Result<Vec<TaskList>>;
pub fn get_list(&self, list_id: Uuid) -> Result<TaskList>;
pub fn delete_list(&mut self, id: Uuid) -> Result<()>;
pub fn rename_list(&mut self, list_id: Uuid, new_name: String) -> Result<()>;
pub fn move_task(&mut self, from_list_id: Uuid, to_list_id: Uuid, task_id: Uuid) -> Result<()>;
// Task ordering (modifies .listdata.json)
pub fn reorder_task(&mut self, list_id: Uuid, task_id: Uuid, new_position: usize) -> Result<()>;
@ -754,7 +756,7 @@ WorkspaceConfig {
- [x] Settings popup overlay (WebDAV config, theme selector, window decorations)
- [x] Per-workspace theme system (System default, Light, Dark, Nord, Dracula, Solarized Dark, Black and Gold, Ink)
- [x] Animated completed section show/hide
- [x] Move task between lists (inline list in task kebab menu, no 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] Due date picker/editor (DateTimePicker component in both new task toast + task detail view)
- [x] WebDAV setup flow with credentials (settings auto-populates URL/username/password from config + keychain on open)

View file

@ -29,7 +29,7 @@ onyx/
- **Phase 1** (Core + CLI): Complete
- **Phase 2** (WebDAV Sync): Complete — backend, CLI, and GUI all wired
- **Phase 3** (GUI MVP): Complete
- **Phase 4** (Mobile): Tauri Android cfg-gated, needs `tauri android init` + build
- **Phase 4** (Mobile): In progress — Android preliminaries done (file-watcher gating, tauri-plugin-credentials, safe area insets, Android targets configured); needs build verification and iOS setup
### Core Library (`onyx-core`)
- Data models (Task, TaskList, AppConfig, WorkspaceConfig)
@ -170,6 +170,8 @@ id: 550e8400-e29b-41d4-a716-446655440000
status: backlog
version: 3
date: 2026-11-15T14:00:00Z
has_time: true
parent: 550e8400-e29b-41d4-a716-446655440001
---
Task description and notes go here in **markdown** format.

View file

@ -76,6 +76,7 @@ onyx/
│ │ ├── screens/ # Full-page views
│ │ ├── components/ # Reusable UI components
│ │ ├── stores/ # Svelte state (app.svelte.ts)
│ │ ├── dateFormat.ts # Date formatting utilities
│ │ └── types.ts # TypeScript type definitions
│ ├── tauri-plugin-credentials/ # Cross-platform credential storage plugin
│ │ ├── Cargo.toml