import { useQuery } from '@tanstack/react-query'; import { queryKeys } from '@/lib/query-keys'; import { subscriptionApi } from '@/infrastructure/http/api/subscription'; export function useSubscription() { return useQuery({ queryKey: queryKeys.subscription.current(), queryFn: () => subscriptionApi.getSubscription(), }); } const wpChannel = import.meta.env.VITE_WP_EMBED === 'true' ? 'wordpress' : undefined; export function useAvailablePlans() { return useQuery({ queryKey: [...queryKeys.subscription.plans(), wpChannel], queryFn: () => subscriptionApi.listPlans(wpChannel), }); } export function useUsage() { return useQuery({ queryKey: queryKeys.subscription.usage(), queryFn: () => subscriptionApi.getUsage(), }); } export function useInvoices(page: number = 1, limit: number = 20) { return useQuery({ queryKey: [...queryKeys.subscription.invoices(), page, limit], queryFn: () => subscriptionApi.getInvoices(page, limit), }); } export function useCommandStats() { return useQuery({ queryKey: queryKeys.subscription.commandStats(), queryFn: () => subscriptionApi.getCommandStats(), }); }