fixed reloads
This commit is contained in:
parent
71bf6baae5
commit
624797246e
2 changed files with 8 additions and 5 deletions
|
|
@ -42,10 +42,11 @@ export function useSubscription(mandateId?: string): UseSubscriptionReturn {
|
|||
const [plan, setPlan] = useState<SubscriptionPlan | null>(null);
|
||||
const [scheduled, setScheduled] = useState<MandateSubscription | null>(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<string | null>(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 {
|
||||
|
|
|
|||
|
|
@ -605,6 +605,7 @@ export const BillingAdmin: React.FC = () => {
|
|||
const [adminTab, setAdminTab] = useState<AdminTabType>(
|
||||
['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 = () => {
|
|||
<button onClick={() => setAdminTab('credit')} style={_tabStyle(adminTab === 'credit')}>
|
||||
Guthaben
|
||||
</button>
|
||||
<button onClick={() => setAdminTab('subscription')} style={_tabStyle(adminTab === 'subscription')}>
|
||||
<button onClick={() => { setAdminTab('subscription'); setSubscriptionTabKey(k => k + 1); }} style={_tabStyle(adminTab === 'subscription')}>
|
||||
Abonnement
|
||||
</button>
|
||||
<button onClick={() => setAdminTab('transactions')} style={_tabStyle(adminTab === 'transactions')}>
|
||||
|
|
@ -769,7 +770,7 @@ export const BillingAdmin: React.FC = () => {
|
|||
)}
|
||||
|
||||
{adminTab === 'subscription' && (
|
||||
<SubscriptionTab mandateId={selectedMandateId} />
|
||||
<SubscriptionTab key={subscriptionTabKey} mandateId={selectedMandateId} />
|
||||
)}
|
||||
|
||||
{adminTab === 'transactions' && (
|
||||
|
|
|
|||
Loading…
Reference in a new issue