import { useAuth } from '@clerk/nextjs';
import { useQuery } from '@tanstack/react-query';

import { useStores } from '@/app/(root)/AppProviders';
import { SubscriptionInfo } from '@/state/sessionStore';

export const useSubscriptionInfo = () => {
  const { session } = useStores();
  const { isSignedIn } = useAuth();
  return useQuery<SubscriptionInfo | undefined>({
    queryKey: ['subscriptionInfo'],
    queryFn: session.loadSubscriptionInfo as any,
    enabled: Boolean(isSignedIn && session.sessionIsLoaded),
  });
};

export default useSubscriptionInfo;
