Wire sidebar Backlog navigation into app shell #9
Labels
No labels
area:backend
area:cf-integration
area:flutter-ui
priority:blocking-v1
priority:v1-polish
type:docs
type:epic
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: eva/focus-flow#9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Part of #6.
apps/focus_flow_flutter/lib/widgets/sidebar.darthas a fully workingBacklogPanewidget, tested in isolation, but every_NavItem.onTap(including "Backlog") is a literal no-op.Scope
BacklogPaneOut of scope
Any other sidebar nav items beyond Today/Backlog (out of MVP boundary per AGENTS.md §8).
Acceptance criteria
Tapping "Backlog" in the sidebar shows the backlog pane; tapping back returns to Today.
Related
#6,
apps/focus_flow_flutter/lib/widgets/sidebar.dartImplemented.
PersistentSchedulerCompositionhad no way to create a backlog read controller at all — only the demo composition did — so this needed a small interface addition, not just UI wiring:createBacklogController()toSchedulerAppCompositionand implemented it inPersistentSchedulerComposition(the demo composition already had a matching method, just needed@override).SidebarScreenenum +onSelectToday/onSelectBacklogcallbacks toSidebar; it no longer hardcodesonTap: () {}._FocusFlowHomeStatenow owns abacklogControlleralongside the Today controller, switches the main content area betweenBacklogPaneand the Today timeline, and refreshes both reads after any command (so switching screens never shows stale data)._NavItem: the active-item key was hardcoded tonav-today-activeregardless of which item was active. Now it's derived from the label.Widget tests pass (
flutter test),flutter analyzeclean,dart formatclean.