Crucible

Switchboard

A dark, dense SaaS dashboard shell: collapsible icon-rail sidebar, topbar with search, notifications, and user chip, spotlight stat cards with odometer count-ups, a pure-CSS bar-chart panel with sliding range tabs, a recent-activity feed, and a services table — every region rebrandable through props.

motionpro

Installation

CLI

npx shadcn@latest add @crucible/switchboard

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
brandstring"Relay"Brand name in the sidebar wordmark.
logoReact.ReactNodethe Relay relay-switch monogramLogo mark (24×24, ideally currentColor).
accentstring"#67e8f9"Signature accent color (active nav, badges, chart bars, live dot).
navItemsSwitchboardNavItem[]the six Relay itemsSidebar nav items.
statsSwitchboardStat[]the four Relay statsStat cards (animated count-ups).
chartTitlestring"Event volume"Chart panel title.
chartSubtitlestringChart panel subtitle.
chartRangesSwitchboardChartRange[]Relay 24h/7d/30dChart range tabs + their bar data.
activitySwitchboardActivityItem[]the six Relay entriesRecent-activity feed entries.
servicesSwitchboardServiceRow[]the five Relay servicesServices table rows.
userSwitchboardUserImani OkaforTopbar user chip.
notificationCountnumber3Unread count on the notifications bell.
pageTitlestring"Overview"Main heading.
statusTextstring"Live — all regions reporting"Live-status line next to the heading.
searchPlaceholderstring"Search incidents, services, runbooks…"Search input placeholder.
defaultCollapsedbooleanfalseStart with the sidebar collapsed to icon rail.
Also accepts all props of Omit<React.ComponentPropsWithoutRef<"div">, "children">they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.