@@ -6,8 +6,6 @@ import { oneDark } from 'react-syntax-highlighter/dist/cjs/styles/prism'
6
6
import rehypeKatex from 'rehype-katex'
7
7
import remarkGfm from 'remark-gfm'
8
8
import remarkMath from 'remark-math'
9
- import type { ActivityPeriod } from '../../types'
10
- import { ConversationSplash } from './general/ConversationSplash'
11
9
import { LoadingMessage } from './general/LoadingMessage'
12
10
import { preprocessMath } from './util'
13
11
import 'katex/dist/katex.min.css'
@@ -17,7 +15,7 @@ import { t } from 'i18next'
17
15
import FormatQuoteIcon from '@mui/icons-material/FormatQuote'
18
16
import useLocalStorageState from '../../hooks/useLocalStorageState'
19
17
import { BlueButton } from './general/Buttons'
20
- import type { ChatMessage , Message , ToolCallResultEvent , ToolCallStatusEvent } from '../../../shared/chat'
18
+ import type { ChatMessage , ToolCallResultEvent , ToolCallStatusEvent } from '../../../shared/chat'
21
19
import { useId , useMemo } from 'react'
22
20
23
21
const UserMessage = ( { content, attachments } : { content : string ; attachments ?: string } ) => (
@@ -269,7 +267,7 @@ const AssistantMessage = ({
269
267
)
270
268
}
271
269
272
- const MessageItem = ( { message, setActiveToolResult } : { message : ChatMessage ; setActiveToolResult : ( data : ToolCallResultEvent ) => void } ) => {
270
+ export const MessageItem = ( { message, setActiveToolResult } : { message : ChatMessage ; setActiveToolResult : ( data : ToolCallResultEvent ) => void } ) => {
273
271
if ( message . role === 'assistant' ) {
274
272
return (
275
273
< Box
@@ -291,23 +289,19 @@ const MessageItem = ({ message, setActiveToolResult }: { message: ChatMessage; s
291
289
}
292
290
293
291
export const Conversation = ( {
294
- courseName,
295
- courseDate,
296
- conversationRef,
297
292
messages,
298
293
completion,
299
294
toolCalls,
300
295
isStreaming,
301
296
setActiveToolResult,
297
+ initial,
302
298
} : {
303
- courseName ?: string
304
- courseDate ?: ActivityPeriod
305
- conversationRef : React . RefObject < HTMLElement >
306
299
messages : ChatMessage [ ]
307
300
completion : string
308
301
toolCalls : { [ callId : string ] : ToolCallStatusEvent }
309
302
isStreaming : boolean
310
303
setActiveToolResult : ( data : ToolCallResultEvent ) => void
304
+ initial ?: React . ReactElement
311
305
} ) => {
312
306
const [ reminderSeen , setReminderSeen ] = useLocalStorageState < boolean > ( 'reminderSeen' , false )
313
307
@@ -323,9 +317,8 @@ export const Conversation = ({
323
317
padding : '1rem 0' ,
324
318
justifyContent : messages . length === 0 ? 'center' : 'flex-start' ,
325
319
} }
326
- ref = { conversationRef }
327
320
>
328
- { messages . length === 0 && < ConversationSplash courseName = { courseName } courseDate = { courseDate } /> }
321
+ { messages . length === 0 && initial }
329
322
{ messages . map ( ( message , idx ) => {
330
323
return < MessageItem key = { idx } message = { message } setActiveToolResult = { setActiveToolResult } />
331
324
} ) }
0 commit comments