mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-13 06:32:03 +00:00
The Bestand tab was 1,139 lines of one client file holding two concerns that only meet at the row shape: the list of containers a person holds, and the three dialogs that change it. Registration, per-item correction, packaging economics, the summary and the row rendering all shared a scope, so reading any one of them meant scrolling past the rest. Move-only. The dialogs go to `inventory-dialogs.tsx` with the day-input conversions their fields produce; the row shape and the cache-invalidation they both need go to `inventory-shared.ts`; the section keeps the summary and the list at 458 lines. Every export the tab offered is still offered here, so no caller changes. No copy changes, no new keys. Two suites pin these contracts by reading the file's own source — the register dialog's unit conversion and the correction dialog's sparse patch. Their `readFileSync` now names the file the code moved to. The assertions are unchanged, byte for byte; only the path they read is.