diff --git a/src/renderer/src/hooks/useTopic.ts b/src/renderer/src/hooks/useTopic.ts index 9f5ee513..d4d17887 100644 --- a/src/renderer/src/hooks/useTopic.ts +++ b/src/renderer/src/hooks/useTopic.ts @@ -1,9 +1,13 @@ -import { Assistant } from '@renderer/types' +import { Assistant, Topic } from '@renderer/types' import { find } from 'lodash' import { useEffect, useState } from 'react' +let _activeTopic: Topic + export function useActiveTopic(assistant: Assistant) { - const [activeTopic, setActiveTopic] = useState(assistant?.topics[0]) + const [activeTopic, setActiveTopic] = useState(_activeTopic || assistant?.topics[0]) + + _activeTopic = activeTopic useEffect(() => { // activeTopic not in assistant.topics diff --git a/src/renderer/src/pages/home/HomePage.tsx b/src/renderer/src/pages/home/HomePage.tsx index 975225df..04beb829 100644 --- a/src/renderer/src/pages/home/HomePage.tsx +++ b/src/renderer/src/pages/home/HomePage.tsx @@ -8,14 +8,19 @@ import { uuid } from '@renderer/utils' import { useShowAssistants, useShowRightSidebar } from '@renderer/hooks/useStore' import Navigation from './components/NavigationCenter' import { isMac, isWindows } from '@renderer/config/constant' +import { Assistant } from '@renderer/types' + +let _activeAssistant: Assistant const HomePage: FC = () => { const { assistants, addAssistant } = useAssistants() - const [activeAssistant, setActiveAssistant] = useState(assistants[0]) + const [activeAssistant, setActiveAssistant] = useState(_activeAssistant || assistants[0]) const { rightSidebarShown, toggleRightSidebar } = useShowRightSidebar() const { showAssistants, toggleShowAssistants } = useShowAssistants() const { defaultAssistant } = useDefaultAssistant() + _activeAssistant = activeAssistant + const onCreateAssistant = () => { const assistant = { ...defaultAssistant, id: uuid() } addAssistant(assistant)