refactor: usage instance tab, split tables

This commit is contained in:
jialin
2026-06-16 22:28:46 +08:00
committed by jialin
parent cdd6ef9cb3
commit e4c1a3f5c2
8 changed files with 387 additions and 245 deletions
@@ -0,0 +1,31 @@
import { useQueryData } from '@/hooks/use-query-data-list';
import {
queryGpuInstancesBreakdown,
ResourceBreakdownRequest,
ResourceBreakdownResponse
} from '../../apis/resource';
/**
* Wraps the `queryGpuInstancesBreakdown` request with shared loading state and
* in-flight cancellation (the previous request is cancelled on each new fetch
* and on unmount), so rapid filter/page/sort changes can't race a stale
* response onto the chart or a table.
*/
export default function useQueryGpuInstancesBreakdown(option?: {
key?: string;
}) {
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
ResourceBreakdownResponse,
ResourceBreakdownRequest
>({
fetchDetail: queryGpuInstancesBreakdown,
key: option?.key || 'gpuInstancesBreakdown'
});
return {
detailData,
loading,
cancelRequest,
fetchData
};
}