Miner explorer
Cross-pool miner browser with filter, search, selection, and assign-pool flow
Surface for browsing miners across the fleet and assigning them to pool configurations. PoolManagerMinerExplorer is the plug-and-play feature composite that the demo ships with.
For pool configuration authoring, see Pools. For the Pool Manager landing surface, see Dashboard.
Prerequisites
- Complete the @mdk/foundation installation and add the dependency
- A connected Redux store with
actionsSlicewired up (used byPoolManagerMinerExplorerto dispatchSETUP_POOLSactions) - Pool configuration data (
PoolConfigData[]) and minerDevice[]arrays. TheDeviceshape is documented in reference types
Components
| Component | Description |
|---|---|
PoolManagerMinerExplorer | Pool Manager miner explorer page with back link and Assign Pool action |
PoolManagerMinerExplorer
Feature composite that renders the full miner-explorer page: a page header with back link, the cross-pool miner browser with filter/search/selection, and an **Assign Pool** button gated by the ACTION_TYPES.SETUP_POOLS permission. Dispatches the assign action into actionsSlice on submit and resets the selection.
Import
import { PoolManagerMinerExplorer } from '@mdk/foundation'Props
| Prop | Type | Default | Description |
|---|---|---|---|
miners | Device[] | required | Fleet miners to browse |
poolConfig | PoolConfigData[] | required | Pool configurations used for the pool filter and assign flow |
backButtonClick | () => void | required | Fires when the operator clicks the "Pool Manager" back link |
Behaviour
- Renders a page header with title, a back link, and an Assign Pool button gated by the
ACTION_TYPES.SETUP_POOLSpermission - Lists miners across the fleet with filter, search, and multi-select
- On submit, dispatches
actionsSlice.setAddPendingSubmissionActionwith the selected miners and the chosen pool, then resets the selection - The Assign Pool button is hidden when the
ASSIGN_POOL_POPUP_ENABLEDfeature flag is off
Basic usage
<PoolManagerMinerExplorer
miners={fleetMiners}
poolConfig={poolConfigs}
backButtonClick={() => router.push('/pool-manager')}
/>Styling
.mdk-pm-miner-explorer-page: Root element.mdk-pm-miner-explorer-page__header: Title and action row.mdk-pm-miner-explorer-page__title: Page title.mdk-pm-miner-explorer-page__subtitle: Back-link wrapper.mdk-pm-miner-explorer-page__back-link: Back link button

