tui mega menu#185
Merged
Merged
Conversation
joshuawheelock
commented
Jul 4, 2026
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.