fix: multi-subscription frontend improvements

- Connection page: reads subscription_id from ?sub= query param
- Subscription detail: passes subscriptionId to /connection URL
- Dashboard: skip single-subscription and devices queries in multi-tariff
  mode (data comes from subscriptions-list instead)
This commit is contained in:
c0mrade
2026-03-24 22:18:02 +03:00
parent 324aaa1f33
commit 4de47cfa94
3 changed files with 18 additions and 15 deletions

View File

@@ -51,16 +51,6 @@ export default function Dashboard() {
refetchOnMount: 'always',
});
const { data: subscriptionResponse, isLoading: subLoading } = useQuery({
queryKey: ['subscription'],
queryFn: () => subscriptionApi.getSubscription(),
retry: false,
staleTime: API.BALANCE_STALE_TIME_MS,
refetchOnMount: 'always',
});
const subscription = subscriptionResponse?.subscription ?? null;
// Multi-tariff: check if user has multiple subscriptions
const { data: multiSubData } = useQuery({
queryKey: ['subscriptions-list'],
@@ -69,6 +59,17 @@ export default function Dashboard() {
});
const isMultiTariff = multiSubData?.multi_tariff_enabled ?? false;
const { data: subscriptionResponse, isLoading: subLoading } = useQuery({
queryKey: ['subscription'],
queryFn: () => subscriptionApi.getSubscription(),
retry: false,
staleTime: API.BALANCE_STALE_TIME_MS,
refetchOnMount: 'always',
enabled: !isMultiTariff,
});
const subscription = subscriptionResponse?.subscription ?? null;
const { data: trialInfo, isLoading: trialLoading } = useQuery({
queryKey: ['trial-info'],
queryFn: () => subscriptionApi.getTrialInfo(),
@@ -78,7 +79,7 @@ export default function Dashboard() {
const { data: devicesData } = useQuery({
queryKey: ['devices'],
queryFn: () => subscriptionApi.getDevices(),
enabled: !!subscription,
enabled: !!subscription && !isMultiTariff,
staleTime: API.BALANCE_STALE_TIME_MS,
});