Carried over from `CODE_IMPROVEMENT_PLAN.md` (Phase 5A), which is being retired as a standalone doc now that everything else in it has shipped.
`main/MainApp.jsx` and `home/Home.jsx` are near-identical class components — same constructor shape, lifecycle, and RxJS subscription pattern, maintained as two separate ~600-line files. Refactor the shared logic into a `useFluxNodeData()` custom hook so the duplication goes away.
Risk: High — touches core data flow for both main routes. Requires thorough testing of `/home` and `/nodes`.
Prerequisite: none remaining — the `apidata.js` merge (the plan's Phase 3A) this task originally depended on is done.
Carried over from `CODE_IMPROVEMENT_PLAN.md` (Phase 5A), which is being retired as a standalone doc now that everything else in it has shipped.
`main/MainApp.jsx` and `home/Home.jsx` are near-identical class components — same constructor shape, lifecycle, and RxJS subscription pattern, maintained as two separate ~600-line files. Refactor the shared logic into a `useFluxNodeData()` custom hook so the duplication goes away.
Risk: High — touches core data flow for both main routes. Requires thorough testing of `/home` and `/nodes`.
Prerequisite: none remaining — the `apidata.js` merge (the plan's Phase 3A) this task originally depended on is done.