Commit graph

17 commits

Author SHA1 Message Date
Tristan Michael 95ba90d2c1 DateTimePicker: simplify onTap handler for close icon
Remove the redundant call to _done() in the close icon's onTap handler
and simplify the callback to a single-expression setState. The change
keeps behavior focused on hiding the time view (_showTime = false) and
avoids invoking _done() on close, which aligns with the intended UI flow
signaled by the task notification that the Flutter app relaunch
completed successfully.
2026-04-01 01:35:32 -07:00
Tristan Michael a13008bb71 Separate time toggle from foldout UI
Replace using a foldout state to indicate time presence with an explicit
time section and a simple "Set time" trigger. This makes the UI
semantics clearer (foldouts shouldn't represent function) and mirrors
the Tauri approach: show a compact "Set time" label when time is hidden,
expand inline time controls when shown, and provide a close icon to
dismiss and apply the time. Minor spacing adjustments were applied to
improve alignment.
2026-04-01 01:31:58 -07:00
Tristan Michael 6ccc167239 Settings: add WebDAV sync UI and syncing backend
Add WebDAV configuration, credential storage/testing, and sync controls
across Flutter UI and Rust API. This implements a stateful Settings
screen with fields to enter server URL, username, and password, plus
Test and Save actions; persist/load credentials and workspace WebDAV URL
via the Rust API; add sync mode selection, a Sync Now action, and a sync
status indicator in Tasks screen; thread has_time through date/time
pickers, new task creation, task detail updates, and task DTOs;
implement async Rust functions for testing connections, storing/loading
credentials, setting workspace WebDAV config, and triggering workspace
sync with a SyncResult mapped back to Flutter; add tokio runtime
dependency. These changes were needed to enable full WebDAV-based
synchronization and provide users controls and feedback for configuring
and running syncs from the Flutter app.
2026-04-01 01:29:08 -07:00
Tristan Michael 3ca49fe8f6 chore: gitignore Flutter generated plugin registrants
Remove auto-generated plugin registrant files from tracking and add
them to .gitignore. These are regenerated by flutter pub get.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:35:41 -07:00
Tristan Michael be65d0e714 feat(flutter): add move, rename, grouping, file watcher
Rust API: add move_task, rename_list, set/get_group_by_due_date,
watch_workspace_changes (stream-based via StreamSink) with notify
crate. Self-change suppression via mute_watcher().

Dart frontend: moveTask, renameList, setGroupByDueDate in AppState.
Move-to bottom sheet in TaskDetailView. Rename dialog and group-by-
due-date toggle in list context menu. File watcher stream subscription
on workspace load/switch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:28:17 -07:00
Tristan Michael aca444a274 rename Flutter app from bevy_tasks to onyx 2026-03-31 09:47:13 -07:00
Tristan Michael 8983a1b632 feat(flutter): add UI animations, fix resize overflow, polish menus
- Fix resize overflow by replacing AnimatedPositioned/AnimatedContainer
  with OverflowBox + AnimatedSlide (transform-based, no layout reflow)
- Add slide-up animation for new task toast using AnimationController
- Add fade+scale animation for settings screen overlay
- Add fade+scale animation for kebab menu in task detail view
- Convert workspace switcher from inline dropdown to floating popup
  menu with fade+scale animation and hover states
- Add hover highlights to workspace menu items and fix kebab menu
  hover highlights extending to edges
- Add drawer shadow casting onto main content when open
- Standardize all transition durations to 150ms
- Skip custom border/resize zones on Windows (native frame suffices)
2026-03-31 09:18:02 -07:00
Tristan Michael e1eba4cb83 feat(flutter): add Windows platform support
Add Windows runner files from flutter create, lower Dart SDK
constraint to ^3.11.1 for compatibility, and remove native
border/shadow on Windows since the OS provides it.
2026-03-31 09:17:50 -07:00
Tristan Michael 3b48f5fd86 feat(flutter): add widgets — title bar, task item, detail view, new task, date picker 2026-03-31 07:03:12 -07:00
Tristan Michael 0fc5066f97 feat(flutter): add screens — setup, tasks, settings 2026-03-31 07:03:07 -07:00
Tristan Michael b236892203 feat(flutter): add app shell, theme, and state management 2026-03-31 07:03:02 -07:00
Tristan Michael 85e616c256 feat(flutter): add Rust bridge backend and generated bindings 2026-03-31 07:02:58 -07:00
Tristan Michael 8bfbbd0444 feat(flutter): add project scaffold and Linux runner 2026-03-31 07:02:51 -07:00
Tristan Michael 9333ac7825 docs: update documentation, add LICENSE, fix outdated info
- Add GPL-3.0 LICENSE file
- Update README with current project status (all 3 phases), fix structure
- Update PLAN.md Phase 2 API signatures to match actual implementation
- Add WebDAV & Sync section to docs/API.md
- Update docs/DEVELOPMENT.md with Tauri app structure and setup
- Add metadata (description, license, repository) to all Cargo.toml files
- Update .gitignore with node_modules, .env, dist, build entries
- Remove stale Cargo.lock from .gitignore (apps should track it)
- Update example dates from 2025 to 2026 across all docs
- Update CLAUDE.md date to 2026-03-30
2026-03-30 16:24:46 -07:00
Tristan Michael f810cfa2a3 Commit to Tauri GUI: remove Flutter/egui, redesign task UI
- Remove Flutter app and egui placeholder crate, commit to Tauri as sole GUI
- Update PLAN.md to replace egui with Tauri across all phases (v4.0)
- Redesign task screen: sliding drawer for list picker, floating FAB for new tasks,
  bottom sheet toast for task creation with title + description fields
- Add description support to create_task Tauri command
- Lighten dark theme to GNOME-style neutral grays, shift primary to cyan-blue
- Fix Wayland compatibility (dev port change)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 09:49:30 -07:00
Tristan Michael 9b0efa8830 dunno 2026-03-28 06:28:14 -07:00
Tristan Michael ec17d6274f tauri and flutter guis 2026-03-17 09:38:53 -07:00