Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Patryk Garstecki <patryk20120@yahoo.pl> Co-authored-by: Sebastian.W <thiner@gmail.com> Co-authored-by: 呆萌闷油瓶 <253605712@qq.com> Co-authored-by: takatost <takatost@users.noreply.github.com> Co-authored-by: rechardwang <wh_goodjob@163.com> Co-authored-by: Nite Knite <nkCoding@gmail.com> Co-authored-by: Chenhe Gu <guchenhe@gmail.com> Co-authored-by: Joshua <138381132+joshua20231026@users.noreply.github.com> Co-authored-by: Weaxs <459312872@qq.com> Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com> Co-authored-by: leejoo0 <81673835+leejoo0@users.noreply.github.com> Co-authored-by: JzoNg <jzongcode@gmail.com> Co-authored-by: sino <sino2322@gmail.com> Co-authored-by: Vikey Chen <vikeytk@gmail.com> Co-authored-by: wanghl <Wang-HL@users.noreply.github.com> Co-authored-by: Haolin Wang-汪皓临 <haolin.wang@atlaslovestravel.com> Co-authored-by: Zixuan Cheng <61724187+Theysua@users.noreply.github.com> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com> Co-authored-by: Bowen Liang <bowenliang@apache.org> Co-authored-by: Bowen Liang <liangbowen@gf.com.cn> Co-authored-by: fanghongtai <42790567+fanghongtai@users.noreply.github.com> Co-authored-by: wxfanghongtai <wxfanghongtai@gf.com.cn> Co-authored-by: Matri <qjp@bithuman.io> Co-authored-by: Benjamin <benjaminx@gmail.com>
51 lines
1.7 KiB
TypeScript
51 lines
1.7 KiB
TypeScript
import { create } from 'zustand'
|
|
import type { App } from '@/types/app'
|
|
import type { IChatItem } from '@/app/components/app/chat/type'
|
|
|
|
type State = {
|
|
appDetail?: App
|
|
appSidebarExpand: string
|
|
currentLogItem?: IChatItem
|
|
currentLogModalActiveTab: string
|
|
showPromptLogModal: boolean
|
|
showAgentLogModal: boolean
|
|
showMessageLogModal: boolean
|
|
}
|
|
|
|
type Action = {
|
|
setAppDetail: (appDetail?: App) => void
|
|
setAppSiderbarExpand: (state: string) => void
|
|
setCurrentLogItem: (item?: IChatItem) => void
|
|
setCurrentLogModalActiveTab: (tab: string) => void
|
|
setShowPromptLogModal: (showPromptLogModal: boolean) => void
|
|
setShowAgentLogModal: (showAgentLogModal: boolean) => void
|
|
setShowMessageLogModal: (showMessageLogModal: boolean) => void
|
|
}
|
|
|
|
export const useStore = create<State & Action>(set => ({
|
|
appDetail: undefined,
|
|
setAppDetail: appDetail => set(() => ({ appDetail })),
|
|
appSidebarExpand: '',
|
|
setAppSiderbarExpand: appSidebarExpand => set(() => ({ appSidebarExpand })),
|
|
currentLogItem: undefined,
|
|
currentLogModalActiveTab: 'DETAIL',
|
|
setCurrentLogItem: currentLogItem => set(() => ({ currentLogItem })),
|
|
setCurrentLogModalActiveTab: currentLogModalActiveTab => set(() => ({ currentLogModalActiveTab })),
|
|
showPromptLogModal: false,
|
|
setShowPromptLogModal: showPromptLogModal => set(() => ({ showPromptLogModal })),
|
|
showAgentLogModal: false,
|
|
setShowAgentLogModal: showAgentLogModal => set(() => ({ showAgentLogModal })),
|
|
showMessageLogModal: false,
|
|
setShowMessageLogModal: showMessageLogModal => set(() => {
|
|
if (showMessageLogModal) {
|
|
return { showMessageLogModal }
|
|
}
|
|
else {
|
|
return {
|
|
showMessageLogModal,
|
|
currentLogModalActiveTab: 'DETAIL',
|
|
}
|
|
}
|
|
}),
|
|
}))
|