- Delete 86-line computeLiveProjection() — drift risk eliminated - GET /api/snowball/projection now accepts ?extra=N for unsaved amount preview - Client uses debounced useEffect calling server instead of useMemo duplicate |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| pages | ||
| public/img | ||
| App.jsx | ||
| api.js | ||
| index.css | ||
| main.jsx | ||