Commit graph

13 commits

Author SHA1 Message Date
383130ebdb chore: merge upstream Backlog Board feature from Ashley's instance
Merges 20 commits from Ashley's smolblocks.com instance (main branch),
bringing in the full Backlog Board screen (BacklogBoardController, board
columns/cards, task detail drawer, summary panel, search/filter/sort/group,
Break Up and Someday actions) plus the unified FocusFlowSection navigation
model.

Reconciled with our own in-flight work:
- Replaced our placeholder BacklogPane/createBacklogController wiring with
  Ashley's real BacklogBoardScreen/BacklogBoardController (same problem,
  more complete implementation - avoids two competing Backlog UIs).
- Adopted the FocusFlowSection-based Sidebar API in place of our bespoke
  SidebarScreen enum; the Settings nav item now intercepts
  FocusFlowSection.settings in _selectSection to open our Settings dialog
  instead of falling through to a placeholder screen.
- Gave every sidebar nav item a stable key (not just the active one) so the
  Settings dialog tests can still target it reliably.
- Kept our additive owner-settings read controller, Settings dialog, and
  timeline Break-up wiring; renamed the Today controller field to
  todayController throughout to match upstream's now-multi-controller
  naming.
- Fixed a test-only regression: backlog_board_screen_test.dart's standalone
  SchedulerCommandController construction needed the new `management` param.
- Added .gitleaks.toml allowlisting the local, gitignored
  .claude/settings.local.json path (recorded bash command patterns, not
  repo secrets) that was blocking commits.

Verified via focusflow-flutter-ci:3.44.4 (Flutter 3.44.4/Dart 3.12.2):
flutter analyze clean, dart format clean, 106/106 Flutter tests passing,
348/348 scheduler_core + scheduler_persistence_sqlite tests passing.

Closes: #9
2026-07-10 22:46:09 -07:00
bfba203d1e test(backlog): complete board validation handoff 2026-07-07 15:00:26 -07:00
c730c33569 feat(ui): wire timeline card Break up quick action
Extracts the break-up dialog into a shared widgets/dialogs library so
the task modal and timeline card quick actions reuse the same flow
instead of duplicating it, then wires a Break up icon through
TimelineView/TaskTimelineCard to the existing breakUpTask command path.

Closes: eva/focus-flow#14
2026-07-07 13:45:04 -07:00
c357b7d97d feat(ui): wire sidebar Backlog nav and modal Move-to-Backlog/Break-up actions
Backend was already V1-complete for these paths (moveFlexibleToBacklog,
breakUpTask); this closes the UI-wiring gap identified in the V1
feature-complete audit.

- Add createBacklogController() to SchedulerAppComposition and implement it
  in PersistentSchedulerComposition (only the demo composition had one).
- Sidebar now switches the main content area between Today and Backlog via
  a real SidebarScreen enum instead of hardcoded onTap: () {} stubs.
- Task modal's "Backlog" quick-action reuses the existing onPushToBacklog
  wiring (same backend command as the Push menu's "Push to backlog").
- Add a break-up dialog (row-level title/priority/reward/duration per
  MVP-AC-11) and SchedulerCommandController.breakUpTask(), wired to the
  modal's "Break up" button.
- Fix a latent bug where the active sidebar nav item's key was hardcoded
  to nav-today-active regardless of which item was active.

Closes: #9
Closes: #12
Closes: #13
2026-07-06 01:46:59 -07:00
fd4fdd13d2 feat(scheduler): support timezone-aware commands and task removal 2026-07-04 22:16:02 -07:00
9a7f8933c7 feat: expand runtime logger levels 2026-07-02 18:38:41 -07:00
d8f3368c3d feat: add optional runtime file logging config 2026-07-02 18:08:36 -07:00
0c1731003f feat: add timeline task context menu 2026-07-01 20:22:06 -07:00
ce8ebe1c1e feat: complete sqlite runtime persistence plan 2026-07-01 19:40:56 -07:00
ec19dd498d docs: expand dartdocs and add compliance hooks 2026-07-01 13:36:12 -07:00
b0d73f7489 feat(ui): complete compact today plan 2026-06-29 20:20:24 -07:00
b4357ae6b5 feat(ui): complete plan 1 scope guardrails 2026-06-29 19:59:39 -07:00
a799dea62e feat: add flutter ui foundation 2026-06-27 18:41:36 -07:00