@@ -10,7 +10,7 @@ import { FileSearchResult, ResponseStreamEventData } from '../../../shared/types
10
10
import useRetryTimeout from '../../hooks/useRetryTimeout'
11
11
import { useTranslation } from 'react-i18next'
12
12
import { handleCompletionStreamError } from './error'
13
- import { Box , Button , IconButton } from '@mui/material'
13
+ import { Box , Button , IconButton , Container } from '@mui/material'
14
14
import { Disclaimer } from './Disclaimer'
15
15
import { Conversation } from './Conversation'
16
16
import { ChatBox } from './ChatBox'
@@ -198,35 +198,48 @@ export const ChatV2 = () => {
198
198
useScrollToBottom ( chatContainerRef , appContainerRef , messages )
199
199
200
200
return (
201
- < Box
202
- sx = { {
203
- position : 'relative' ,
204
- display : 'flex' ,
205
- flexDirection : 'column' ,
206
- } }
207
- >
208
- < SettingsModal
209
- open = { settingsModalOpen }
210
- setOpen = { setSettingsModalOpen }
211
- model = { model . name }
212
- setModel = { ( name ) => setModel ( { name } ) }
213
- setRagIndex = { setRagIndexId }
214
- ragIndices = { ragIndices }
215
- currentRagIndex = { ragIndex }
216
- />
217
- < Box sx = { { display : 'flex' , justifyContent : 'space-between' , alignItems : 'center' } } >
218
- < Box sx = { { display : 'flex' , gap : '1rem' } } >
219
- { disclaimerInfo && < Disclaimer disclaimer = { disclaimerInfo } /> }
220
- < SystemPrompt content = { system . content } setContent = { ( content ) => setSystem ( { content } ) } />
221
- < Button onClick = { handleReset } > Reset</ Button >
222
- < IconButton onClick = { ( ) => setSettingsModalOpen ( true ) } title = "Settings" >
223
- < Settings > </ Settings >
224
- </ IconButton >
225
- </ Box >
226
- { courseId ? < Link to = { '/v2' } > CurreChat</ Link > : < Link to = { '/v2/sandbox' } > Ohtu Sandbox</ Link > }
201
+ < Box sx = { { display : 'flex' , flexDirection : 'row' , p : 0 } } >
202
+ { /* Course chats columns */ }
203
+ < Box sx = { { flex : 1 , borderRight : '1px solid lightgray' } } >
204
+ < div > Course Chats</ div >
227
205
</ Box >
228
- < Box sx = { { display : 'flex' } } >
229
- < Box ref = { chatContainerRef } flex = { 1 } >
206
+
207
+ < Box
208
+ sx = { {
209
+ flex : 4 ,
210
+ position : 'relative' ,
211
+ display : 'flex' ,
212
+ flexDirection : 'column' ,
213
+ p : '2rem' ,
214
+ } }
215
+ >
216
+ < SettingsModal
217
+ open = { settingsModalOpen }
218
+ setOpen = { setSettingsModalOpen }
219
+ model = { model . name }
220
+ setModel = { ( name ) => setModel ( { name } ) }
221
+ setRagIndex = { setRagIndexId }
222
+ ragIndices = { ragIndices }
223
+ currentRagIndex = { ragIndex }
224
+ />
225
+ < Box
226
+ sx = { {
227
+ display : 'flex' ,
228
+ justifyContent : 'space-between' ,
229
+ alignItems : 'center' ,
230
+ } }
231
+ >
232
+ < Box sx = { { display : 'flex' , gap : '1rem' } } >
233
+ { disclaimerInfo && < Disclaimer disclaimer = { disclaimerInfo } /> }
234
+ < SystemPrompt content = { system . content } setContent = { ( content ) => setSystem ( { content } ) } />
235
+ < Button onClick = { handleReset } > Reset</ Button >
236
+ < IconButton onClick = { ( ) => setSettingsModalOpen ( true ) } title = "Settings" >
237
+ < Settings > </ Settings >
238
+ </ IconButton >
239
+ </ Box >
240
+ { courseId ? < Link to = { '/v2' } > CurreChat</ Link > : < Link to = { '/v2/sandbox' } > Ohtu Sandbox</ Link > }
241
+ </ Box >
242
+ < Box sx = { { display : 'flex' , width : '100%' } } >
230
243
< Conversation messages = { messages } completion = { completion } fileSearchResult = { fileSearchResult } />
231
244
< ChatBox
232
245
disabled = { false }
@@ -244,6 +257,9 @@ export const ChatV2 = () => {
244
257
</ Box >
245
258
) }
246
259
</ Box >
260
+
261
+ { /* Annotations columns */ }
262
+ < Box sx = { { flex : 1 } } > </ Box >
247
263
</ Box >
248
264
)
249
265
}
0 commit comments