From 9e6fdf8c9445a0ac503fd13f9bd667e0cb323e1f Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 6 Dec 2023 16:17:10 +0700 Subject: [PATCH] fix/no-assistant-available-fresh-install (#876) --- web/containers/Layout/TopBar/index.tsx | 16 ++++++++++++---- web/hooks/useGetAssistants.ts | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/web/containers/Layout/TopBar/index.tsx b/web/containers/Layout/TopBar/index.tsx index aa7912bd3d..4d5a6f4afb 100644 --- a/web/containers/Layout/TopBar/index.tsx +++ b/web/containers/Layout/TopBar/index.tsx @@ -7,7 +7,7 @@ import CommandSearch from '@/containers/Layout/TopBar/CommandSearch' import { MainViewState } from '@/constants/screens' import { useCreateNewThread } from '@/hooks/useCreateNewThread' -import useGetAssistants from '@/hooks/useGetAssistants' +import useGetAssistants, { getAssistants } from '@/hooks/useGetAssistants' import { useMainViewState } from '@/hooks/useMainViewState' import { showRightSideBarAtom } from '@/screens/Chat/Sidebar' @@ -33,10 +33,18 @@ const TopBar = () => { const onCreateConversationClick = async () => { if (assistants.length === 0) { - alert('No assistant available') - return + await getAssistants().then((res) => { + if (res) { + if (res.length === 0) { + alert('No assistant available') + return + } + requestCreateNewThread(res[0]) + } + }) + } else { + requestCreateNewThread(assistants[0]) } - requestCreateNewThread(assistants[0]) } return ( diff --git a/web/hooks/useGetAssistants.ts b/web/hooks/useGetAssistants.ts index 95ae349be5..c40e2861e1 100644 --- a/web/hooks/useGetAssistants.ts +++ b/web/hooks/useGetAssistants.ts @@ -4,7 +4,7 @@ import { Assistant, ExtensionType, AssistantExtension } from '@janhq/core' import { extensionManager } from '@/extension/ExtensionManager' -const getAssistants = async (): Promise => { +export const getAssistants = async (): Promise => { return ( extensionManager .get(ExtensionType.Assistant)