Files
ai_chat_assistant/lib/widgets/chat_box.dart
Chen Li 130755f9e1 0812
2025-08-12 13:36:42 +08:00

36 lines
972 B
Dart

import 'package:flutter/material.dart';
import '../models/chat_message.dart';
import 'chat_bubble.dart';
class ChatBox extends StatelessWidget {
final ScrollController scrollController;
final List<ChatMessage> messages;
const ChatBox({
super.key,
required this.scrollController,
required this.messages,
});
@override
Widget build(BuildContext context) {
return ListView.builder(
controller: scrollController,
itemCount: messages.length,
reverse: true,
padding: const EdgeInsets.symmetric(horizontal: 12),
itemBuilder: (context, index) {
final message = messages[messages.length - 1 - index];
final isTop = index == messages.length - 1;
final isBottom = index == 0;
return Padding(
padding: EdgeInsets.only(
top: isTop ? 0 : 6,
bottom: isBottom ? 0 : 6,
),
child: ChatBubble(message: message),
);
},
);
}
}