feat(payment): refactor payment configuration retrieval into a custom hook

This commit is contained in:
hamed
2026-06-15 12:56:43 +03:30
parent d13d8436ab
commit 3763c83471
3 changed files with 16 additions and 12 deletions
+2 -6
View File
@@ -8,6 +8,7 @@ import { toast } from 'sonner';
import { api } from '../lib/api';
import type { ApiResponse } from '../lib/api';
import type { SubscriptionPlan, MySubscriptionData, SubscriptionPeriod } from '../types';
import { usePaymentConfig } from '../hooks/usePaymentConfig';
import { formatDate, formatRial, formatNumber } from '../lib/utils';
import Modal from '../components/ui/Modal';
@@ -60,17 +61,12 @@ export default function SubscriptionPage() {
queryFn: () => api.get('/api/v1/subscription/my'),
});
const { data: paymentConfigData } = useQuery<ApiResponse<{ test_mode: boolean }>>({
queryKey: ['payment-config'],
queryFn: () => api.get('/api/v1/payment/config'),
staleTime: 5 * 60 * 1000,
});
const { isTestMode } = usePaymentConfig();
const plans = plansData?.data ?? [];
const myRaw = myData?.data;
const my = myRaw?.subscription ?? null;
const usedTrial = myRaw?.used_trial ?? false;
const isTestMode = paymentConfigData?.data?.test_mode ?? false;
const trialMutation = useMutation({
mutationFn: () => api.post('/api/v1/subscription/trial', {}),