Tollerud UI / Screen patterns / ResourceList
Patterns

Screen patterns

Component-level API reference with live demos for each screen pattern export. For copy-paste full-page files, see Recipes โ€” snippets only, no duplicate demos here.

Branded monogram lockup with nav links and actions. Below lg, links and menu actions open in a modal overlay with backdrop; wrap actions in TopNavAction to keep a primary CTA inline next to the menu toggle.

PropsTopNavProps
PropType
projectNameReactNode
homeHref?string
navItems?TopNavItem[]
actions?ReactNode
sticky?boolean
maxWidth?TopNavMaxWidth
mobileMenuTitle?string
top-nav

Docs-aligned app shell: sidebar brand lockup, structured nav, context top bar, and main content. Use variant="topnav" for the legacy horizontal TopNav layout.

PropsDashboardShellProps
PropType
projectNameReactNode
projectSubtitle?ReactNode
homeHref?string
variant?DashboardShellVariant
sidebarGroups?SidebarNavGroup[]
sidebarItems?SidebarNavItem[]
breadcrumb?ReactNode
pageTitle?ReactNode
navItems?TopNavItem[]
topActions?ReactNode
sidebar?ReactNode
header?ReactNode
density?MainContentDensity
contentWidth?'default' | 'wide' | 'full'
Tollerud

Mission Control/Overview

Overview

Fleet health at a glance.

Hosts online

3

Open alerts

1

dashboard-shell

SettingsLayout + FormPanel

/screens/settings-form/

Settings pages get section navigation, page header, form surfaces, and footer actions. Pass onNavSelect for client-side section switching.

PropsSettingsLayoutProps
PropType
titleReactNode
description?ReactNode
actions?ReactNode
navItems?SettingsNavItem[]
activeId?string
onNavSelect?(id: string) => void

Account settings

Manage profile and security preferences.

Profile

Shown in activity logs.

Ask before risky actions.

settings-form

ResourceList + DetailPage

/screens/resource-detail/

List and detail pages share page-header structure, actions, filters, empty states, and optional aside columns.

PropsResourceListProps
PropType
titleReactNode
description?ReactNode
actions?ReactNode
filters?ReactNode
count?ReactNode
emptyState?ReactNode

Hosts

Machines connected to Tollerud.

3 hosts
3 hosts
emma
iris
pia
resource-list
host

emma.tollerud.no

Primary production host.

Logs, metrics, and configuration.
detail-page

A full-page empty state composition for first-run, no-results, and error pages.

PropsEmptyPageProps
PropType
icon?EmptyStateIconName | ReactNode
titleReactNode
description?ReactNode
action?ReactNode
secondaryAction?ReactNode
background?PageShellBackground
accent?boolean
No hosts connected

Connect your first machine and Tia will start watching it.

empty-page

FeatureSection + StatsSection

/screens/featuresection-statssection/

Higher-level sections for marketing and dashboard overview pages.

PropsFeatureSectionProps
PropType
eyebrow?ReactNode
titleReactNode
description?ReactNode
actions?ReactNode
featuresFeatureSectionItem[]
columns?CardGridColumns
why it works

Operate with guardrails

Common sections without raw utility grids.

Fast deploys

Roll out compose changes with health checks.

Guarded actions

Review risky operations before they run.

Quiet telemetry

Surface useful state without alert fatigue.

Fleet health

Hosts online

3

Open alerts

1

Deploys today

12

feature-stats