feat(tui): redesign dashboard to match design spec - #2
Draft
mdipanjan wants to merge 9 commits into
Draft
Conversation
Rework the home/dashboard screen to match DESIGN.md and the reference mockup: - Faux window title bar (traffic lights + caption) - Filled HIVE wordmark in accent blue; drop box-drawing logo + honeycomb - Labeled status legend (attached/detached/idle/done/dead) + divider + count - SESSIONS rows: status glyph + name, right-aligned label, selection fill + left accent bar on the focused row - DETAILS: lowercase labels, right-aligned values, compact relative times, middle-truncated path - Inline cpu + mem sparklines with load-colored values (green/yellow/red) - Footer hint bar with current theme name Foundations: - Add Red token to all 12 themes + ColorRed - Unify status vocabulary helpers (label/color/glyph) - Add memory sampling (GetMemPercent + memUsageHistory tick) - GetThemeByKey syncs CurrentThemeIndex so footer theme name is correct
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Wrap modal screens in the shared window frame (title bar + centered body + footer) via renderChrome, matching the dashboard - New-session dialog: lowercase labels, ○/● radio (selected tinted), wider fields, aligned button row - RenderTextInput: highlight only the value + block cursor (not full width), start-truncate long values over a hairline underline - RenderButtons: left-aligned, focused button gets selection fill + accent border; add Destructive() option (red) for the delete dialog - Add RenderHints footer style (accent key + muted label, no colon)
- Replace the bundled bubbles filepicker with a custom dirPicker (full control over layout/keys/state) - Two-column directory chooser: dirs first then files, dirs in fg, files muted, highlighted entry prefixed › and tinted green - Hairline divider + dir/file legend; wrapped in the shared window chrome - Keys: ↑↓/jk navigate, →/l open, ←/h/backspace up, enter select dir, esc cancel - Drops go-humanize dependency (details now uses a compact relative-time helper)
- Wrap in the shared window chrome (title bar + footer) - Safe default focus on No; Yes takes a red destructive fill when selected - Add an explicit warning when deleting an attached session - Footer hints in the no-colon style (←→ select, ⏎ confirm, y yes, n/esc cancel)
- Search and switch popups now render inside the shared window chrome (title bar + footer) via renderChrome - Single ❯ prompt marker (remove the doubled '› >') - Selected result keeps its real status glyph; highlight the name in accent instead of forcing a cyan ● (consistent status vocabulary everywhere) - Footer hints in the no-colon style
- Group keybindings by category (navigation / actions / global) for scannability - Render inside the shared window chrome (title bar + footer) - Footer hints in the no-colon style (? close, esc close)
- Uppercase group headers (NAVIGATION/ACTIONS/GLOBAL), no extra indent - Navigation group limited to move up/down - Restore divider + 'hive vX · press ? or esc to close' line
ColorDim is reserved for fills/selection backgrounds. On themes where Dim is nearly identical to the background (e.g. Solarized Dark), text rendered with it was invisible (title-bar caption, subtitle, legend labels, cpu/mem labels, session/detail secondary text). Point the Dim text style at ColorGray, which is the readable muted role on every theme.
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.
Summary
Reworks the home/dashboard screen to match
DESIGN.mdand the reference mockup.Dashboard changes
hive · session manager)3h ago,now), middle-truncated pathFoundations
Redtoken to all 12 themes +ColorRedGetStatusLabel/GetStatusColor/GetStatusGlyph)GetMemPercent+memUsageHistorytick)GetThemeByKeysyncsCurrentThemeIndexso the footer theme name is correctVerification
Follow-ups (not in this PR)
Other screens (search, switch, new-session, file picker, delete, help) still need the same polish pass.