Skip to content

Dashboard UI Patterns

Quorvex dashboard overview showing shared UI patterns

Quorvex dashboard overview showing shared UI patterns.

Reference for shared dashboard components and styling primitives.

Layout Components

Component Source Use for
PageLayout web/src/components/ui/page-layout.tsx Standard page spacing, width, and optional header region
PageHeader web/src/components/ui/page-header.tsx Page title, description, and primary actions
Sidebar web/src/components/Sidebar.tsx Primary dashboard navigation
CommandPalette web/src/components/command-palette/CommandPalette.tsx Keyboard navigation and quick actions

Loading States

Component Source Use for
ListPageSkeleton web/src/components/ui/page-skeleton.tsx List and table-heavy pages
GridPageSkeleton web/src/components/ui/page-skeleton.tsx Card grid pages
FormPageSkeleton web/src/components/ui/page-skeleton.tsx Settings and form pages
DashboardPageSkeleton web/src/components/ui/page-skeleton.tsx Metric-card dashboard pages
Skeleton web/src/components/ui/skeleton.tsx Small local placeholders

Empty and Error States

Component Source Use for
EmptyState web/src/components/ui/empty-state.tsx No data, no search results, or first-use states
Alert web/src/components/ui/alert.tsx Inline warnings and errors
ConfirmDialog web/src/components/ui/confirm-dialog.tsx Destructive or irreversible actions

Status Presentation

Component or helper Source Use for
StatusBadge web/src/components/shared/StatusBadge.tsx Run, job, workflow, and task status labels
SeverityBadge web/src/components/shared/SeverityBadge.tsx Security or quality severity labels
severityColor() web/src/lib/colors.ts Inline severity color decisions
statusColor() web/src/lib/colors.ts Inline status color decisions
getResponseTimeColor() web/src/lib/colors.ts API and load-test response time coloring
getErrorRateColor() web/src/lib/colors.ts Load-test and API error-rate coloring

Form and Control Primitives

Component Source
Button web/src/components/ui/button.tsx
Input web/src/components/ui/input.tsx
Label web/src/components/ui/label.tsx
Select web/src/components/ui/select.tsx
Switch web/src/components/ui/switch.tsx
Tabs web/src/components/ui/tabs.tsx
Dialog web/src/components/ui/dialog.tsx
DropdownMenu web/src/components/ui/dropdown-menu.tsx
Table web/src/components/ui/table.tsx

Legacy Style Helpers

web/src/lib/styles.ts exports inline style objects such as cardStyle, btnPrimary, btnSecondary, inputStyle, thStyle, and tdStyle.

Use these only when working in pages that already use inline style helpers. New or heavily updated dashboard surfaces should prefer shared UI components and Tailwind-compatible class composition.

Surface Source Update when
Sidebar web/src/components/Sidebar.tsx A page belongs in primary navigation for repeated use
Command palette web/src/components/command-palette/command-data.ts A page or action should be discoverable by keyboard search
Dashboard reference docs/reference/web-dashboard.md A public page, status label, or dashboard concept changes

Some valid routes are intentionally command-palette-only, floating-assistant-only, or direct-link admin pages. Document that discoverability level in Web Dashboard when adding or changing a route.