MDK Logo

Miner details components

Per-miner identity, telemetry, and control surfaces for the Operations Centre details view

UI for the per-miner detail view opened from the device explorer. These components render miner identity, telemetry, hardware state, and operator controls for the currently selected miner or selection of miners.

Prerequisites

Component groups

The category is split into three subpages plus this index, which hosts the shared identity card:

  • Metrics: activity chart, single and secondary stat cards, aggregated stats, and the combined miner metric card
  • Chips: per-hashboard ASIC chip telemetry
  • Controls: power mode, reboot, LEDs, frequency, maintenance flow, and the batch container controls card

All miner details components

ComponentDescription
MinerInfoCardDetailed miner status and statistics
MinersActivityChartMiner uptime and activity visualization
SingleStatCardSingle metric display card
SecondaryStatCardSecondary metric with comparison
StatsGroupCardGrouped statistics display
MinerMetricCardPrimary and secondary miner stats card
MinerChipsCardASIC chip temperature and health display
MinerChipSingle ASIC chip temperature and frequency tile
MinerControlsCardMiner power mode and restart controls
MinerPowerModeSelectionButtonsPower mode selector grouped by miner model
BatchContainerControlsCardContainer controls card for selected devices

Shared identity card

MinerInfoCard is the only component in this category without a subgroup. It anchors every miner details view as the identity header (model, serial, firmware, IP) and is reused in batch and single-selection layouts alike.

MinerInfoCard

Displays detailed miner status and statistics in a labeled info card format.

Import

import { MinerInfoCard } from '@mdk/foundation'

Props

PropTypeDefaultDescription
labelstring'Miner info'Card header label, rendered uppercase
dataInfoItem[]noneTitle and value rows to display

The InfoItem shape is re-exported from @mdk/foundation:

type InfoItem = {
  title?: string
  value?: string | string[] | number
}

When value is an array, each entry is rendered on its own line under the title.

Basic usage

<MinerInfoCard
  label="Miner info"
  data={[
    { title: 'Model', value: 'Antminer S19 Pro' },
    { title: 'Serial', value: 'ANT-2024-00142' },
    { title: 'Firmware', value: '2.1.3' },
    { title: 'IP address', value: '192.168.1.42' },
  ]}
/>

Multi-line values

Pass an array as value to stack rows under a single title (useful for pool URLs, worker names, hashboard ids):

<MinerInfoCard
  data={[
    {
      title: 'Pools',
      value: ['stratum+tcp://pool1.example.com:3333', 'stratum+tcp://pool2.example.com:3333'],
    },
    { title: 'Workers', value: ['worker-1', 'worker-2', 'worker-3'] },
  ]}
/>

Composition

MinerInfoCard wraps DeviceInfo (from @mdk/foundation's info-container) and adds the uppercase header label. If you need the bare row layout without the card chrome, use DeviceInfo directly.

Styling

  • .mdk-miner-info-card: root element
  • .mdk-miner-info-card__label: uppercase header label
  • .mdk-info-container: nested per-row title and value wrapper
  • .mdk-info-container__title: row title
  • .mdk-info-container__value: row value (one inner <div> per array entry)

On this page