mirror of
https://github.com/Smile-QWQ/SubTracker.git
synced 2026-06-20 12:13:05 +08:00
Sync the settings-form deep-clone fix and AI loading copy improvements from main, then continue reducing page-entry latency on the worker branch. Included fixes: - restore editability for nested notification and AI settings fields by cloning settings query data before binding forms - refine AI recognition loading copy layout to avoid awkward line wraps - align calendar summary wording with the updated main-branch labels Data-loading optimizations: - add shared Vue Query composables for exchange-rate snapshot, tags, notification webhook, statistics overview, budget statistics, and calendar events - move SettingsPage snapshot and webhook loading onto shared query caches instead of always issuing separate onMounted requests - move Dashboard, Statistics, and Budget pages onto shared overview and budget query composables - query-ize the subscriptions main list so list refreshes reuse cache/invalidation instead of repeated page-local fetches - reuse cached exchange-rate snapshot and tag data on the subscriptions page - remove over-aggressive query behavior that could cause stale or inconsistent UI states by: - updating settings query cache immediately after save operations - avoiding duplicate subscriptions refetches when filters already change the query key - keeping calendar month switches query-driven without showing mismatched stale month labels Validation: - npm run test -w apps/web passed - npm run lint -w apps/web passed - npm run build -w packages/shared passed - npm run build -w apps/web passed