|
9 | 9 | DialogTitle, |
10 | 10 | } from "@/components/ui/dialog"; |
11 | 11 | import { useThirdwebClient } from "@/constants/thirdweb.client"; |
12 | | -import { ArrowRightIcon } from "lucide-react"; |
| 12 | +import { ArrowRightIcon, MessageSquareXIcon } from "lucide-react"; |
13 | 13 | import Link from "next/link"; |
14 | 14 | import { useCallback, useEffect, useMemo, useRef, useState } from "react"; |
15 | 15 | import { |
@@ -263,8 +263,11 @@ export function ChatPageContent(props: { |
263 | 263 | const showEmptyState = |
264 | 264 | !userHasSubmittedMessage && |
265 | 265 | messages.length === 0 && |
| 266 | + !props.session && |
266 | 267 | !props.initialParams?.q; |
267 | 268 |
|
| 269 | + const sessionWithNoMessages = props.session && messages.length === 0; |
| 270 | + |
268 | 271 | const connectedWalletsMeta: WalletMeta[] = connectedWallets.map((x) => ({ |
269 | 272 | address: x.getAccount()?.address || "", |
270 | 273 | walletId: x.id, |
@@ -318,17 +321,35 @@ export function ChatPageContent(props: { |
318 | 321 | </div> |
319 | 322 | ) : ( |
320 | 323 | <div className="fade-in-0 relative z-[0] flex max-h-full flex-1 animate-in flex-col overflow-hidden"> |
321 | | - <Chats |
322 | | - messages={messages} |
323 | | - isChatStreaming={isChatStreaming} |
324 | | - authToken={props.authToken} |
325 | | - sessionId={sessionId} |
326 | | - className="min-w-0 pt-6 pb-32" |
327 | | - client={client} |
328 | | - enableAutoScroll={enableAutoScroll} |
329 | | - setEnableAutoScroll={setEnableAutoScroll} |
330 | | - sendMessage={handleSendMessage} |
331 | | - /> |
| 324 | + {sessionWithNoMessages && ( |
| 325 | + <div className="container flex max-h-full max-w-[800px] flex-1 flex-col justify-center py-8"> |
| 326 | + <div className="flex flex-col items-center justify-center p-4"> |
| 327 | + <div className="mb-5 rounded-full border bg-card p-3"> |
| 328 | + <MessageSquareXIcon className="size-6 text-muted-foreground" /> |
| 329 | + </div> |
| 330 | + <p className="mb-1 text-center text-foreground"> |
| 331 | + No messages found |
| 332 | + </p> |
| 333 | + <p className="text-balance text-center text-muted-foreground text-sm"> |
| 334 | + This session was aborted before receiving any messages |
| 335 | + </p> |
| 336 | + </div> |
| 337 | + </div> |
| 338 | + )} |
| 339 | + |
| 340 | + {messages.length > 0 && ( |
| 341 | + <Chats |
| 342 | + messages={messages} |
| 343 | + isChatStreaming={isChatStreaming} |
| 344 | + authToken={props.authToken} |
| 345 | + sessionId={sessionId} |
| 346 | + className="min-w-0 pt-6 pb-32" |
| 347 | + client={client} |
| 348 | + enableAutoScroll={enableAutoScroll} |
| 349 | + setEnableAutoScroll={setEnableAutoScroll} |
| 350 | + sendMessage={handleSendMessage} |
| 351 | + /> |
| 352 | + )} |
332 | 353 |
|
333 | 354 | <div className="container max-w-[800px]"> |
334 | 355 | <ChatBar |
|
0 commit comments