55 lines
1.9 KiB
TypeScript
55 lines
1.9 KiB
TypeScript
'use client'
|
|
|
|
import type { RefObject } from 'react'
|
|
import type {
|
|
Callback,
|
|
ChatConfig,
|
|
ChatItem,
|
|
Feedback,
|
|
} from '../types'
|
|
import type { ThemeBuilder } from '../embedded-chatbot/theme/theme-context'
|
|
import type {
|
|
AppConversationData,
|
|
AppData,
|
|
AppMeta,
|
|
ConversationItem,
|
|
} from '@/models/share'
|
|
import { createSelectorCtx } from '@/utils/context'
|
|
|
|
export type ChatWithHistoryContextValue = {
|
|
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
|
|
handlePinConversation: (conversationId: string) => void
|
|
handleUnpinConversation: (conversationId: string) => void
|
|
handleDeleteConversation: (conversationId: string, callback: Callback) => void
|
|
conversationRenaming: boolean
|
|
handleRenameConversation: (conversationId: string, newName: string, callback: Callback) => 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 [, useChatWithHistoryContext, ChatWithHistoryContext] = createSelectorCtx<ChatWithHistoryContextValue>()
|