import { useMe } from "./useMe";
import type { Plan } from "./useMe";

export type { Plan };

/**
 * Plan des eingeloggten Users — abgeleitet aus useMe() (single source of truth,
 * inkl. Live-Invalidierung via invalidateMe()).
 *
 * Vorher hatte useUserPlan einen eigenen Modul-Cache + fetch-once-on-mount —
 * das war ein Bug: der __DEV__-Tier-Toggle (ruft invalidateMe() auf) erreichte
 * die useUserPlan-Consumer NICHT, also reagierte die App nicht auf den Plan-Wechsel.
 * Jetzt erbt useUserPlan die Invalidierung von useMe → Toggle propagiert überall.
 */
export function useUserPlan(): { plan: Plan; loading: boolean } {
  const { me, loading } = useMe();
  return { plan: me?.plan ?? "free", loading };
}
