fix: default assistant topic id

This commit is contained in:
kangfenmao 2024-07-05 13:51:36 +08:00
parent 1d67845c69
commit 4060010bc3
4 changed files with 17 additions and 8 deletions

View File

@ -1,3 +1,4 @@
import { getDefaultTopic } from '@renderer/services/assistant'
import { useAppDispatch, useAppSelector } from '@renderer/store'
import {
addTopic as _addTopic,
@ -53,7 +54,10 @@ export function useDefaultAssistant() {
const dispatch = useAppDispatch()
return {
defaultAssistant,
defaultAssistant: {
...defaultAssistant,
topics: [getDefaultTopic()]
},
updateDefaultAssistant: (assistant: Assistant) => dispatch(_updateDefaultAssistant({ assistant }))
}
}

View File

@ -39,7 +39,11 @@ const HomePage: FC = () => {
</NavbarRight>
</Navbar>
<ContentContainer>
<Assistants activeAssistant={activeAssistant} onActive={setActiveAssistant} />
<Assistants
activeAssistant={activeAssistant}
setActiveAssistant={setActiveAssistant}
onCreateAssistant={onCreateAssistant}
/>
<Chat assistant={activeAssistant} />
</ContentContainer>
</Container>

View File

@ -9,10 +9,11 @@ import { DeleteOutlined, EditOutlined } from '@ant-design/icons'
interface Props {
activeAssistant: Assistant
onActive: (assistant: Assistant) => void
setActiveAssistant: (assistant: Assistant) => void
onCreateAssistant: () => void
}
const Assistants: FC<Props> = ({ activeAssistant, onActive }) => {
const Assistants: FC<Props> = ({ activeAssistant, setActiveAssistant, onCreateAssistant }) => {
const { assistants, removeAssistant, updateAssistant } = useAssistants()
const targetAssistant = useRef<Assistant | null>(null)
@ -20,7 +21,7 @@ const Assistants: FC<Props> = ({ activeAssistant, onActive }) => {
removeAssistant(assistant.id)
setTimeout(() => {
const _assistant = last(assistants.filter((a) => a.id !== assistant.id))
_assistant && onActive(_assistant)
_assistant ? setActiveAssistant(_assistant) : onCreateAssistant()
}, 0)
}
@ -57,7 +58,7 @@ const Assistants: FC<Props> = ({ activeAssistant, onActive }) => {
trigger={['contextMenu']}
onOpenChange={() => (targetAssistant.current = assistant)}>
<AssistantItem
onClick={() => onActive(assistant)}
onClick={() => setActiveAssistant(assistant)}
className={assistant.id === activeAssistant?.id ? 'active' : ''}>
<AssistantName>{assistant.name}</AssistantName>
<AssistantLastMessage>{assistant.description}</AssistantLastMessage>

View File

@ -10,7 +10,7 @@ interface Props {
activeAssistant: Assistant
}
const NavigationCenter: FC<Props> = ({ activeAssistant }) => {
const Navigation: FC<Props> = ({ activeAssistant }) => {
const providers = useProviders()
const { model, setModel } = useAssistant(activeAssistant.id)
@ -42,4 +42,4 @@ const DropdownMenu = styled(Dropdown)`
margin-left: 10px;
`
export default NavigationCenter
export default Navigation