Spaces:
Build error
Build error
'use client' | |
import type { RefObject } from 'react' | |
import { createContext, useContext } from 'use-context-selector' | |
import type { | |
ChatConfig, | |
ChatItem, | |
Feedback, | |
} from '../types' | |
import type { ThemeBuilder } from './theme/theme-context' | |
import type { | |
AppConversationData, | |
AppData, | |
AppMeta, | |
ConversationItem, | |
} from '@/models/share' | |
export type EmbeddedChatbotContextValue = { | |
appInfoError?: any | |
appInfoLoading?: boolean | |
appMeta?: AppMeta | |
appData?: AppData | |
appParams?: ChatConfig | |
appChatListDataLoading?: boolean | |
currentConversationId: string | |
currentConversationItem?: ConversationItem | |
appPrevChatList: ChatItem[] | |
pinnedConversationList: AppConversationData['data'] | |
conversationList: AppConversationData['data'] | |
showConfigPanelBeforeChat: boolean | |
newConversationInputs: Record<string, any> | |
newConversationInputsRef: RefObject<Record<string, any>> | |
handleNewConversationInputsChange: (v: Record<string, any>) => void | |
inputsForms: any[] | |
handleNewConversation: () => void | |
handleStartChat: () => void | |
handleChangeConversation: (conversationId: string) => void | |
handleNewConversationCompleted: (newConversationId: string) => void | |
chatShouldReloadKey: string | |
isMobile: boolean | |
isInstalledApp: boolean | |
appId?: string | |
handleFeedback: (messageId: string, feedback: Feedback) => void | |
currentChatInstanceRef: RefObject<{ handleStop: () => void }> | |
themeBuilder?: ThemeBuilder | |
} | |
export const EmbeddedChatbotContext = createContext<EmbeddedChatbotContextValue>({ | |
currentConversationId: '', | |
appPrevChatList: [], | |
pinnedConversationList: [], | |
conversationList: [], | |
showConfigPanelBeforeChat: false, | |
newConversationInputs: {}, | |
newConversationInputsRef: { current: {} }, | |
handleNewConversationInputsChange: () => {}, | |
inputsForms: [], | |
handleNewConversation: () => {}, | |
handleStartChat: () => {}, | |
handleChangeConversation: () => {}, | |
handleNewConversationCompleted: () => {}, | |
chatShouldReloadKey: '', | |
isMobile: false, | |
isInstalledApp: false, | |
handleFeedback: () => {}, | |
currentChatInstanceRef: { current: { handleStop: () => {} } }, | |
}) | |
export const useEmbeddedChatbotContext = () => useContext(EmbeddedChatbotContext) | |