#6812: fix(ui): make topbar height flexible to avoid header/title overlap
app: web-ui
Cluster:
Hooks and UI Fixes
### Summary
Fixes an issue where the Channels page title/header could be partially hidden/overlapped under
the topbar, especially on smaller-height viewports.
### Root cause
The shell layout used a fixed topbar row height + fixed topbar height, which could force the
content area to compress and visually overlap/clamp the content header.
### Changes
- Make the shell’s topbar row height flexible (grid-template-rows: auto 1fr).
- Use min-height for .topbar instead of a hard height so it can grow when needed.
- Prevent .content-header from shrinking (flex-shrink: 0).
- Add small-height viewport adjustments (@media (max-height: 720px)) to keep header spacing and
typography readable.
### Screenshots (Before / After)
| Before (issue) | After (fix) |
|---|---|
|  |  |
**Repro environment:** macOS, Chrome 144, viewport ~1480×950 (or smaller-height windows).
### Testing
- npm run ui:dev
- Verify /channels header/title is fully visible (incl. small-height window).
- Quick sanity on /instances and other tabs (no regressions for all flows).
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR adjusts the UI shell layout to prevent page headers/titles from being overlapped by the topbar on short viewports. It makes the shell’s topbar grid row flexible (`grid-template-rows: auto 1fr`), allows the topbar to grow via `min-height` instead of a fixed height, prevents the `.content-header` flex item from shrinking, and adds a `@media (max-height: 720px)` block to reduce content padding and title/subtitle sizing on short screens.
These changes live in `ui/src/styles/layout.css` and affect the shared shell/topbar/content layout used across pages (e.g., Channels, Instances), so they should improve overall layout robustness on small-height windows without requiring component-level changes.
<h3>Confidence Score: 5/5</h3>
- This PR is safe to merge with minimal risk.
- The change is limited to CSS layout adjustments in a single stylesheet, uses standard grid/flex properties, and is targeted at fixing header overlap on short viewports. No functional logic changes or risky side effects were found in the diff.
- No files require special attention
<!-- greptile_other_comments_section -->
<sub>(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!</sub>
<!-- /greptile_comment -->
Most Similar PRs
#8342: Fix debug interface CSS layout issues
by Klopib · 2026-02-03
78.9%
#20064: UI: fix form overlapping subtitle in config screen
by powerdot · 2026-02-18
78.8%
#9432: fix(ui): improve Firefox/Gecko compatibility for chat layout
by dbottme · 2026-02-05
78.1%
#21940: style(layout): change content display to flex
by homfarnam · 2026-02-20
77.9%
#15215: fix(UI): Prevent config layout panel from overlapping description text
by Chityalaakhil · 2026-02-13
77.2%
#12175: ui: fix sessions table collapse on narrow widths
by benjipeng · 2026-02-08
75.5%
#6521: fix: addressed style issue for chat compose and thread on mobile
by spencer-rafada · 2026-02-01
75.5%
#11663: fix: prevent config page header overlap with settings form
by shogunsea · 2026-02-08
75.4%
#14201: UI: fix exec approval dialog scrolling with long commands
by jhs129 · 2026-02-11
75.1%
#13838: UI: fix config panel CI failures and modularize rendering
by fresed05 · 2026-02-11
74.7%