fix: usage datepicker

This commit is contained in:
jialin
2026-04-22 13:16:48 +08:00
committed by jialin
parent ad7fc3a993
commit daa3d74500
8 changed files with 157 additions and 49 deletions
@@ -1,4 +1,5 @@
import { useQueryData } from '@/hooks/use-query-data-list';
import { useModel } from '@@/plugin-model';
import { useState } from 'react';
import { queryUsageMetaData } from '../apis';
import { GroupOption, groupToOptions } from '../config';
@@ -14,7 +15,7 @@ export default function useQueryUsageMetaData() {
fetchDetail: queryUsageMetaData,
key: 'usageMetaData'
});
const { initialState } = useModel('@@initialState');
const [result, setResult] = useState<{
models: GroupOption<UsageFilterItem>[];
users: UserOptionType[];
@@ -25,9 +26,23 @@ export default function useQueryUsageMetaData() {
api_keys: []
});
// the current user sort in the first place
const sortUsers = (users: UsageFilterItem[]) => {
const currentUserId = initialState?.currentUser?.id;
if (!currentUserId) return users;
const sortedUsers = [...users].sort((a, b) => {
if (a.identity.current.user_id === currentUserId) return -1;
if (b.identity.current.user_id === currentUserId) return 1;
return 0;
});
return sortedUsers;
};
const queryMetaData = async () => {
const res = await fetchData({});
const sortedUsers = sortUsers(res?.filters?.users || []);
const data = {
models: groupToOptions(res?.filters?.models || [], {
getGroupKey: (item) => item.identity.value.provider_name || 'gpustack',
@@ -40,8 +55,10 @@ export default function useQueryUsageMetaData() {
})
}),
users:
res?.filters?.users?.map((item) => ({
sortedUsers.map((item) => ({
value: item.label,
isCurrent:
item.identity.current.user_id === initialState?.currentUser?.id,
...item
})) || [],
api_keys: groupToOptions(res?.filters?.api_keys || [], {