Skip to content

Console polish: reference layout, one card style, daisyUI throughout - #46

Merged
ryuzdev merged 3 commits into
mainfrom
console-polish
Oct 25, 2026
Merged

ryuzdev merged 3 commits into
mainfrom
console-polish

Conversation

@ryuzdev

@ryuzdev ryuzdev commented Oct 25, 2026

Copy link
Copy Markdown
Member

Owner feedback on the console (8 points) against the reference design (console-reference-2.jpg).

  1. App picker overflow: rail status dots were indicator-items translated half outside each tile; now daisyUI status inside indicator-item, inset within the tile; the rail list is overflow-x: hidden.
  2. One card style: card card-border bg-base-100 everywhere; --depth: 0 in both themes; every shadow-* removed (floating menus keep a hairline border).
  3. Account section removed from the app sidebar; Invite codes / Admin live in the account dropdown only.
  4. Reference look: gray canvas, transparent rail flush left, white sidebar + main panels (1.5rem radius, hairline, 8px gaps, full viewport height, internal scroll), sidebar header (name, host, status badge, collapse), uppercase section titles, soft-gray active row, neutral count circle, separate KPI cards with icon + label, chart directly on the panel with a status-dot legend, pill range picker.
  5. daisyUI: status, indicator, avatar, menu/menu-title, card, stat, list/list-row, table, join, tabs-box, btn, drawer, dropdown, tooltip, skeleton, alert, collapse, badge, kbd, divider, loading. Removed tints, the stats strip and custom rows. console.css stays ~470 lines: theme blocks, the 3-pane shell, chart/log styles and a few daisyUI overrides (soft-gray active row, drawer height/z-index).
  6. Collapsed sidebar: the expand button sits at the far left of the main header; the state persists in localStorage.
  7. Rail: transparent, no border/background, flush with the screen edge.
  8. Details: shared empty state; Retry on every fetch error; copy buttons swap to a check + "Copied"; icon buttons have aria-label + tooltip; skeletons match the layout; phones use a drawer from a hamburger at the left; dark theme matches.

Follow-up commit: the sidebar ran past the viewport bottom (daisyUI's open drawer-side is 100vh inside an 8px-inset shell), section titles uppercase, one status mark in the sidebar header.

Live (outer:bde9436): Overview at 1440/1024/390, collapsed, Agent actions, dark — rail, sidebar and main all span 8 px to viewport−8 px, no horizontal document scroll, zero console errors. 458 tests, build + validate green.

CodeRabbit is out of free reviews; merging on green CI plus the live check.

Feedback 1 (rail overflow): status dots are now the status component
inside indicator-item, pinned INSIDE the 44px tile bounds via .rail-dot
(--indicator-x/y 0, 6px insets) instead of hanging off the corner; the
app list scrolls vertically with overflow-x hidden and side padding.

Feedback 2 (unified cards): one card style everywhere (card card-border
bg-base-100, radius-box hairline, no shadow). --depth: 0 kills daisyUI's
built-in shadows; removed every shadow-* class.

Feedback 3 (Account section): removed from the app sidebar; Invite codes
and Admin stay in the account dropdown only.

Feedback 4 (reference gap): light-gray canvas with 8px gaps; white
sidebar + main panels (radius 1.5rem, hairline, internal scroll, page
never scrolls); rail transparent and flush left (8px 8px 8px 0 inset,
0 left margin); sidebar header (semibold name, muted URL, status
badge-soft + status dot, collapse top-right); soft-gray menu-active;
neutral-count + soft-Soon badges.

Feedback 5 (daisyUI for real): status/indicator/avatar/menu/card/stats/
stat/list/list-row/table/join/tabs-box/btn/drawer/dropdown/tooltip/
skeleton/alert/collapse/badge/kbd/divider/loading all daisyUI; deleted
the tints, the stats strip, custom rows. console.css 454 -> 469 lines;
what stays custom: theme blocks, shell grid, rail-tile frame + dot
inset, charts, log viewer, skip link, boot/empty shells, with reasons
in the file header.

Feedback 6 (expand left): PanelLeftOpen button at the far left of the
main header when collapsed; state persists in localStorage.

Feedback 7 (flush rail): no card background, no border, flush left.

Feedback 8 (usability): shared EmptyState (icon/title/action, plain
variant inside cards); Retry on every error alert; copy buttons swap
to check + Copied tooltip; stat values medium weight; legend uses
status dots; hamburger opens a drawer on phones; dark theme matches.

Verified: Playwright vs real router + seeded absurd data, screenshots
in /tmp/outer-console-v4-*.png, no doc h-scroll, no box outside its
panel, zero CSP/console errors. cargo fmt/clippy/test green.
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ryuzdev
ryuzdev merged commit 47d65da into main Oct 25, 2026
3 checks passed
@ryuzdev
ryuzdev deleted the console-polish branch October 25, 2026 11:04
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