jan/web/hooks/useAssistants.ts
NamH 01fec49798
fix: reduce the number of api call (#1896)
Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>
2024-02-05 13:13:39 +07:00

29 lines
737 B
TypeScript

import { useEffect } from 'react'
import { Assistant, AssistantExtension, ExtensionTypeEnum } from '@janhq/core'
import { useSetAtom } from 'jotai'
import { extensionManager } from '@/extension'
import { assistantsAtom } from '@/helpers/atoms/Assistant.atom'
const useAssistants = () => {
const setAssistants = useSetAtom(assistantsAtom)
useEffect(() => {
const getAssistants = async () => {
const assistants = await getLocalAssistants()
setAssistants(assistants)
}
getAssistants()
}, [setAssistants])
}
const getLocalAssistants = async (): Promise<Assistant[]> =>
extensionManager
.get<AssistantExtension>(ExtensionTypeEnum.Assistant)
?.getAssistants() ?? []
export default useAssistants