Dashboard
Landing page for the Pool Manager feature with stats, navigation blocks, and recent alerts
The Pool Manager dashboard aggregates pool health stats, quick-navigation blocks into the miner explorer and pools workflows, and a feed of recent alerts. It is the entry point rendered when operators land on the Pool Manager area.
For miner-to-pool assignment, see Miner explorer. For pool and endpoint management, see Pools.
Prerequisites
- Complete the @mdk/foundation installation and add the dependency
Components
| Component | Description |
|---|---|
PoolManagerDashboard | Pool Manager landing UI with stats, nav blocks, and recent alerts |
PoolManagerDashboard
Pool Manager landing dashboard composing pool stats, quick-navigation blocks into the miner explorer and pools workflows, and a recent alerts feed.
Import
import { PoolManagerDashboard } from '@mdk/foundation'Props
| Prop | Type | Default | Description |
|---|---|---|---|
stats | DashboardStats | none | Dashboard statistics |
isStatsLoading | boolean | false | Stats loading state |
alerts | Alert[] | [] | Recent alerts list |
onNavigationClick | (url: string) => void | required | Navigation handler |
onViewAllAlerts | () => void | required | View all alerts handler |
DashboardStats type
type StatItem = {
label: string
value: number
type?: 'ERROR' | 'SUCCESS'
secondaryValue?: string
}
type DashboardStats = {
items: StatItem[]
}Basic usage
<PoolManagerDashboard
stats={{
items: [
{ label: 'Active Pools', value: 3, type: 'SUCCESS' },
{ label: 'Total Miners', value: 150 },
{ label: 'Offline', value: 2, type: 'ERROR' },
],
}}
alerts={recentAlerts}
onNavigationClick={(url) => router.push(url)}
onViewAllAlerts={() => router.push('/alerts')}
/>Loading state
<PoolManagerDashboard
isStatsLoading
alerts={[]}
onNavigationClick={handleNav}
onViewAllAlerts={handleViewAlerts}
/>Dashboard sections
The component displays:
- Stats blocks: Key metrics with optional success/error indicators
- Navigation blocks: Quick links to pool management features
- Recent alerts: Latest alerts with severity indicators
Styling
.mdk-pm-dashboard: Root element.mdk-pm-dashboard__stat-blocks: Stats container.mdk-pm-dashboard__stat-block: Individual stat block.mdk-pm-dashboard__stat-header: Stat header with label and status.mdk-pm-dashboard__stat-label: Stat label text.mdk-pm-dashboard__stat-status: Status indicator.mdk-pm-dashboard__stat-value-row: Value container.mdk-pm-dashboard__stat-value: Primary value.mdk-pm-dashboard__stat-secondary: Secondary value.mdk-pm-dashboard__nav-blocks: Navigation blocks container.mdk-pm-dashboard__nav-block: Individual navigation block.mdk-pm-dashboard__nav-header: Block header with icon.mdk-pm-dashboard__nav-icon: Block icon.mdk-pm-dashboard__nav-title: Block title.mdk-pm-dashboard__nav-description: Block description.mdk-pm-dashboard__nav-action: Action button.mdk-pm-dashboard__alerts-wrapper: Alerts section container.mdk-pm-dashboard__alerts-title: Alerts heading.mdk-pm-dashboard__alerts: Alerts list.mdk-pm-dashboard__alert-row: Individual alert row.mdk-pm-dashboard__alert-text: Alert text content.mdk-pm-dashboard__alert-status: Alert severity indicator.mdk-pm-dashboard__alerts-empty: Empty alerts message
Next steps
- For pool summary widgets that surface on the top-level operations dashboard, see
PoolDetailsCardandPoolDetailsPopover.

