@@ -43,7 +43,6 @@ export default function TextChat({ messages }) {
43
43
} , [ convo ?. conversationId ] ) ;
44
44
45
45
const messageHandler = ( data , currentState , currentMsg ) => {
46
-
47
46
const { messages, _currentMsg, message, sender, isRegenerate } = currentState ;
48
47
49
48
if ( isRegenerate )
@@ -79,9 +78,32 @@ export default function TextChat({ messages }) {
79
78
const { messages, _currentMsg, message, sender, isRegenerate } = currentState ;
80
79
81
80
if ( isRegenerate )
82
- dispatch ( setMessages ( [ ...messages , { sender, text : data , parentMessageId : message ?. overrideParentMessageId , messageId : message ?. overrideParentMessageId + '_' , cancelled : true } ] ) ) ;
81
+ dispatch (
82
+ setMessages ( [
83
+ ...messages ,
84
+ {
85
+ sender,
86
+ text : data ,
87
+ parentMessageId : message ?. overrideParentMessageId ,
88
+ messageId : message ?. overrideParentMessageId + '_' ,
89
+ cancelled : true
90
+ }
91
+ ] )
92
+ ) ;
83
93
else
84
- dispatch ( setMessages ( [ ...messages , currentMsg , { sender, text : data , parentMessageId : currentMsg ?. messageId , messageId : currentMsg ?. messageId + '_' , cancelled : true } ] ) ) ;
94
+ dispatch (
95
+ setMessages ( [
96
+ ...messages ,
97
+ currentMsg ,
98
+ {
99
+ sender,
100
+ text : data ,
101
+ parentMessageId : currentMsg ?. messageId ,
102
+ messageId : currentMsg ?. messageId + '_' ,
103
+ cancelled : true
104
+ }
105
+ ] )
106
+ ) ;
85
107
} ;
86
108
87
109
const createdHandler = ( data , currentState , currentMsg ) => {
@@ -100,14 +122,8 @@ export default function TextChat({ messages }) {
100
122
const { messages, _currentMsg, message, isCustomModel, sender, isRegenerate } =
101
123
currentState ;
102
124
const { model, chatGptLabel, promptPrefix } = message ;
103
- if ( isRegenerate )
104
- dispatch (
105
- setMessages ( [ ...messages , responseMessage , ] )
106
- ) ;
107
- else
108
- dispatch (
109
- setMessages ( [ ...messages , requestMessage , responseMessage , ] )
110
- ) ;
125
+ if ( isRegenerate ) dispatch ( setMessages ( [ ...messages , responseMessage ] ) ) ;
126
+ else dispatch ( setMessages ( [ ...messages , requestMessage , responseMessage ] ) ) ;
111
127
dispatch ( setSubmitState ( false ) ) ;
112
128
113
129
const isBing = model === 'bingai' || model === 'sydney' ;
@@ -211,7 +227,7 @@ export default function TextChat({ messages }) {
211
227
212
228
let currentMsg = { ...currentState . message } ;
213
229
let latestResponseText = '' ;
214
-
230
+
215
231
const { server, payload } = createPayload ( submission ) ;
216
232
const onMessage = ( e ) => {
217
233
if ( stopStream ) {
@@ -271,8 +287,8 @@ export default function TextChat({ messages }) {
271
287
const isCancelled = events . readyState <= 1 ;
272
288
events . close ( ) ;
273
289
if ( isCancelled ) {
274
- const e = new Event ( " cancel" ) ;
275
- events . dispatchEvent ( e )
290
+ const e = new Event ( ' cancel' ) ;
291
+ events . dispatchEvent ( e ) ;
276
292
}
277
293
} ;
278
294
} , [ submission ] ) ;
@@ -328,11 +344,11 @@ export default function TextChat({ messages }) {
328
344
} ;
329
345
330
346
return (
331
- < div className = "input-panel fixed md:absolute bottom-0 left-0 w-full border-t md:border-t-0 dark:border-white/20 md:border-transparent md:dark :border-transparent md:bg-vert-light-gradient bg-white dark :bg-gray-800 md:dark:bg -transparent md:bg-transparent dark:md: bg-vert-dark-gradient py-2 " >
332
- < form className = "stretch mx-2 flex flex-row gap-3 md:pt -2 last:mb -2 md:last:mb-6 lg:mx-auto lg:max-w-3xl lg:pt-6" >
347
+ < div className = "input-panel md:bg-vert-light-gradient dark: md:bg-vert-dark-gradient fixed bottom-0 left-0 w-full border-t bg-white py-2 dark:border-white/20 dark:bg-gray-800 md:absolute md :border-t-0 md:border-transparent md :bg-transparent md:dark:border -transparent md:dark:bg-transparent " >
348
+ < form className = "stretch mx-2 flex flex-row gap-3 last:mb -2 md:pt -2 md:last:mb-6 lg:mx-auto lg:max-w-3xl lg:pt-6" >
333
349
< div className = "relative flex h-full flex-1 md:flex-col" >
334
- < span className = "flex ml-1 md:w-full md:m-auto md:mb-2 gap-0 md:gap-2 justify-center order-last md:order-none " >
335
- { isSubmitting ?
350
+ < span className = "order-last ml-1 flex justify-center gap-0 md:order-none md:m-auto md:mb-2 md:w-full md:gap-2 " >
351
+ { isSubmitting ? (
336
352
< button
337
353
onClick = { handleStopGenerating }
338
354
className = "input-panel-button btn btn-neutral flex justify-center gap-2 border-0 md:border"
@@ -341,17 +357,16 @@ export default function TextChat({ messages }) {
341
357
< StopGeneratingIcon />
342
358
< span className = "hidden md:block" > Stop generating</ span >
343
359
</ button >
344
- :( latestMessage && ! latestMessage ?. isCreatedByUser ) ?
345
- < button
346
- onClick = { handleRegenerate }
347
- className = "input-panel-button btn btn-neutral flex justify-center gap-2 border-0 md:border"
348
- type = "button"
349
- >
350
- < RegenerateIcon />
351
- < span className = "hidden md:block" > Regenerate response</ span >
352
- </ button >
353
- :null
354
- }
360
+ ) : latestMessage && ! latestMessage ?. isCreatedByUser ? (
361
+ < button
362
+ onClick = { handleRegenerate }
363
+ className = "input-panel-button btn btn-neutral flex justify-center gap-2 border-0 md:border"
364
+ type = "button"
365
+ >
366
+ < RegenerateIcon />
367
+ < span className = "hidden md:block" > Regenerate response</ span >
368
+ </ button >
369
+ ) : null }
355
370
</ span >
356
371
< div
357
372
className = { `relative flex flex-grow flex-col rounded-md border border-black/10 ${
@@ -367,17 +382,26 @@ export default function TextChat({ messages }) {
367
382
ref = { inputRef }
368
383
// style={{maxHeight: '200px', height: '24px', overflowY: 'hidden'}}
369
384
rows = "1"
370
- value = { ( disabled || isNotAppendable ) ? '' : text }
385
+ value = { disabled || isNotAppendable ? '' : text }
371
386
onKeyUp = { handleKeyUp }
372
387
onKeyDown = { handleKeyDown }
373
388
onChange = { changeHandler }
374
389
onCompositionStart = { handleCompositionStart }
375
390
onCompositionEnd = { handleCompositionEnd }
376
- placeholder = { disabled ? 'Choose another model or customize GPT again' : isNotAppendable ? 'Try to regenerate the incomplete response.' : '' }
391
+ placeholder = {
392
+ disabled
393
+ ? 'Choose another model or customize GPT again'
394
+ : isNotAppendable
395
+ ? 'Edit your message or Regenerate.'
396
+ : ''
397
+ }
398
+ disabled = { disabled || isNotAppendable }
399
+ className = "m-0 h-auto max-h-52 resize-none overflow-auto border-0 bg-transparent p-0 pl-12 pr-8 leading-6 placeholder:text-sm focus:outline-none focus:ring-0 focus-visible:ring-0 dark:bg-transparent md:pl-8"
400
+ />
401
+ < SubmitButton
402
+ submitMessage = { submitMessage }
377
403
disabled = { disabled || isNotAppendable }
378
- className = "m-0 h-auto max-h-52 resize-none overflow-auto border-0 bg-transparent p-0 pl-12 pr-8 leading-6 focus:outline-none focus:ring-0 focus-visible:ring-0 dark:bg-transparent md:pl-8"
379
404
/>
380
- < SubmitButton submitMessage = { submitMessage } disabled = { disabled || isNotAppendable } />
381
405
</ div >
382
406
</ div >
383
407
</ form >
0 commit comments