MDK Logo

Bitmain Immersion container components

Bitmain Immersion container UI for the Operations Centre

UI for Bitmain Immersion containers. These components render unit control boxes, pump-station status, immersion settings, and system-status views on top of Bitmain immersion-shaped device records.

For components shared across all container vendors (TanksBox, Socket, ContainerControlsBox, etc.), see the Containers overview.

Prerequisites

Components

ComponentDescription
BitMainControlsTabBitmain immersion controls tab view
BitMainImmersionControlBoxTwo-column immersion control box container
BitMainImmersionPumpStationControlBoxPump station alarm and state card
BitMainImmersionSettingsBitmain immersion threshold settings form
BitMainImmersionSummaryBoxBitmain immersion pumps and liquid temps
BitMainImmersionSystemStatusImmersion server start and connection status
BitMainImmersionUnitControlBoxImmersion unit status and frequency card

BitMainControlsTab

Controls tab showing Bitmain immersion container fan status, A-D tank fluid levels, and GPS latitude and longitude with direction.

Import

import { BitMainControlsTab } from '@mdk/foundation'

Props

PropTypeDefaultDescription
dataDevicerequiredBitmain immersion container device record

Basic usage

<BitMainControlsTab data={immersionContainer} />

Composition

  • Container fan indicator from container_fan and fan_fault (red on fault, green running, gray off)
  • Tank levels for Tank A to Tank D read from tank_a_level to tank_d_level in cm
  • GPS latitude and longitude with direction fields

Styling

  • .mdk-bitmain-controls-tab: Root element
  • .mdk-bitmain-controls-tab__section: Section wrapper
  • .mdk-bitmain-controls-tab__section-header: Fan status row
  • .mdk-bitmain-controls-tab__section-label: Fan label text
  • .mdk-bitmain-controls-tab__title: Section heading
  • .mdk-bitmain-controls-tab__grid: Tank or GPS grid
  • .mdk-bitmain-controls-tab__item: Tank cell
  • .mdk-bitmain-controls-tab__label: Tank label
  • .mdk-bitmain-controls-tab__value: Tank value
  • .mdk-bitmain-controls-tab__location: GPS cell
  • .mdk-bitmain-controls-tab__location-label: GPS axis label
  • .mdk-bitmain-controls-tab__location-value: GPS coordinate value
  • .mdk-bitmain-controls-tab__location-dir: GPS direction text

BitMainImmersionControlBox

Reusable layout box for immersion controls with optional title, left and right columns, and bottom slot, plus a borderless secondary variant.

Import

import { BitMainImmersionControlBox } from '@mdk/foundation'

Props

PropTypeDefaultDescription
titlestringnoneBox title shown above the left column
leftContentReactNodenoneContent for the left column
rightContentReactNodenoneContent for the right column
bottomContentReactNodenoneOptional content for the bottom row
secondarybooleanfalseBorderless variant
classNamestringnoneAdditional class name on the root

Basic usage

<BitMainImmersionControlBox
  title="Power Status"
  leftContent={<div>Current: 35°C</div>}
  rightContent={<div>Target: 30°C</div>}
  bottomContent={<div>Additional info</div>}
/>

Styling

  • .mdk-bitmain-immersion-control-box: Root element
  • .mdk-bitmain-immersion-control-box--secondary: Borderless variant modifier
  • .mdk-bitmain-immersion-control-box__top: Two-column wrapper
  • .mdk-bitmain-immersion-control-box__left: Left column
  • .mdk-bitmain-immersion-control-box__right: Right column
  • .mdk-bitmain-immersion-control-box__title: Title text
  • .mdk-bitmain-immersion-control-box__bottom: Bottom row

BitMainImmersionPumpStationControlBox

Card showing a pump station's normal or fault tag along with ready, operating, and started state labels. Hides states that are undefined.

Import

import { BitMainImmersionPumpStationControlBox } from '@mdk/foundation'

Props

PropTypeDefaultDescription
titlestringnoneBox title
alarmStatusbooleanfalseShows Fault tag when true, Normal otherwise
readybooleannoneReady state; row hidden when omitted
operationbooleannoneOperating state; row hidden when omitted
startbooleannoneStarted state; row hidden when omitted
classNamestringnoneAdditional class name on the root

Basic usage

<BitMainImmersionPumpStationControlBox
  title="Pump Station #1"
  alarmStatus={false}
  ready={true}
  operation={true}
  start={true}
/>

Styling

  • .mdk-bitmain-immersion-pump-station-control-box: Root element
  • .mdk-bitmain-immersion-pump-station-control-box__title: Title text
  • .mdk-bitmain-immersion-pump-station-control-box__content: Tag and states row
  • .mdk-bitmain-immersion-pump-station-control-box__status: Alarm tag wrapper
  • .mdk-bitmain-immersion-pump-station-control-box__state: State label
  • .mdk-bitmain-immersion-pump-station-control-box__state--on: Active state modifier
  • .mdk-bitmain-immersion-pump-station-control-box__state--off: Inactive state modifier

