From 624797246e578c6ef980347effbfbbee9ba36388 Mon Sep 17 00:00:00 2001
From: ValueOn AG
Date: Tue, 31 Mar 2026 00:06:33 +0200
Subject: [PATCH] fixed reloads
---
src/hooks/useSubscription.ts | 8 +++++---
src/pages/billing/BillingAdmin.tsx | 5 +++--
2 files changed, 8 insertions(+), 5 deletions(-)
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 = () => {
-