Skip to content

Multi-site fleet page — consolidate features/rackManagement into features/fleetManagement #395

Description

@flesher

Follow-up to #368 (Fleet page scaffold).

Context

The Sites/Buildings work consolidated into features/fleetManagement/ (alongside MinerList, FleetLayout, SiteList, BuildingList, etc.). The rack surface still lives in features/rackManagement/ and predates the redesign — it remains an "old" sibling folder for what is now an integrated piece of the unified Fleet page.

Scope

Move everything under client/src/protoFleet/features/rackManagement/ into client/src/protoFleet/features/fleetManagement/:

  • pages/RacksPage.tsxfleetManagement/pages/RacksPage.tsx
  • pages/RackOverviewPage.tsx (+ test) → fleetManagement/pages/
  • components/RackCard/fleetManagement/components/RackCard/
  • components/AssignMinersModal/ (full directory incl. RackPane, MinersPane, SearchMinersModal, ManageMinersModal, tests, stories) → fleetManagement/components/AssignMinersModal/
  • components/RackHealthModule/fleetManagement/components/
  • components/RackSlotGrid/fleetManagement/components/
  • components/RackDetailGrid/fleetManagement/components/
  • components/RackSettingsModal.tsx (+ stories) → fleetManagement/components/
  • utils/{buildingFilterUrl,rackCardMapper,slotNumbering}.ts (+ tests) → fleetManagement/utils/

Then:

  • Update every @/protoFleet/features/rackManagement/... import. Roughly 15 files import from this path today (grep -rln "@/protoFleet/features/rackManagement").
  • Update routePrefetch.ts factory paths (importRacksPage, importRackOverviewPage).
  • Remove the now-empty features/rackManagement/ directory.

Why defer this from #368

The move is mechanical but wide: ~30 files relocate plus every importer touches an import line. Bundling it with the Sites/Buildings refactor in PR #368 would have inflated the diff and made the substantive review (List-component adoption, query-string preservation, redirect race fix, etc.) harder to read. Splitting it off keeps each PR focused.

Out of scope

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions