Files
ai_chat_assistant/lib/widgets/chat_box.dart
guangfei.zhao a7ed838c92 feat: 新增ai_chat_core,将core 和 widget 分离(未完成)
迁移了 models enums, utils, http 封装,还有一些extensions;service 只迁移了 sse service
2025-09-29 18:33:46 +08:00

42 lines
1.1 KiB
Dart

import 'package:ai_chat_core/ai_chat_core.dart';
import 'package:flutter/material.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 Container(
constraints: const BoxConstraints(
minHeight: 60,
),
child: ListView.builder(
controller: scrollController,
itemCount: messages.length,
reverse: true,
padding: const EdgeInsets.symmetric(horizontal: 12),
shrinkWrap: true,
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),
);
},
),
);
}
}