Ask Mzansi Activates chat

This commit is contained in:
2025-06-02 10:33:34 +02:00
parent 42177b2528
commit e9b97a4e11
9 changed files with 197 additions and 100 deletions

View File

@@ -1,15 +1,19 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_ai/package_tools/ai_chat.dart';
import 'package:flutter/material.dart';
class MzansiAi extends StatefulWidget {
final AppUser signedInUser;
// final AppUser signedInUser;
// final String? startUpQuestion;
final MzansiAiArguments arguments;
const MzansiAi({
super.key,
required this.signedInUser,
required this.arguments,
// required this.signedInUser,
// this.startUpQuestion,
});
@override
@@ -46,7 +50,10 @@ class _MzansiAiState extends State<MzansiAi> {
List<Widget> getToolBody() {
List<Widget> toolBodies = [
AiChat(signedInUser: widget.signedInUser),
AiChat(
signedInUser: widget.arguments.signedInUser,
startUpQuestion: widget.arguments.startUpQuestion,
),
];
return toolBodies;
}

View File

@@ -3,6 +3,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
class MzansiAiTile extends StatefulWidget {
final AppUser signedInUser;
@@ -25,7 +26,10 @@ class _MzansiAiTileState extends State<MzansiAiTile> {
onTap: () {
Navigator.of(context).pushNamed(
'/mzansi-ai',
arguments: widget.signedInUser,
arguments: MzansiAiArguments(
widget.signedInUser,
"",
),
);
},
appName: "Mzansi AI",

View File

@@ -21,9 +21,11 @@ import 'package:uuid/uuid.dart';
class AiChat extends StatefulWidget {
final AppUser signedInUser;
final String? startUpQuestion;
const AiChat({
super.key,
required this.signedInUser,
this.startUpQuestion,
});
@override
@@ -593,6 +595,12 @@ class _AiChatState extends State<AiChat> {
_loadMessages();
initTTS();
_ttsVoiceController.addListener(voiceSelected);
if (widget.startUpQuestion != null && widget.startUpQuestion!.isNotEmpty) {
final partialText = types.PartialText(text: widget.startUpQuestion!);
WidgetsBinding.instance.addPostFrameCallback((_) {
_handleSendPressed(partialText);
});
}
}
@override