/** * Hook TanStack Query sur le statut du plan utilisateur. * * Source unique de vérité côté frontend pour `plan`, `permissions`, et * compteurs de simulations. Consommé par `DashboardPage`, les gardes de * permission dans les pages simulations/t2-live, et le router. * * `staleTime: 5 min` — le plan change peu (upgrade Stripe, expiration). Les * flux d'upgrade appellent `queryClient.invalidateQueries(['plan'])` pour * forcer un refetch immédiat après webhook. */ import { useQuery } from '@tanstack/react-query' import { getPlanStatus } from '@/entities/user/api' export const PLAN_QUERY_KEY = ['plan'] as const export function usePlan() { return useQuery({ queryKey: PLAN_QUERY_KEY, queryFn: getPlanStatus, staleTime: 5 * 60 * 1000, }) }