diff --git a/frontend/lib/viewmodels/chat_viewmodel.dart b/frontend/lib/viewmodels/chat_viewmodel.dart index f85c9d5e..345c599d 100644 --- a/frontend/lib/viewmodels/chat_viewmodel.dart +++ b/frontend/lib/viewmodels/chat_viewmodel.dart @@ -103,7 +103,8 @@ class ChatViewModel with ChangeNotifier { } /// Sends a chat message for a specific task. - void sendChatMessage(String? message) async { + void sendChatMessage(String? message, + {required int continuousModeSteps, int currentStep = 1}) async { if (_currentTaskId == null) { print("Error: Task ID is not set."); return; @@ -147,7 +148,14 @@ class ChatViewModel with ChangeNotifier { notifyListeners(); if (_isContinuousMode) { - sendChatMessage(null); + print("Continuous Mode: Step $currentStep of $continuousModeSteps"); + if (currentStep < continuousModeSteps) { + sendChatMessage(null, + continuousModeSteps: continuousModeSteps, + currentStep: currentStep + 1); + } else { + _isContinuousMode = false; + } } print("Chats added for task ID: $_currentTaskId"); diff --git a/frontend/lib/views/chat/chat_view.dart b/frontend/lib/views/chat/chat_view.dart index 42d33590..34517d0b 100644 --- a/frontend/lib/views/chat/chat_view.dart +++ b/frontend/lib/views/chat/chat_view.dart @@ -1,4 +1,5 @@ import 'package:auto_gpt_flutter_client/models/message_type.dart'; +import 'package:auto_gpt_flutter_client/viewmodels/settings_viewmodel.dart'; import 'package:auto_gpt_flutter_client/viewmodels/task_viewmodel.dart'; import 'package:auto_gpt_flutter_client/views/chat/agent_message_tile.dart'; import 'package:auto_gpt_flutter_client/views/chat/chat_input_field.dart'; @@ -94,13 +95,19 @@ class _ChatViewState extends State { child: ChatInputField( onSendPressed: (message) async { if (widget.viewModel.currentTaskId != null) { - widget.viewModel - .sendChatMessage((message == "") ? null : message); + widget.viewModel.sendChatMessage( + (message == "") ? null : message, + continuousModeSteps: + Provider.of(context, listen: false) + .continuousModeSteps); } else { String newTaskId = await taskViewModel.createTask(message); widget.viewModel.setCurrentTaskId(newTaskId); - widget.viewModel - .sendChatMessage((message == "") ? null : message); + widget.viewModel.sendChatMessage( + (message == "") ? null : message, + continuousModeSteps: + Provider.of(context, listen: false) + .continuousModeSteps); } }, onContinuousModePressed: () {