Skip to content

feat(ui): UI modernization — sidebar/rows/build, dark-first design system, command center - #212

Open
schronck wants to merge 21 commits into
mainfrom
feat/ui/bitsafe-design
Open

feat(ui): UI modernization — sidebar/rows/build, dark-first design system, command center#212
schronck wants to merge 21 commits into
mainfrom
feat/ui/bitsafe-design

Conversation

@schronck

@schronck schronck commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #211 (base fix/ui/bugs) — review/merge after it. Developed against mock mode.

Summary

Applies the bitsafe-design system across the whole app — dark by default, faithful to the skill's tokens. Layouts are unchanged; this is a design-system pass, not a restructure.

Theme (the bulk)

  • Warm-neutral substrate #0F0E0D / #1E1A17 / #2A2420 (not flat gray).
  • #D63A0F action accent — the AA-safe tone, not the decorative #FF6633.
  • Space Grotesk + Roboto Mono on every number / address / ID; tracked-out mono eyebrow headers.
  • Card anatomy: 1px border, no rest shadow. 6px buttons (sentence-case), 4px chips, accent focus, linear hover (no scale transforms). Deep warm dialog/menu shadows.
  • Dark-first default (light still available via the toggle).

Component polish

  • Pulsing status dot for peers — connected (green) / unreachable (red) / handshake-failed (amber) / local (accent); only a live/connected peer pulses a soft halo (the system's one blessed motion), prefers-reduced-motion honored.
  • Login: dark gradient hero with the restrained node-cluster motif + mono eyebrow.
  • Fix: the selected sidebar nav item's count badge flips to white so it no longer blends into the accent fill.

Notes

  • Adds @fontsource/roboto-mono. Keeps the unified 48px rows + large-screen table inset.
  • Build green, lint unchanged (51 pre-existing), no console errors across all tabs/dialogs.

schronck added 8 commits June 22, 2026 15:16
MOCK=true npm run dev (npm run dev:mock) serves the backend REST endpoints from frontend/mocks/*.json, so the UI runs offline without a Canton node or Keycloak. Dev-only (apply: 'serve'), never bundled in production. party_id-aware: <endpoint>__<prefix>.json overrides per party.
Sidebar collapses to a 56px icon rail (state persisted). Build version + date always shown at the sidebar bottom — version injected from the crate version (build.rs APP_VERSION) with a Cargo.toml fallback for dev/mock — and the build-date/swagger click easter egg removed.
Every list row is a uniform 48px (theme MuiTableCell height) regardless of whether it carries a copy button/chip or just text, fixing the shorter Config-peers and DAR-compare rows. Normalized outlier per-cell paddings; collapsible audit-detail rows opt out via height:auto.
Leading/trailing table cells inset content via max(16px, calc((100vw - 1560px)/2)) so content centers to ~1300px on big monitors (180px each side at 1920px, 500px at 2560px), while row rules and zebra fills stay full-bleed (edge to edge).
Rebuilds the MUI theme to the bitsafe-design tokens: dark-default warm-neutral substrate (#0F0E0D/#1E1A17/#2A2420), #D63A0F action accent (the AA-safe tone, not the decorative #FF6633), Space Grotesk + Roboto Mono with mono on every number/address/ID and tracked-out mono eyebrows, card anatomy (1px border, no rest shadow), 6px buttons / 4px chips, accent focus + linear hover (no scale transforms), deep warm dialog/menu shadows. Layouts are unchanged — this is a design-system pass, not a restructure. Preserves the unified 48px rows + large-screen table inset.
Peer connection status renders as a colored dot — connected (green), unreachable (red), handshake-failed (amber), local node (accent). Only a live/connected peer pulses a soft halo (the design system's blessed motion); honors prefers-reduced-motion.
Dark gradient substrate, mono eyebrow, and the restrained node-cluster motif behind an accent Log in button.
A selected nav item has an accent background; its count badge now flips to secondary (white on dark) so it no longer blends into the accent fill (Pending approvals).
@socket-security

socket-security Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​fontsource/​roboto-mono@​5.2.9100100868690

View full report

schronck added 6 commits June 22, 2026 16:01
A color-coded network badge under the logo (mainnet green, testnet amber, devnet blue) from node-config — full pill when expanded, a dot with tooltip when collapsed.
Collapsed nav shows small dot badges instead of clipped number badges, and the theme switcher renders vertically in the collapsed rail (was hidden, leaving an empty bottom). Logout still renders when a session token is present.
Mock mode (`__MOCK__`, set by MOCK=true) stands up a fake, toggleable auth session so the full authenticated UI (logout) and the login screen are previewable offline. Dead-code-eliminated from production builds.
Moves the network badge to the footer above the build version (expanded only — not in the collapsed rail) and centers the network/build/theme-switcher/logout group.
Introduces a --content-pad token (24px base, grows on large monitors) used by tables, the party detail header/sections, config, packages, and the approvals feed — so non-table UI lines up with the table content instead of hugging the edge, while table rows stay full-bleed.
The 3-column default (non-check) package list was content-sized, bunching left with empty space on the right unlike the peer-compare matrix. Fixed-layout column widths now span the inset region so it reads as centered/full and aligns with the toolbar.
@schronck schronck changed the title feat(ui): BitSafe design-system modernization (dark-first) feat(ui): UI modernization (mock mode + dark-first design system + command center) Jun 22, 2026
@schronck
schronck changed the base branch from fix/ui/bugs to main June 22, 2026 15:00
@schronck schronck changed the title feat(ui): UI modernization (mock mode + dark-first design system + command center) feat(ui): UI modernization — sidebar/rows/build, dark-first design system, command center Jun 22, 2026
@schronck
schronck changed the base branch from main to feat/ui/mock-mode June 22, 2026 15:01
@schronck
schronck force-pushed the feat/ui/bitsafe-design branch from 1ce53d4 to f97cf41 Compare June 22, 2026 15:58
@schronck
schronck force-pushed the feat/ui/bitsafe-design branch from 39d78cb to 9a1ff9a Compare June 22, 2026 17:17
Base automatically changed from feat/ui/mock-mode to main June 23, 2026 12:54
@schronck schronck self-assigned this Jul 3, 2026
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