- 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> |
||
|---|---|---|
| .. | ||
| assets | ||
| components | ||
| data | ||
| hooks | ||
| lib | ||
| requestHandler | ||
| routes | ||
| styles | ||
| types | ||
| utils | ||
| auth.server.ts | ||
| cookie.ts | ||
| entry.client.tsx | ||
| entry.server.tsx | ||
| i18n.ts | ||
| root.tsx | ||
| sessions.server.ts | ||
| tailwind.css | ||