refactor(useModels): merge default filter with provided filter

Use lodash merge to combine provided filter with default values
This commit is contained in:
icarus 2025-09-22 12:28:03 +08:00
parent 8cd40a471e
commit 82c08128b6

View File

@ -1,4 +1,5 @@
import { ApiModelsFilter } from '@renderer/types'
import { merge } from 'lodash'
import { useCallback } from 'react'
import useSWR from 'swr'
@ -6,10 +7,13 @@ import { useAgentClient } from './useAgentClient'
export const useApiModels = (filter?: ApiModelsFilter) => {
const client = useAgentClient()
const path = client.getModelsPath(filter)
// const defaultFilter = { limit: -1 } satisfies ApiModelsFilter
const defaultFilter = {} satisfies ApiModelsFilter
const finalFilter = merge(filter, defaultFilter)
const path = client.getModelsPath(finalFilter)
const fetcher = useCallback(() => {
return client.getModels(filter)
}, [client, filter])
return client.getModels(finalFilter)
}, [client, finalFilter])
const { data, error, isLoading } = useSWR(path, fetcher)
return {
models: data?.data ?? [],