|
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