MDK Logo

@mdk/foundation

Domain-specific components, hooks, and constants for mining applications

The foundation package provides domain-specific components, hooks, and constants built on top of @mdk/core. These are higher-level building blocks designed for common Bitcoin mining application use cases.

Prerequisites

  • React 18+
  • Node.js 20+
  • pnpm 10+

Installation

# Clone the repository
git clone https://github.com/tetherto/miningos-ui-kit.git
cd miningos-ui-kit

# Install dependencies
pnpm install

# Build all packages
pnpm build

Then add to your app's package.json:

{
  "dependencies": {
    "@mdk/foundation": "workspace:*"
  }
}

What's included

Settings components

Pre-built settings UI for common administrative tasks:

Hooks

Reusable React hooks:

Monitoring hooks: equipment monitoring, alerts, and device management

  • useBeepSound: audible alerts for critical conditions
  • useChartDataCheck: check if chart data is empty or available

UI hooks: application state, permissions, and UI patterns

  • useNotification: toast notifications
  • useHasPerms / useCheckPerm: permission checking
  • useHeaderControls: header visibility preferences
  • useLocalStorage: type-safe localStorage with cross-tab sync
  • usePagination: pagination state with API query args
  • useIsFeatureEditingEnabled: feature flag permission check

Constants

Shared constants for consistency across your application:

  • Permission definitions
  • Role configurations
  • Settings defaults
  • Error codes

Import examples

// Import components
import { SettingsDashboard, FeatureFlagsSettings } from '@mdk/foundation'

// Import from specific subpath
import { SettingsDashboard } from '@mdk/foundation/domain'

On this page