diff --git a/src/routes/usage.tsx b/src/routes/usage.tsx index 00d5936..3ef6feb 100644 --- a/src/routes/usage.tsx +++ b/src/routes/usage.tsx @@ -114,7 +114,8 @@ function formatBucketLabel(bucket: string, range: TimeRange): string { function UsagePage() { const { t } = useTranslation(); const [range, setRange] = useState('7d'); - const [selectedAccountId, setSelectedAccountId] = useState(undefined); + const ALL_ACCOUNTS = '__all__'; + const [selectedAccountId, setSelectedAccountId] = useState(ALL_ACCOUNTS); const { data: accounts, isLoading: accountsLoading } = useCloudAccounts(); const { @@ -126,7 +127,7 @@ function UsagePage() { queryKey: ['usage', 'day', range, selectedAccountId], queryFn: () => { const { start, end } = getTimeRange(range); - return ipc.client.usage.getUsageByDay({ accountId: selectedAccountId, start, end }); + return ipc.client.usage.getUsageByDay({ accountId: selectedAccountId === ALL_ACCOUNTS ? undefined : selectedAccountId, start, end }); }, refetchInterval: 30000, refetchIntervalInBackground: false, @@ -142,7 +143,7 @@ function UsagePage() { queryKey: ['usage', 'model', range, selectedAccountId], queryFn: () => { const { start, end } = getTimeRange(range); - return ipc.client.usage.getUsageByModel({ accountId: selectedAccountId, start, end }); + return ipc.client.usage.getUsageByModel({ accountId: selectedAccountId === ALL_ACCOUNTS ? undefined : selectedAccountId, start, end }); }, refetchInterval: 30000, refetchIntervalInBackground: false, @@ -158,7 +159,7 @@ function UsagePage() { queryKey: ['usage', 'hour', range, selectedAccountId], queryFn: () => { const { start, end } = getTimeRange(range); - return ipc.client.usage.getUsageByHour({ accountId: selectedAccountId, start, end }); + return ipc.client.usage.getUsageByHour({ accountId: selectedAccountId === ALL_ACCOUNTS ? undefined : selectedAccountId, start, end }); }, enabled: range === '24h', refetchInterval: 30000, @@ -231,8 +232,8 @@ function UsagePage() {
{/* Account filter */}