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.tsx → fleetManagement/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
Follow-up to #368 (Fleet page scaffold).
Context
The Sites/Buildings work consolidated into
features/fleetManagement/(alongsideMinerList,FleetLayout,SiteList,BuildingList, etc.). The rack surface still lives infeatures/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/intoclient/src/protoFleet/features/fleetManagement/:pages/RacksPage.tsx→fleetManagement/pages/RacksPage.tsxpages/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:
@/protoFleet/features/rackManagement/...import. Roughly 15 files import from this path today (grep -rln "@/protoFleet/features/rackManagement").routePrefetch.tsfactory paths (importRacksPage,importRackOverviewPage).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
AssignMinersModal(it stays as one directory; the redesign's "Add miners" reassignment flow on the Buildings tab will land elsewhere per Multi-site fleet page — per-row ellipsis menus on Sites + Buildings tabs #369).