Replace swr with @tanstack/react-query v5 across all hooks, providers,
and components. Introduce singleton QueryClient, WS subscription pattern
via useQuery+useEffect, and enforce component-layer cache access contract.
- Remove unused `dns_settings_enabled` localStorage writes in
setting-clash.tsx — state is sourced from verge config, these
writes were never read anywhere.
- Replace hardcoded `'last_check_update'` localStorage read in
system-info-card.tsx with exported `readLastCheckTime()` from
the useUpdate hook, keeping the key in a single source of truth.
The settings page "Check for updates" did not update the homepage
"last check update time" because each page managed the timestamp
independently. Centralizes the timestamp in the useUpdate hook
via SWR + localStorage so both pages share a single data source.
Closes https://github.com/clash-verge-rev/clash-verge-rev/issues/6605#issuecomment-4147144987