11import { ChatRequestOptions , Message } from 'ai' ;
2- import { PreviewMessage , ThinkingMessage } from './message' ;
3- import { useScrollToBottom } from './use-scroll-to-bottom' ;
4- import { Overview } from './overview' ;
2+ import equal from 'fast-deep-equal' ;
53import { memo } from 'react' ;
4+
65import { Vote } from '@/lib/db/schema' ;
7- import equal from 'fast-deep-equal' ;
6+
7+ import { PreviewMessage , ThinkingMessage } from './message' ;
8+ import { Overview } from './overview' ;
9+ import { useScrollToBottom } from './use-scroll-to-bottom' ;
810
911interface MessagesProps {
1012 chatId : string ;
@@ -33,14 +35,16 @@ function PureMessages({
3335 const [ messagesContainerRef , messagesEndRef ] =
3436 useScrollToBottom < HTMLDivElement > ( ) ;
3537
38+ const nonEmptyMessages = messages . filter ( ( message ) => message . content ) ;
39+
3640 return (
3741 < div
3842 ref = { messagesContainerRef }
3943 className = "flex flex-col min-w-0 gap-6 flex-1 overflow-y-scroll pt-4"
4044 >
41- { messages . length === 0 && < Overview /> }
45+ { nonEmptyMessages . length === 0 && < Overview /> }
4246
43- { messages . map ( ( message , index ) => (
47+ { nonEmptyMessages . map ( ( message , index ) => (
4448 < PreviewMessage
4549 key = { message . id }
4650 chatId = { chatId }
@@ -58,8 +62,10 @@ function PureMessages({
5862 ) ) }
5963
6064 { isLoading &&
61- messages . length > 0 &&
62- messages [ messages . length - 1 ] . role === 'user' && < ThinkingMessage /> }
65+ nonEmptyMessages . length > 0 &&
66+ nonEmptyMessages [ nonEmptyMessages . length - 1 ] . role === 'user' && (
67+ < ThinkingMessage />
68+ ) }
6369
6470 < div
6571 ref = { messagesEndRef }
0 commit comments