feat(terminal): collapsible top navigation in fullscreen mode #82
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_router!82
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development_terminal_fullscreen_collapsible_nav"
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?
Summary
Replace the broken
display: none !importanton the navbar and tabs in the Terminal page's fullscreen mode with an overlay-based show/hide scheme. The five top-level nav links (Home, Router, Terminal, Admin, Docs) — plus the API Docs and MCP tabs added ondevelopment— stay structurally intact in every mode. They are translated off-screen by default in fullscreen so the terminal owns the viewport, and revealed on demand without leaving fullscreen and without triggering an xterm.js refit.Related Issue
Closes #71
Changes
crates/hero_router/templates/terminal.htmlbody.term-fullscreen nav.navbar, body.term-fullscreen .nav-tabs { display: none !important; }position: fixed; transform: translateY(-100%); transition; z-index: 9500keyed off a newterm-nav-revealedbody class, with the tabs container targeted via the adjacent-sibling selector to avoid touchingpartials/tabs.htmlorbase.html.#termNavToggletoolbar button (visible only in fullscreen) next to#termFullscreen.Ctrl+Shift+N.crates/hero_router/static/js/terminal.jsrevealNav()/hideNav()/toggleNav()helpers; do not callfitAllPanes()so toggling never causes flicker (the overlay never changes the terminal box geometry).enterFullscreen()/exitFullscreen()now manage#termNavTogglevisibility and apply / clear the persisted reveal preference.hero_router.term.fullscreen(state) andhero_router.term.fullscreen.navRevealed(preference). Fullscreen state is persisted in addition to the URL hash so it survives navigating to a sibling tab (Home / Router / Admin / Docs / API / MCP) and back.Ctrl+Shift+Nkeybinding (gated onisFullscreenso it is a no-op outside fullscreen).No changes to
base.html,partials/tabs.html,partials/sidebar.html, or any Rust handler. Total diff: +80 / -3 across the two files.Test Results
cargo build -p hero_router)herolib_routerlib + 5 inlog_bridge)Acceptance Criteria
#termNavToggleandCtrl+Shift+N)display: none)