diff --git a/src/hooks/useSubscription.ts b/src/hooks/useSubscription.ts index ea98e6c..8fb6e1a 100644 --- a/src/hooks/useSubscription.ts +++ b/src/hooks/useSubscription.ts @@ -42,10 +42,11 @@ export function useSubscription(mandateId?: string): UseSubscriptionReturn { const [plan, setPlan] = useState(null); const [scheduled, setScheduled] = useState(null); const [active, setActive] = useState(false); - const { request, isLoading: loading, error: apiError } = useApiRequest(); + const { request, isLoading: loading, error: apiError, clearCache } = useApiRequest(); const [error, setError] = useState(null); const loadPlans = useCallback(async () => { + clearCache('/api/subscription/plans', 'get'); try { const data = await fetchSelectablePlans(request, mandateId); setPlans(Array.isArray(data) ? data : []); @@ -53,9 +54,10 @@ export function useSubscription(mandateId?: string): UseSubscriptionReturn { console.error('Error loading plans:', err); setPlans([]); } - }, [request, mandateId]); + }, [request, mandateId, clearCache]); const loadStatus = useCallback(async () => { + clearCache('/api/subscription/status', 'get'); try { const data: SubscriptionStatusResponse = await fetchSubscriptionStatus(request, mandateId); setActive(data.active); @@ -69,7 +71,7 @@ export function useSubscription(mandateId?: string): UseSubscriptionReturn { setPlan(null); setScheduled(null); } - }, [request, mandateId]); + }, [request, mandateId, clearCache]); const activatePlan = useCallback(async (planKey: string) => { try { diff --git a/src/pages/billing/BillingAdmin.tsx b/src/pages/billing/BillingAdmin.tsx index 07c3be0..6d72866 100644 --- a/src/pages/billing/BillingAdmin.tsx +++ b/src/pages/billing/BillingAdmin.tsx @@ -605,6 +605,7 @@ export const BillingAdmin: React.FC = () => { const [adminTab, setAdminTab] = useState( ['settings', 'credit', 'subscription', 'transactions'].includes(_initialAdminTab) ? _initialAdminTab : 'settings' ); + const [subscriptionTabKey, setSubscriptionTabKey] = useState(0); useEffect(() => { if (adminTab === 'subscription' || searchParams.get('tab') === 'subscription') return; @@ -736,7 +737,7 @@ export const BillingAdmin: React.FC = () => { -