+
{formatTimestampToDate(timestamp)}
)
},
- size: 180,
+ size: 140,
},
// Actions column
diff --git a/web/default/src/features/models/components/models-table.tsx b/web/default/src/features/models/components/models-table.tsx
index ceff4039..9a2a192b 100644
--- a/web/default/src/features/models/components/models-table.tsx
+++ b/web/default/src/features/models/components/models-table.tsx
@@ -94,9 +94,6 @@ export function ModelsTable() {
}))
}, [vendors])
- // Determine whether to use search or regular list API
- const shouldSearch = Boolean(globalFilter?.trim())
-
// Apply selected vendor from context or filter
const activeVendorFilter =
selectedVendor ||
@@ -104,55 +101,50 @@ export function ModelsTable() {
? vendorFilter[0]
: undefined)
+ const statusFilterValue =
+ statusFilter.length > 0 && !statusFilter.includes('all')
+ ? statusFilter[0]
+ : undefined
+ const syncFilterValue =
+ syncFilter.length > 0 && !syncFilter.includes('all')
+ ? syncFilter[0]
+ : undefined
+
+ // Use search API whenever any filter is active so status/sync are applied server-side
+ const shouldSearch = Boolean(
+ globalFilter?.trim() ||
+ activeVendorFilter ||
+ statusFilterValue ||
+ syncFilterValue
+ )
+
// Fetch models data
// eslint-disable-next-line @tanstack/query/exhaustive-deps
const { data, isLoading, isFetching } = useQuery({
queryKey: modelsQueryKeys.list({
keyword: globalFilter,
vendor: activeVendorFilter,
- status:
- statusFilter.length > 0 && !statusFilter.includes('all')
- ? statusFilter[0]
- : undefined,
- sync_official:
- syncFilter.length > 0 && !syncFilter.includes('all')
- ? syncFilter[0]
- : undefined,
+ status: statusFilterValue,
+ sync_official: syncFilterValue,
p: pagination.pageIndex + 1,
page_size: pagination.pageSize,
}),
queryFn: async () => {
- if (shouldSearch || activeVendorFilter) {
+ if (shouldSearch) {
return searchModels({
keyword: globalFilter,
vendor: activeVendorFilter,
- status:
- statusFilter.length > 0 && !statusFilter.includes('all')
- ? statusFilter[0]
- : undefined,
- sync_official:
- syncFilter.length > 0 && !syncFilter.includes('all')
- ? syncFilter[0]
- : undefined,
- p: pagination.pageIndex + 1,
- page_size: pagination.pageSize,
- })
- } else {
- return getModels({
- status:
- statusFilter.length > 0 && !statusFilter.includes('all')
- ? statusFilter[0]
- : undefined,
- sync_official:
- syncFilter.length > 0 && !syncFilter.includes('all')
- ? syncFilter[0]
- : undefined,
+ status: statusFilterValue,
+ sync_official: syncFilterValue,
p: pagination.pageIndex + 1,
page_size: pagination.pageSize,
})
}
+ return getModels({
+ p: pagination.pageIndex + 1,
+ page_size: pagination.pageSize,
+ })
},
- placeholderData: (previousData) => previousData,
})
const models = data?.data?.items || []