useSnowball + useSnowballSettings + useSnowballActivePlan + useSnowballPlans (+ shared useCategories). The settings-derived form fields (extra payment, ramsey mode, ready flags) are seeded via a settings-synced effect; the many optimistic list/plan edits route through queryClient.setQueryData wrappers; load() is an invalidate wrapper. The debounced live-projection stays a client computation (not page data). Removed the now-dead loadPlans (hooks auto-fetch). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| useAuth.jsx | ||
| useAutoSave.js | ||
| useAutoSave.test.jsx | ||
| useQueries.js | ||
| useSearchPanelPreference.js | ||