Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1x 1x 1x 1x 24x 24x 24x 24x 24x 24x 36x 36x 36x 36x 24x 24x 12x 12x 12x 12x 12x 12x 12x 12x 12x 24x 24x | import React from 'react'; import type { Message } from './types'; import { MessageBubble } from './MessageBubble'; import { LoadingIndicator } from './LoadingIndicator'; interface MessageListProps { messages: Message[]; isLoading?: boolean; } export const MessageList: React.FC<MessageListProps> = ({ messages, isLoading = false }) => { return ( <div className="message-list"> {messages.map((message) => ( <MessageBubble key={message.id} message={message} /> ))} {isLoading && ( <div className="message-bubble ai-message"> <div className="message-header"> <span className="sender-name">家庭智慧助手</span> <span className="message-time">正在思考...</span> </div> <div className="message-content"> <LoadingIndicator /> </div> </div> )} </div> ); }; |