Skip to content

tui mega menu#185

Merged
joshuawheelock merged 5 commits into
mainfrom
tui-mega-menu
Jul 4, 2026
Merged

tui mega menu#185
joshuawheelock merged 5 commits into
mainfrom
tui-mega-menu

Conversation

@joshuawheelock

Copy link
Copy Markdown
Contributor
  • Reintroduce TUI MegaMenu
  • Remodel TUI Goals browser and align goal detail rendering
  • Fix TUI hotkey collisions between shell and Goals screen
  • Fix Goals screen authoring flow silently discarding submitted goals
  • Remodel TUI memory screens into a Goals-style browser

Rework the Goals screen into a single-goal browser: up/down moves
between goals in the active state filter, left/right pages through
every goal-show section. Related-entity sections mirror the
GoalShowOutputBuilder format with highlighted entity names above
descriptions, truncated at 200 chars and paginated at six per page.
Related decisions render labeled Context/Rationale fields in full at
two per page, and the CLI goal show output gains the same labeled
decision fields.

Also compact the daemon action-line badges so the wider KeyBadge
separator fits the panel width, and drop a decorative layout test
per the structural-tests invariant.
Rebind the footer notification drawer from 'n' to 'i' so 'n' on the
Goals screen opens only the goal authoring flow, and suppress the
drawer shortcut while the uninitialized-project init shortcut owns 'i'.

Screens can now report a local modal/form to the application shell via
an onModalOpenChange callback threaded App -> ScreenRouter ->
GoalsScreen; while the Goals authoring flow is open, all shell-level
hotkeys (quit, search, MegaMenu, notifications) are suppressed so typed
characters never trigger navigation. GoalsScreen also honors the
shortcutsEnabled flag ScreenRouter already passes to other screens.
Submitting the goal authoring flow opened with n/a on the Goals screen
closed the dialog without creating a goal. GoalsScreen now dispatches
the entered values to the add-goal controller (threaded App ->
ScreenRouter -> GoalsScreen) via ActionDispatcher and refreshes the
goals list on success; failed or controller-less submissions keep the
flow open with the error surfaced.

The AddGoalRequest assembly is extracted from App into a shared
AddGoalRequestFactory so the overlay and screen submission paths cannot
drift.
Decisions, Components, Dependencies, Invariants, and Guidelines now
share a MemoryEntityScreen browser: a header with the title and a
current/total position indicator, up/down arrows scrolling with
wraparound, and a detail pane rendering every attribute of the
focused entity in full. Drops the prototype side-by-side
EntityColumn/EntityDetailView layout, the placeholder Event Replay
panel, and its hotkeys.
@joshuawheelock joshuawheelock merged commit 71adfd6 into main Jul 4, 2026
4 checks passed
@joshuawheelock joshuawheelock deleted the tui-mega-menu branch July 4, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant