Vitron-Front/app
Arda Samadi bb44ebf0e5 fix(seller-team): guard owner-only routes + robust useMyStores
Review fixes:
- useMyStores throws on a failed response instead of resolving to [] — a
  transient 401/blip no longer looks like "no stores" and bounces an owner off
  their own dashboard (query stays in error/retry, keeps prior data).
- Add useRequireOwner() guard and apply it to the owner-only routes
  (financial-dashboard + its cash-funds/reports/transactions sub-routes and
  shipping-method) so staff who hit those URLs directly are redirected to the
  dashboard. (Financial data was already backend-protected; this is the matching
  client-side gate.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 17:04:06 +03:30
..
assets first 2026-04-29 01:44:16 +03:30
components feat(seller-team): multi-user dashboard — store switcher, role gating, team UI 2026-07-01 16:43:53 +03:30
data first 2026-04-29 01:44:16 +03:30
hooks fix(seller-team): guard owner-only routes + robust useMyStores 2026-07-01 17:04:06 +03:30
lib first 2026-04-29 01:44:16 +03:30
requestHandler fix(seller-team): guard owner-only routes + robust useMyStores 2026-07-01 17:04:06 +03:30
routes fix(seller-team): guard owner-only routes + robust useMyStores 2026-07-01 17:04:06 +03:30
styles first 2026-04-29 01:44:16 +03:30
types first 2026-04-29 01:44:16 +03:30
utils feat(upload): convert HEIC/HEIF to JPEG on the client before preview/upload 2026-06-23 16:43:30 +03:30
auth.server.ts first 2026-04-29 01:44:16 +03:30
cookie.ts first 2026-04-29 01:44:16 +03:30
entry.client.tsx first 2026-04-29 01:44:16 +03:30
entry.server.tsx first 2026-04-29 01:44:16 +03:30
i18n.ts first 2026-04-29 01:44:16 +03:30
root.tsx first 2026-04-29 01:44:16 +03:30
sessions.server.ts Security fixes: session hardening, open redirect, SSR path injection 2026-06-14 19:02:11 +03:30
tailwind.css first 2026-04-29 01:44:16 +03:30