Vitron-Front/app/hooks
fazli 6a300b8760 fix(store): don't bounce owners home, stop cross-user myStores cache
- app/hooks/useStoreOwnership.ts: the old redirect logic sent owners to /
  the moment useMyStores briefly resolved to []. That empty array came from
  useMyStores's dead `if (!token) return []` inside the queryFn, so any
  transient auth blip left the store page thinking the user has no stores.
  Now compares usernames case-insensitively, only redirects while the query
  is settled (!isLoading && !isFetching && !isError), and never bounces to
  home on empty — worst case the seller sees an empty dashboard rather than
  a silent kick-out.
- app/requestHandler/use-seller-hooks.ts: removed the unreachable
  `if (!token) return []` in useMyStores and added the token to the
  queryKey so a login switch stops serving the previous user's cached list.
- app/routes/store.$storeId._index.tsx: mount StorePushPromptCard at the
  top of the store dashboard.
- app/routes/store.$storeId.tsx: sidebar "پیام‌ها" badge reads
  badges.sellerChat[storeId] (per-store) instead of the buyer-side
  badges.chat, matching the badge-serializer split.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-18 13:18:23 +00:00
..
use-prefetch.ts first 2026-04-29 01:44:16 +03:30
use-root-data.ts first 2026-04-29 01:44:16 +03:30
use-toast.ts first 2026-04-29 01:44:16 +03:30
useBadgeCounts.ts fix(notif+auth): camelCase badge fields, seller push prompt, only 401 signs out 2026-07-18 13:18:08 +00:00
useCarousel.ts first 2026-04-29 01:44:16 +03:30
useDebounce.ts first 2026-04-29 01:44:16 +03:30
usePushNotifications.ts fix(notifications): read camelCase publicKey from VAPID endpoint 2026-06-17 12:06:35 +00:00
useStoreOwnership.ts fix(store): don't bounce owners home, stop cross-user myStores cache 2026-07-18 13:18:23 +00:00
useWebSocket.ts first 2026-04-29 01:44:16 +03:30