feat: Enhance chat functionality with follow-up message handling
- Added logic to determine the visibility of follow-up messages based on the presence of user and assistant bubbles below the current message. - Updated the AssistantMessageWidget to accept a new parameter `showFollowUps`, allowing for conditional rendering of follow-up messages. - Improved the user experience by ensuring follow-up messages are displayed appropriately based on the chat context.
This commit is contained in:
@@ -45,6 +45,7 @@ final _fileIdPattern = RegExp(r'/api/v1/files/([^/]+)/content');
|
||||
class AssistantMessageWidget extends ConsumerStatefulWidget {
|
||||
final dynamic message;
|
||||
final bool isStreaming;
|
||||
final bool showFollowUps;
|
||||
final String? modelName;
|
||||
final String? modelIconUrl;
|
||||
final VoidCallback? onCopy;
|
||||
@@ -56,6 +57,7 @@ class AssistantMessageWidget extends ConsumerStatefulWidget {
|
||||
super.key,
|
||||
required this.message,
|
||||
this.isStreaming = false,
|
||||
this.showFollowUps = true,
|
||||
this.modelName,
|
||||
this.modelIconUrl,
|
||||
this.onCopy,
|
||||
@@ -608,7 +610,9 @@ class _AssistantMessageWidgetState extends ConsumerState<AssistantMessageWidget>
|
||||
final hasStatusTimeline = visibleStatusHistory.isNotEmpty;
|
||||
final hasCodeExecutions = widget.message.codeExecutions.isNotEmpty;
|
||||
final hasFollowUps =
|
||||
widget.message.followUps.isNotEmpty && !widget.isStreaming;
|
||||
widget.showFollowUps &&
|
||||
widget.message.followUps.isNotEmpty &&
|
||||
!widget.isStreaming;
|
||||
final hasSources = widget.message.sources.isNotEmpty;
|
||||
|
||||
return Container(
|
||||
|
||||
Reference in New Issue
Block a user