BitMainImmersionSettings

Wraps the immersion editable threshold form for Bitmain immersion containers, wiring color and flash helpers for oil temperature.

Import

import { BitMainImmersionSettings } from '@mdk/foundation'

Props

PropTypeDefaultDescription
dataDevicenoneBitmain immersion container device record
containerSettings{ thresholds?: Record<string, unknown> } | nullnullOptional custom oil temperature thresholds

Basic usage

<BitMainImmersionSettings data={immersionContainer} />

With custom thresholds

<BitMainImmersionSettings
  data={immersionContainer}
  containerSettings={{ thresholds: customThresholds }}
/>

Composition

  • Renders ImmersionEditableThresholdForm wired with Bitmain immersion color, flash, and superflash helpers for oil temperature
  • When status is missing on data, it defaults to 'active'

BitMainImmersionSummaryBox

Summary panel showing oil pump 1/2 and water pump statuses alongside primary and secondary liquid supply temperatures with alert coloring.

Import

import { BitMainImmersionSummaryBox } from '@mdk/foundation'

Props

PropTypeDefaultDescription
dataDevicenoneBitmain immersion container device record
containerSettingsBitMainImmersionSummaryBoxContainerSettings | nullnullOptional custom temperature thresholds

BitMainImmersionSummaryBoxContainerSettings type

type BitMainImmersionSummaryBoxContainerSettings = {
  thresholds?: Record<string, unknown>
}

Basic usage

<BitMainImmersionSummaryBox data={immersionContainer} />

With custom thresholds

<BitMainImmersionSummaryBox
  data={immersionContainer}
  containerSettings={{ thresholds: customThresholds }}
/>

Composition

  • Oil pump #1 and Oil pump #2 indicators derived from second_pump1 / second_pump2 and their _fault flags
  • Water pump indicator derived from one_pump
  • Three SingleStatCards for primary supply temp, secondary supply Temp1, and secondary supply Temp2, each colored and flashed via getImmersionTemperatureColor and shouldImmersionTemperatureFlash

Styling

  • .mdk-bitmain-immersion-summary-box: Root element
  • .mdk-bitmain-immersion-summary-box__pumps: Pumps row
  • .mdk-bitmain-immersion-summary-box__pump: Single pump cell
  • .mdk-bitmain-immersion-summary-box__pump-title: Pump label text
  • .mdk-bitmain-immersion-summary-box__liquid-stats: Liquid stat cards row

BitMainImmersionSystemStatus

Small panel showing whether server start is allowed and whether the Bitmain immersion container connection is connected or disconnected.

Import

import { BitMainImmersionSystemStatus } from '@mdk/foundation'

Props

PropTypeDefaultDescription
dataDevicenoneBitmain immersion container device record

Basic usage

<BitMainImmersionSystemStatus data={immersionContainer} />

Styling

  • .mdk-bitmain-immersion-system-status: Root element
  • .mdk-bitmain-immersion-system-status__header: Header row
  • .mdk-bitmain-immersion-system-status__title: Title text
  • .mdk-bitmain-immersion-system-status__content: Status rows wrapper
  • .mdk-bitmain-immersion-system-status__item: Single status row
  • .mdk-bitmain-immersion-system-status__label: Row label text

BitMainImmersionUnitControlBox

Control card for an immersion unit or dry cooler, showing alarm tag, running indicator, and Hz frequency in a configurable left or right slot.

Import

import { BitMainImmersionUnitControlBox } from '@mdk/foundation'

Props

PropTypeDefaultDescription
titlestringnoneBox title shown above the left column
alarmStatusbooleanfalseShows Fault tag when true, Normal otherwise
frequencynumbernoneFrequency value in Hz; row hidden when omitted
isDryCoolerbooleanfalseForces status label to "Dry Cooler"
runningbooleanfalseShows a running or off indicator
showFrequencyInLeftColumnbooleanfalseRenders the frequency row in the left column instead of the right
secondarybooleanfalseBorderless variant
classNamestringnoneAdditional class name on the root

Basic usage

<BitMainImmersionUnitControlBox
  title="Unit #1"
  alarmStatus={false}
  running={true}
  frequency={50}
/>

Dry cooler variant

<BitMainImmersionUnitControlBox
  isDryCooler
  running
  frequency={45}
  showFrequencyInLeftColumn
/>

Styling

  • .mdk-bitmain-immersion-unit-control-box: Root element
  • .mdk-bitmain-immersion-unit-control-box__item: Label and value row (status or frequency)
  • .mdk-bitmain-immersion-unit-control-box__item-label: Row label text
  • .mdk-bitmain-immersion-unit-control-box__item-value: Row value text

On this page