From cb5b92c94cb8646ad975e4e92e29e63495d2830e Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Wed, 15 May 2024 13:28:44 -0400 Subject: [PATCH 1/9] implement bot preset select --- assets/l10n/intl_en.arb | 7 +- lib/pangea/constants/model_keys.dart | 2 + lib/pangea/models/bot_options_model.dart | 6 + .../conversation_bot_mode_select.dart | 78 ++++ .../conversation_bot_settings.dart | 111 +++-- needed-translations.txt | 384 +++++++++++++++--- 6 files changed, 495 insertions(+), 93 deletions(-) create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 41eeb498d..cb3375244 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3945,5 +3945,10 @@ "accuracy": "Accuracy", "points": "Points", "noPaymentInfo": "No payment info necessary!", - "updatePhoneOS": "You may need to update your device's OS version." + "updatePhoneOS": "You may need to update your device's OS version.", + "conversationBotPresetSelectDescription": "Bot preset", + "conversationBotPresetSelectOption_discussion": "Discussion", + "conversationBotPresetSelectOption_custom": "Custom", + "conversationBotPresetSelectOption_conversation": "Conversation", + "conversationBotPresetSelectOption_textAdventure": "Text Adventure" } \ No newline at end of file diff --git a/lib/pangea/constants/model_keys.dart b/lib/pangea/constants/model_keys.dart index dd9764fb9..a3d54a408 100644 --- a/lib/pangea/constants/model_keys.dart +++ b/lib/pangea/constants/model_keys.dart @@ -99,4 +99,6 @@ class ModelKey { static const String conversationTopic = "conversation_topic"; static const String keywords = "keywords"; static const String safetyModeration = "safety_moderation"; + static const String preset = "preset"; + static const String custom = "custom"; } diff --git a/lib/pangea/models/bot_options_model.dart b/lib/pangea/models/bot_options_model.dart index 0cba5fd78..041c4f0d3 100644 --- a/lib/pangea/models/bot_options_model.dart +++ b/lib/pangea/models/bot_options_model.dart @@ -12,12 +12,16 @@ class BotOptionsModel { String topic; List keywords; bool safetyModeration; + String preset; + String? custom; BotOptionsModel({ this.languageLevel, this.topic = "General Conversation", this.keywords = const [], this.safetyModeration = true, + this.preset = "discussion", + this.custom = "", }); factory BotOptionsModel.fromJson(json) { @@ -26,6 +30,8 @@ class BotOptionsModel { topic: json[ModelKey.conversationTopic] ?? "General Conversation", keywords: (json[ModelKey.keywords] ?? []).cast(), safetyModeration: json[ModelKey.safetyModeration] ?? true, + preset: json[ModelKey.preset] ?? "discussion", + custom: json[ModelKey.custom], ); } diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart new file mode 100644 index 000000000..410d8a503 --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart @@ -0,0 +1,78 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + +class ConversationBotPresetSelect extends StatelessWidget { + final String? initialMode; + final void Function(String?)? onChanged; + + const ConversationBotPresetSelect({ + super.key, + this.initialMode, + this.onChanged, + }); + + @override + Widget build(BuildContext context) { + final Map options = { + "discussion": + L10n.of(context)!.conversationBotPresetSelectOption_discussion, + "custom": L10n.of(context)!.conversationBotPresetSelectOption_custom, + "conversation": + L10n.of(context)!.conversationBotPresetSelectOption_conversation, + "text_adventure": + L10n.of(context)!.conversationBotPresetSelectOption_textAdventure, + }; + + return Padding( + padding: const EdgeInsets.all(12.0), + child: Container( + decoration: BoxDecoration( + border: Border.all( + color: Theme.of(context).colorScheme.secondary, + width: 0.5, + ), + borderRadius: const BorderRadius.all(Radius.circular(10)), + ), + child: DropdownButton( + // Initial Value + hint: Padding( + padding: const EdgeInsets.only(left: 15), + child: Text( + options[initialMode ?? "discussion"]!, + style: const TextStyle().copyWith( + color: Theme.of(context).textTheme.bodyLarge!.color, + fontSize: 14, + ), + overflow: TextOverflow.clip, + textAlign: TextAlign.center, + ), + ), + isExpanded: true, + underline: Container(), + // Down Arrow Icon + icon: const Icon(Icons.keyboard_arrow_down), + // Array list of items + items: [ + for (final entry in options.entries) + DropdownMenuItem( + value: entry.key, + child: Padding( + padding: const EdgeInsets.only(left: 15), + child: Text( + entry.value, + style: const TextStyle().copyWith( + color: Theme.of(context).textTheme.bodyLarge!.color, + fontSize: 14, + ), + overflow: TextOverflow.clip, + textAlign: TextAlign.center, + ), + ), + ), + ], + onChanged: onChanged, + ), + ), + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart index 0227c243a..fcaf11b60 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart @@ -1,10 +1,10 @@ import 'dart:developer'; -import 'package:adaptive_dialog/adaptive_dialog.dart'; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/models/bot_options_model.dart'; import 'package:fluffychat/pangea/utils/bot_name.dart'; import 'package:fluffychat/pangea/widgets/common/bot_face_svg.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart'; import 'package:fluffychat/pangea/widgets/space/language_level_dropdown.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -156,49 +156,49 @@ class ConversationBotSettingsState extends State { ), ), if (addBot) ...[ - Padding( - padding: const EdgeInsets.only(left: 16), - child: ListTile( - onTap: () async { - final topic = await showTextInputDialog( - context: context, - textFields: [ - DialogTextField( - initialText: botOptions.topic.isEmpty - ? "" - : botOptions.topic, - hintText: - L10n.of(context)!.enterAConversationTopic, - ), - ], - title: L10n.of(context)!.conversationTopic, - ); - if (topic == null) return; - updateBotOption(() { - botOptions.topic = topic.single; - }); - }, - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - foregroundColor: - Theme.of(context).textTheme.bodyLarge!.color, - child: const Icon(Icons.topic_outlined), - ), - subtitle: Text( - botOptions.topic.isEmpty - ? L10n.of(context)!.enterAConversationTopic - : botOptions.topic, - ), - title: Text( - L10n.of(context)!.conversationTopic, - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, - ), - ), - ), - ), + // Padding( + // padding: const EdgeInsets.only(left: 16), + // child: ListTile( + // onTap: () async { + // final topic = await showTextInputDialog( + // context: context, + // textFields: [ + // DialogTextField( + // initialText: botOptions.topic.isEmpty + // ? "" + // : botOptions.topic, + // hintText: + // L10n.of(context)!.enterAConversationTopic, + // ), + // ], + // title: L10n.of(context)!.conversationTopic, + // ); + // if (topic == null) return; + // updateBotOption(() { + // botOptions.topic = topic.single; + // }); + // }, + // leading: CircleAvatar( + // backgroundColor: + // Theme.of(context).scaffoldBackgroundColor, + // foregroundColor: + // Theme.of(context).textTheme.bodyLarge!.color, + // child: const Icon(Icons.topic_outlined), + // ), + // subtitle: Text( + // botOptions.topic.isEmpty + // ? L10n.of(context)!.enterAConversationTopic + // : botOptions.topic, + // ), + // title: Text( + // L10n.of(context)!.conversationTopic, + // style: TextStyle( + // color: Theme.of(context).colorScheme.secondary, + // fontWeight: FontWeight.bold, + // ), + // ), + // ), + // ), // Padding( // padding: const EdgeInsets.only(left: 16), // child: SwitchListTile.adaptive( @@ -244,6 +244,29 @@ class ConversationBotSettingsState extends State { }), ), ), + Padding( + padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), + child: Text( + L10n.of(context)! + .conversationBotPresetSelectDescription, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 16), + child: ConversationBotPresetSelect( + initialMode: botOptions.preset, + onChanged: (String? preset) => updateBotOption( + () { + botOptions.preset = preset ?? "discussion"; + }, + ), + ), + ), const SizedBox(height: 16), ], ], diff --git a/needed-translations.txt b/needed-translations.txt index c93f52d05..3359206d2 100644 --- a/needed-translations.txt +++ b/needed-translations.txt @@ -820,7 +820,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "be": [ @@ -2239,7 +2245,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "bn": [ @@ -3120,7 +3132,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "bo": [ @@ -4001,7 +4019,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ca": [ @@ -4882,7 +4906,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "cs": [ @@ -5763,7 +5793,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "de": [ @@ -6591,7 +6627,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "el": [ @@ -7472,7 +7514,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "eo": [ @@ -8353,7 +8401,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "es": [ @@ -8382,7 +8436,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "et": [ @@ -9206,7 +9266,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "eu": [ @@ -10030,7 +10096,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "fa": [ @@ -10911,7 +10983,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "fi": [ @@ -11792,7 +11870,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "fr": [ @@ -12673,7 +12757,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ga": [ @@ -13554,7 +13644,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "gl": [ @@ -14378,7 +14474,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "he": [ @@ -15259,7 +15361,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "hi": [ @@ -16140,7 +16248,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "hr": [ @@ -17008,7 +17122,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "hu": [ @@ -17889,7 +18009,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ia": [ @@ -19294,7 +19420,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "id": [ @@ -20175,7 +20307,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ie": [ @@ -21056,7 +21194,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "it": [ @@ -21922,7 +22066,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ja": [ @@ -22803,7 +22953,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ko": [ @@ -23684,7 +23840,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "lt": [ @@ -24565,7 +24727,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "lv": [ @@ -25446,7 +25614,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "nb": [ @@ -26327,7 +26501,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "nl": [ @@ -27208,7 +27388,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "pl": [ @@ -28089,7 +28275,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "pt": [ @@ -28970,7 +29162,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "pt_BR": [ @@ -29820,7 +30018,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "pt_PT": [ @@ -30701,7 +30905,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ro": [ @@ -31582,7 +31792,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ru": [ @@ -32406,7 +32622,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "sk": [ @@ -33287,7 +33509,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "sl": [ @@ -34168,7 +34396,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "sr": [ @@ -35049,7 +35283,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "sv": [ @@ -35895,7 +36135,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "ta": [ @@ -36776,7 +37022,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "th": [ @@ -37657,7 +37909,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "tr": [ @@ -38523,7 +38781,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "uk": [ @@ -39347,7 +39611,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "vi": [ @@ -40228,7 +40498,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "zh": [ @@ -41052,7 +41328,13 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ], "zh_Hant": [ @@ -41933,6 +42215,12 @@ "score", "accuracy", "points", - "noPaymentInfo" + "noPaymentInfo", + "updatePhoneOS", + "conversationBotPresetSelectDescription", + "conversationBotPresetSelectOption_discussion", + "conversationBotPresetSelectOption_custom", + "conversationBotPresetSelectOption_conversation", + "conversationBotPresetSelectOption_textAdventure" ] } From 2cb33d7ce1a326f759c11efb005e5d0b11c378e3 Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Wed, 15 May 2024 15:14:44 -0400 Subject: [PATCH 2/9] implement dynamic zone with 4 modes --- assets/l10n/intl_en.arb | 10 +- lib/pangea/constants/model_keys.dart | 2 +- lib/pangea/models/bot_options_model.dart | 6 +- .../conversation_bot_conversation_zone.dart | 16 + .../conversation_bot_custom_zone.dart | 16 + .../conversation_bot_discussion_zone.dart | 16 + .../conversation_bot_mode_dynamic_zone.dart | 35 ++ .../conversation_bot_mode_select.dart | 12 +- .../conversation_bot_settings.dart | 18 +- .../conversation_bot_text_adventure_zone.dart | 16 + needed-translations.txt | 480 +++++++++--------- 11 files changed, 366 insertions(+), 261 deletions(-) create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index cb3375244..108462160 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3946,9 +3946,9 @@ "points": "Points", "noPaymentInfo": "No payment info necessary!", "updatePhoneOS": "You may need to update your device's OS version.", - "conversationBotPresetSelectDescription": "Bot preset", - "conversationBotPresetSelectOption_discussion": "Discussion", - "conversationBotPresetSelectOption_custom": "Custom", - "conversationBotPresetSelectOption_conversation": "Conversation", - "conversationBotPresetSelectOption_textAdventure": "Text Adventure" + "conversationBotModeSelectDescription": "Bot mode", + "conversationBotModeSelectOption_discussion": "Discussion", + "conversationBotModeSelectOption_custom": "Custom", + "conversationBotModeSelectOption_conversation": "Conversation", + "conversationBotModeSelectOption_textAdventure": "Text Adventure" } \ No newline at end of file diff --git a/lib/pangea/constants/model_keys.dart b/lib/pangea/constants/model_keys.dart index a3d54a408..163a92d8f 100644 --- a/lib/pangea/constants/model_keys.dart +++ b/lib/pangea/constants/model_keys.dart @@ -99,6 +99,6 @@ class ModelKey { static const String conversationTopic = "conversation_topic"; static const String keywords = "keywords"; static const String safetyModeration = "safety_moderation"; - static const String preset = "preset"; + static const String mode = "mode"; static const String custom = "custom"; } diff --git a/lib/pangea/models/bot_options_model.dart b/lib/pangea/models/bot_options_model.dart index 041c4f0d3..5038c58af 100644 --- a/lib/pangea/models/bot_options_model.dart +++ b/lib/pangea/models/bot_options_model.dart @@ -12,7 +12,7 @@ class BotOptionsModel { String topic; List keywords; bool safetyModeration; - String preset; + String mode; String? custom; BotOptionsModel({ @@ -20,7 +20,7 @@ class BotOptionsModel { this.topic = "General Conversation", this.keywords = const [], this.safetyModeration = true, - this.preset = "discussion", + this.mode = "discussion", this.custom = "", }); @@ -30,7 +30,7 @@ class BotOptionsModel { topic: json[ModelKey.conversationTopic] ?? "General Conversation", keywords: (json[ModelKey.keywords] ?? []).cast(), safetyModeration: json[ModelKey.safetyModeration] ?? true, - preset: json[ModelKey.preset] ?? "discussion", + mode: json[ModelKey.mode] ?? "discussion", custom: json[ModelKey.custom], ); } diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart new file mode 100644 index 000000000..975cc1d0d --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; + +class ConversationBotConversationZone extends StatelessWidget { + const ConversationBotConversationZone({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return const Column( + children: [ + Text('Conversation Zone'), + ], + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart new file mode 100644 index 000000000..5fe8880ea --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; + +class ConversationBotCustomZone extends StatelessWidget { + const ConversationBotCustomZone({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return const Column( + children: [ + Text('Custom Zone'), + ], + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart new file mode 100644 index 000000000..9e7449a11 --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; + +class ConversationBotDiscussionZone extends StatelessWidget { + const ConversationBotDiscussionZone({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return const Column( + children: [ + Text('Discussion Zone'), + ], + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart new file mode 100644 index 000000000..580dd060f --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart @@ -0,0 +1,35 @@ +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart'; +import 'package:flutter/material.dart'; + +import 'conversation_bot_discussion_zone.dart'; + +class ConversationBotModeDynamicZone extends StatelessWidget { + final String? mode; + + const ConversationBotModeDynamicZone({ + super.key, + this.mode, + }); + + @override + Widget build(BuildContext context) { + final zoneMap = { + 'discussion': const ConversationBotDiscussionZone(), + "custom": const ConversationBotCustomZone(), + "conversation": const ConversationBotConversationZone(), + "text_adventure": const ConversationBotTextAdventureZone(), + }; + return Container( + decoration: BoxDecoration( + border: Border.all( + color: Theme.of(context).colorScheme.secondary, + width: 0.5, + ), + borderRadius: const BorderRadius.all(Radius.circular(10)), + ), + child: zoneMap[mode ?? 'discussion'], + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart index 410d8a503..70675e898 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; -class ConversationBotPresetSelect extends StatelessWidget { +class ConversationBotModeSelect extends StatelessWidget { final String? initialMode; final void Function(String?)? onChanged; - const ConversationBotPresetSelect({ + const ConversationBotModeSelect({ super.key, this.initialMode, this.onChanged, @@ -15,12 +15,12 @@ class ConversationBotPresetSelect extends StatelessWidget { Widget build(BuildContext context) { final Map options = { "discussion": - L10n.of(context)!.conversationBotPresetSelectOption_discussion, - "custom": L10n.of(context)!.conversationBotPresetSelectOption_custom, + L10n.of(context)!.conversationBotModeSelectOption_discussion, + "custom": L10n.of(context)!.conversationBotModeSelectOption_custom, "conversation": - L10n.of(context)!.conversationBotPresetSelectOption_conversation, + L10n.of(context)!.conversationBotModeSelectOption_conversation, "text_adventure": - L10n.of(context)!.conversationBotPresetSelectOption_textAdventure, + L10n.of(context)!.conversationBotModeSelectOption_textAdventure, }; return Padding( diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart index fcaf11b60..5aeb9b82e 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart @@ -4,6 +4,7 @@ import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/models/bot_options_model.dart'; import 'package:fluffychat/pangea/utils/bot_name.dart'; import 'package:fluffychat/pangea/widgets/common/bot_face_svg.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart'; import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart'; import 'package:fluffychat/pangea/widgets/space/language_level_dropdown.dart'; import 'package:flutter/foundation.dart'; @@ -247,8 +248,7 @@ class ConversationBotSettingsState extends State { Padding( padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), child: Text( - L10n.of(context)! - .conversationBotPresetSelectDescription, + L10n.of(context)!.conversationBotModeSelectDescription, style: TextStyle( color: Theme.of(context).colorScheme.secondary, fontWeight: FontWeight.bold, @@ -258,15 +258,21 @@ class ConversationBotSettingsState extends State { ), Padding( padding: const EdgeInsets.only(left: 16), - child: ConversationBotPresetSelect( - initialMode: botOptions.preset, - onChanged: (String? preset) => updateBotOption( + child: ConversationBotModeSelect( + initialMode: botOptions.mode, + onChanged: (String? mode) => updateBotOption( () { - botOptions.preset = preset ?? "discussion"; + botOptions.mode = mode ?? "discussion"; }, ), ), ), + Padding( + padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), + child: ConversationBotModeDynamicZone( + mode: botOptions.mode, + ), + ), const SizedBox(height: 16), ], ], diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart new file mode 100644 index 000000000..2f65348cf --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; + +class ConversationBotTextAdventureZone extends StatelessWidget { + const ConversationBotTextAdventureZone({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return const Column( + children: [ + Text('Text Adventure Zone'), + ], + ); + } +} diff --git a/needed-translations.txt b/needed-translations.txt index 3359206d2..c3a8a46fe 100644 --- a/needed-translations.txt +++ b/needed-translations.txt @@ -822,11 +822,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "be": [ @@ -2247,11 +2247,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "bn": [ @@ -3134,11 +3134,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "bo": [ @@ -4021,11 +4021,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ca": [ @@ -4908,11 +4908,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "cs": [ @@ -5795,11 +5795,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "de": [ @@ -6629,11 +6629,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "el": [ @@ -7516,11 +7516,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "eo": [ @@ -8403,11 +8403,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "es": [ @@ -8438,11 +8438,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "et": [ @@ -9268,11 +9268,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "eu": [ @@ -10098,11 +10098,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "fa": [ @@ -10985,11 +10985,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "fi": [ @@ -11872,11 +11872,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "fr": [ @@ -12759,11 +12759,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ga": [ @@ -13646,11 +13646,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "gl": [ @@ -14476,11 +14476,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "he": [ @@ -15363,11 +15363,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "hi": [ @@ -16250,11 +16250,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "hr": [ @@ -17124,11 +17124,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "hu": [ @@ -18011,11 +18011,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ia": [ @@ -19422,11 +19422,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "id": [ @@ -20309,11 +20309,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ie": [ @@ -21196,11 +21196,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "it": [ @@ -22068,11 +22068,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ja": [ @@ -22955,11 +22955,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ko": [ @@ -23842,11 +23842,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "lt": [ @@ -24729,11 +24729,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "lv": [ @@ -25616,11 +25616,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "nb": [ @@ -26503,11 +26503,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "nl": [ @@ -27390,11 +27390,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "pl": [ @@ -28277,11 +28277,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "pt": [ @@ -29164,11 +29164,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "pt_BR": [ @@ -30020,11 +30020,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "pt_PT": [ @@ -30907,11 +30907,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ro": [ @@ -31794,11 +31794,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ru": [ @@ -32624,11 +32624,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "sk": [ @@ -33511,11 +33511,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "sl": [ @@ -34398,11 +34398,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "sr": [ @@ -35285,11 +35285,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "sv": [ @@ -36137,11 +36137,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "ta": [ @@ -37024,11 +37024,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "th": [ @@ -37911,11 +37911,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "tr": [ @@ -38783,11 +38783,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "uk": [ @@ -39613,11 +39613,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "vi": [ @@ -40500,11 +40500,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "zh": [ @@ -41330,11 +41330,11 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ], "zh_Hant": [ @@ -42217,10 +42217,10 @@ "points", "noPaymentInfo", "updatePhoneOS", - "conversationBotPresetSelectDescription", - "conversationBotPresetSelectOption_discussion", - "conversationBotPresetSelectOption_custom", - "conversationBotPresetSelectOption_conversation", - "conversationBotPresetSelectOption_textAdventure" + "conversationBotModeSelectDescription", + "conversationBotModeSelectOption_discussion", + "conversationBotModeSelectOption_custom", + "conversationBotModeSelectOption_conversation", + "conversationBotModeSelectOption_textAdventure" ] } From a0ee1965b3aa5e9d5010b3e26a4675a770fb6687 Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Wed, 15 May 2024 15:18:47 -0400 Subject: [PATCH 3/9] update conversation bot setting to write bot options to matrix --- lib/pangea/models/bot_options_model.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/pangea/models/bot_options_model.dart b/lib/pangea/models/bot_options_model.dart index 5038c58af..7ede3c7ab 100644 --- a/lib/pangea/models/bot_options_model.dart +++ b/lib/pangea/models/bot_options_model.dart @@ -43,6 +43,8 @@ class BotOptionsModel { data[ModelKey.conversationTopic] = topic; data[ModelKey.keywords] = keywords; data[ModelKey.safetyModeration] = safetyModeration; + data[ModelKey.mode] = mode; + data[ModelKey.custom] = custom; return data; } catch (e, s) { debugger(when: kDebugMode); @@ -66,6 +68,12 @@ class BotOptionsModel { case ModelKey.safetyModeration: safetyModeration = value; break; + case ModelKey.mode: + mode = value; + break; + case ModelKey.custom: + custom = value; + break; default: throw Exception('Invalid key for bot options - $key'); } From 8c19eb25dd20c75bc5b70d50209d043be6c4bf1c Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Thu, 16 May 2024 11:25:31 -0400 Subject: [PATCH 4/9] add discussion topic and keywords input --- assets/l10n/intl_en.arb | 6 +- lib/pangea/constants/model_keys.dart | 2 + lib/pangea/models/bot_options_model.dart | 8 + .../conversation_bot_discussion_zone.dart | 79 ++++- .../conversation_bot_mode_dynamic_zone.dart | 14 +- .../conversation_bot_settings.dart | 11 +- needed-translations.txt | 288 +++++++++++++++--- 7 files changed, 351 insertions(+), 57 deletions(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 108462160..7acfde750 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3950,5 +3950,9 @@ "conversationBotModeSelectOption_discussion": "Discussion", "conversationBotModeSelectOption_custom": "Custom", "conversationBotModeSelectOption_conversation": "Conversation", - "conversationBotModeSelectOption_textAdventure": "Text Adventure" + "conversationBotModeSelectOption_textAdventure": "Text Adventure", + "conversationBotDiscussionZone_title": "Discussion Settings", + "conversationBotDiscussionZone_discussionTopicLabel": "Discussion Topic", + "conversationBotDiscussionZone_discussionKeywordsLabel": "Discussion Keywords", + "conversationBotDiscussionZone_discussionKeywordsHintText": "Comma separated list of keywords to guide the discussion" } \ No newline at end of file diff --git a/lib/pangea/constants/model_keys.dart b/lib/pangea/constants/model_keys.dart index 163a92d8f..3dc35159f 100644 --- a/lib/pangea/constants/model_keys.dart +++ b/lib/pangea/constants/model_keys.dart @@ -101,4 +101,6 @@ class ModelKey { static const String safetyModeration = "safety_moderation"; static const String mode = "mode"; static const String custom = "custom"; + static const String discussionTopic = "discussion_topic"; + static const String discussionKeywords = "discussion_keywords"; } diff --git a/lib/pangea/models/bot_options_model.dart b/lib/pangea/models/bot_options_model.dart index 7ede3c7ab..6fe6db303 100644 --- a/lib/pangea/models/bot_options_model.dart +++ b/lib/pangea/models/bot_options_model.dart @@ -14,6 +14,8 @@ class BotOptionsModel { bool safetyModeration; String mode; String? custom; + String? discussionTopic; + String? discussionKeywords; BotOptionsModel({ this.languageLevel, @@ -22,6 +24,8 @@ class BotOptionsModel { this.safetyModeration = true, this.mode = "discussion", this.custom = "", + this.discussionTopic, + this.discussionKeywords, }); factory BotOptionsModel.fromJson(json) { @@ -32,6 +36,8 @@ class BotOptionsModel { safetyModeration: json[ModelKey.safetyModeration] ?? true, mode: json[ModelKey.mode] ?? "discussion", custom: json[ModelKey.custom], + discussionTopic: json[ModelKey.discussionTopic], + discussionKeywords: json[ModelKey.discussionKeywords], ); } @@ -45,6 +51,8 @@ class BotOptionsModel { data[ModelKey.safetyModeration] = safetyModeration; data[ModelKey.mode] = mode; data[ModelKey.custom] = custom; + data[ModelKey.discussionTopic] = discussionTopic; + data[ModelKey.discussionKeywords] = discussionKeywords; return data; } catch (e, s) { debugger(when: kDebugMode); diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart index 9e7449a11..eff20a13b 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart @@ -1,15 +1,90 @@ +import 'package:fluffychat/pangea/models/bot_options_model.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; class ConversationBotDiscussionZone extends StatelessWidget { + final BotOptionsModel initialBotOptions; + // call this to update propagate changes to parents + final void Function(BotOptionsModel?)? onChanged; + const ConversationBotDiscussionZone({ super.key, + required this.initialBotOptions, + required this.onChanged, }); @override Widget build(BuildContext context) { - return const Column( + String discussionTopic = initialBotOptions.discussionTopic ?? ""; + String discussionKeywords = initialBotOptions.discussionKeywords ?? ""; + return Column( children: [ - Text('Discussion Zone'), + const SizedBox(height: 12), + Text( + L10n.of(context)!.conversationBotDiscussionZone_title, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + const Divider( + color: Colors.grey, + thickness: 1, + ), + const SizedBox(height: 12), + Padding( + padding: const EdgeInsets.all(8), + child: TextField( + controller: TextEditingController(text: discussionTopic), + onChanged: (value) { + discussionTopic = value; + }, + decoration: InputDecoration( + labelText: L10n.of(context)! + .conversationBotDiscussionZone_discussionTopicLabel, + floatingLabelBehavior: FloatingLabelBehavior.auto, + suffixIcon: IconButton( + icon: const Icon(Icons.check), + onPressed: () { + if (discussionTopic != initialBotOptions.discussionTopic) { + initialBotOptions.discussionTopic = discussionTopic; + onChanged?.call( + initialBotOptions, + ); + } + }, + ), + ), + ), + ), + const SizedBox(height: 12), + Padding( + padding: const EdgeInsets.all(8), + child: TextField( + controller: TextEditingController(text: discussionKeywords), + onChanged: (value) { + discussionKeywords = value; + }, + decoration: InputDecoration( + labelText: L10n.of(context)! + .conversationBotDiscussionZone_discussionKeywordsLabel, + floatingLabelBehavior: FloatingLabelBehavior.auto, + hintText: L10n.of(context)! + .conversationBotDiscussionZone_discussionKeywordsHintText, + suffixIcon: IconButton( + icon: const Icon(Icons.check), + onPressed: () { + if (discussionTopic != initialBotOptions.discussionKeywords) { + initialBotOptions.discussionKeywords = discussionKeywords; + onChanged?.call( + initialBotOptions, + ); + } + }, + ), + ), + ), + ), ], ); } diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart index 580dd060f..38019a646 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart @@ -1,3 +1,4 @@ +import 'package:fluffychat/pangea/models/bot_options_model.dart'; import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart'; import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart'; import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart'; @@ -6,17 +7,22 @@ import 'package:flutter/material.dart'; import 'conversation_bot_discussion_zone.dart'; class ConversationBotModeDynamicZone extends StatelessWidget { - final String? mode; + final BotOptionsModel initialBotOptions; + final void Function(BotOptionsModel?)? onChanged; const ConversationBotModeDynamicZone({ super.key, - this.mode, + required this.initialBotOptions, + required this.onChanged, }); @override Widget build(BuildContext context) { final zoneMap = { - 'discussion': const ConversationBotDiscussionZone(), + 'discussion': ConversationBotDiscussionZone( + initialBotOptions: initialBotOptions, + onChanged: onChanged, + ), "custom": const ConversationBotCustomZone(), "conversation": const ConversationBotConversationZone(), "text_adventure": const ConversationBotTextAdventureZone(), @@ -29,7 +35,7 @@ class ConversationBotModeDynamicZone extends StatelessWidget { ), borderRadius: const BorderRadius.all(Radius.circular(10)), ), - child: zoneMap[mode ?? 'discussion'], + child: zoneMap[initialBotOptions.mode], ); } } diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart index 5aeb9b82e..0558307d6 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart @@ -268,9 +268,16 @@ class ConversationBotSettingsState extends State { ), ), Padding( - padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), + padding: const EdgeInsets.fromLTRB(28, 0, 12, 0), child: ConversationBotModeDynamicZone( - mode: botOptions.mode, + initialBotOptions: botOptions, + onChanged: (BotOptionsModel? newOptions) { + updateBotOption(() { + if (newOptions != null) { + botOptions = newOptions; + } + }); + }, ), ), const SizedBox(height: 16), diff --git a/needed-translations.txt b/needed-translations.txt index c3a8a46fe..6fe5cae01 100644 --- a/needed-translations.txt +++ b/needed-translations.txt @@ -826,7 +826,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "be": [ @@ -2251,7 +2255,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "bn": [ @@ -3138,7 +3146,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "bo": [ @@ -4025,7 +4037,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ca": [ @@ -4912,7 +4928,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "cs": [ @@ -5799,7 +5819,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "de": [ @@ -6633,7 +6657,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "el": [ @@ -7520,7 +7548,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "eo": [ @@ -8407,7 +8439,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "es": [ @@ -8442,7 +8478,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "et": [ @@ -9272,7 +9312,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "eu": [ @@ -10102,7 +10146,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "fa": [ @@ -10989,7 +11037,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "fi": [ @@ -11876,7 +11928,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "fr": [ @@ -12763,7 +12819,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ga": [ @@ -13650,7 +13710,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "gl": [ @@ -14480,7 +14544,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "he": [ @@ -15367,7 +15435,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "hi": [ @@ -16254,7 +16326,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "hr": [ @@ -17128,7 +17204,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "hu": [ @@ -18015,7 +18095,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ia": [ @@ -19426,7 +19510,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "id": [ @@ -20313,7 +20401,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ie": [ @@ -21200,7 +21292,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "it": [ @@ -22072,7 +22168,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ja": [ @@ -22959,7 +23059,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ko": [ @@ -23846,7 +23950,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "lt": [ @@ -24733,7 +24841,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "lv": [ @@ -25620,7 +25732,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "nb": [ @@ -26507,7 +26623,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "nl": [ @@ -27394,7 +27514,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "pl": [ @@ -28281,7 +28405,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "pt": [ @@ -29168,7 +29296,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "pt_BR": [ @@ -30024,7 +30156,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "pt_PT": [ @@ -30911,7 +31047,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ro": [ @@ -31798,7 +31938,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ru": [ @@ -32628,7 +32772,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "sk": [ @@ -33515,7 +33663,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "sl": [ @@ -34402,7 +34554,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "sr": [ @@ -35289,7 +35445,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "sv": [ @@ -36141,7 +36301,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "ta": [ @@ -37028,7 +37192,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "th": [ @@ -37915,7 +38083,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "tr": [ @@ -38787,7 +38959,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "uk": [ @@ -39617,7 +39793,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "vi": [ @@ -40504,7 +40684,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "zh": [ @@ -41334,7 +41518,11 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ], "zh_Hant": [ @@ -42221,6 +42409,10 @@ "conversationBotModeSelectOption_discussion", "conversationBotModeSelectOption_custom", "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure" + "conversationBotModeSelectOption_textAdventure", + "conversationBotDiscussionZone_title", + "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsHintText" ] } From a8473896209772899a270908526b648eaa1db038 Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Thu, 16 May 2024 13:35:06 -0400 Subject: [PATCH 5/9] add trigger and reaction input --- assets/l10n/intl_en.arb | 6 +- lib/pangea/constants/model_keys.dart | 10 +- lib/pangea/models/bot_options_model.dart | 51 +++- .../conversation_bot_discussion_zone.dart | 138 +++++++++ needed-translations.txt | 288 +++++++++++++++--- 5 files changed, 432 insertions(+), 61 deletions(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 7acfde750..75a24024b 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3954,5 +3954,9 @@ "conversationBotDiscussionZone_title": "Discussion Settings", "conversationBotDiscussionZone_discussionTopicLabel": "Discussion Topic", "conversationBotDiscussionZone_discussionKeywordsLabel": "Discussion Keywords", - "conversationBotDiscussionZone_discussionKeywordsHintText": "Comma separated list of keywords to guide the discussion" + "conversationBotDiscussionZone_discussionKeywordsHintText": "Comma separated list of keywords to guide the discussion", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel": "Send discussion prompt on a schedule", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel": "Hours between discussion prompts", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Send discussion prompt on reaction to bot's message", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel": "Reaction to send discussion prompt" } \ No newline at end of file diff --git a/lib/pangea/constants/model_keys.dart b/lib/pangea/constants/model_keys.dart index 3dc35159f..ce427f3d3 100644 --- a/lib/pangea/constants/model_keys.dart +++ b/lib/pangea/constants/model_keys.dart @@ -96,11 +96,17 @@ class ModelKey { // bot options static const String languageLevel = "difficulty"; - static const String conversationTopic = "conversation_topic"; - static const String keywords = "keywords"; static const String safetyModeration = "safety_moderation"; static const String mode = "mode"; static const String custom = "custom"; static const String discussionTopic = "discussion_topic"; static const String discussionKeywords = "discussion_keywords"; + static const String discussionTriggerScheduleEnabled = + "discussion_trigger_schedule_enabled"; + static const String discussionTriggerScheduleHourInterval = + "discussion_trigger_schedule_hour_interval"; + static const String discussionTriggerReactionEnabled = + "discussion_trigger_reaction_enabled"; + static const String discussionTriggerReactionKey = + "discussion_trigger_reaction_key"; } diff --git a/lib/pangea/models/bot_options_model.dart b/lib/pangea/models/bot_options_model.dart index 6fe6db303..0b437159e 100644 --- a/lib/pangea/models/bot_options_model.dart +++ b/lib/pangea/models/bot_options_model.dart @@ -16,6 +16,10 @@ class BotOptionsModel { String? custom; String? discussionTopic; String? discussionKeywords; + bool? discussionTriggerScheduleEnabled; + int? discussionTriggerScheduleHourInterval; + bool? discussionTriggerReactionEnabled; + String? discussionTriggerReactionKey; BotOptionsModel({ this.languageLevel, @@ -26,18 +30,27 @@ class BotOptionsModel { this.custom = "", this.discussionTopic, this.discussionKeywords, + this.discussionTriggerScheduleEnabled, + this.discussionTriggerScheduleHourInterval, + this.discussionTriggerReactionEnabled, + this.discussionTriggerReactionKey, }); factory BotOptionsModel.fromJson(json) { return BotOptionsModel( languageLevel: json[ModelKey.languageLevel], - topic: json[ModelKey.conversationTopic] ?? "General Conversation", - keywords: (json[ModelKey.keywords] ?? []).cast(), safetyModeration: json[ModelKey.safetyModeration] ?? true, mode: json[ModelKey.mode] ?? "discussion", custom: json[ModelKey.custom], discussionTopic: json[ModelKey.discussionTopic], discussionKeywords: json[ModelKey.discussionKeywords], + discussionTriggerScheduleEnabled: + json[ModelKey.discussionTriggerScheduleEnabled], + discussionTriggerScheduleHourInterval: + json[ModelKey.discussionTriggerScheduleHourInterval], + discussionTriggerReactionEnabled: + json[ModelKey.discussionTriggerReactionEnabled], + discussionTriggerReactionKey: json[ModelKey.discussionTriggerReactionKey], ); } @@ -46,13 +59,19 @@ class BotOptionsModel { try { // data[ModelKey.isConversationBotChat] = isConversationBotChat; data[ModelKey.languageLevel] = languageLevel; - data[ModelKey.conversationTopic] = topic; - data[ModelKey.keywords] = keywords; data[ModelKey.safetyModeration] = safetyModeration; data[ModelKey.mode] = mode; data[ModelKey.custom] = custom; data[ModelKey.discussionTopic] = discussionTopic; data[ModelKey.discussionKeywords] = discussionKeywords; + data[ModelKey.discussionTriggerScheduleEnabled] = + discussionTriggerScheduleEnabled; + data[ModelKey.discussionTriggerScheduleHourInterval] = + discussionTriggerScheduleHourInterval; + data[ModelKey.discussionTriggerReactionEnabled] = + discussionTriggerReactionEnabled; + data[ModelKey.discussionTriggerReactionKey] = + discussionTriggerReactionKey; return data; } catch (e, s) { debugger(when: kDebugMode); @@ -67,12 +86,6 @@ class BotOptionsModel { case ModelKey.languageLevel: languageLevel = value; break; - case ModelKey.conversationTopic: - topic = value; - break; - case ModelKey.keywords: - keywords = value; - break; case ModelKey.safetyModeration: safetyModeration = value; break; @@ -82,6 +95,24 @@ class BotOptionsModel { case ModelKey.custom: custom = value; break; + case ModelKey.discussionTopic: + discussionTopic = value; + break; + case ModelKey.discussionKeywords: + discussionKeywords = value; + break; + case ModelKey.discussionTriggerScheduleEnabled: + discussionTriggerScheduleEnabled = value; + break; + case ModelKey.discussionTriggerScheduleHourInterval: + discussionTriggerScheduleHourInterval = value; + break; + case ModelKey.discussionTriggerReactionEnabled: + discussionTriggerReactionEnabled = value; + break; + case ModelKey.discussionTriggerReactionKey: + discussionTriggerReactionKey = value; + break; default: throw Exception('Invalid key for bot options - $key'); } diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart index eff20a13b..c4e4f1359 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart @@ -17,6 +17,11 @@ class ConversationBotDiscussionZone extends StatelessWidget { Widget build(BuildContext context) { String discussionTopic = initialBotOptions.discussionTopic ?? ""; String discussionKeywords = initialBotOptions.discussionKeywords ?? ""; + int discussionTriggerScheduleHourInterval = + initialBotOptions.discussionTriggerScheduleHourInterval ?? 24; + final String discussionTriggerReactionKey = + initialBotOptions.discussionTriggerReactionKey ?? "⏩"; + final List reactionKeyOptions = ["⏩"]; return Column( children: [ const SizedBox(height: 12), @@ -85,6 +90,139 @@ class ConversationBotDiscussionZone extends StatelessWidget { ), ), ), + const SizedBox(height: 12), + CheckboxListTile( + title: Text( + L10n.of(context)! + .conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel, + ), + value: initialBotOptions.discussionTriggerScheduleEnabled ?? false, + onChanged: (value) { + initialBotOptions.discussionTriggerScheduleEnabled = value ?? false; + onChanged?.call(initialBotOptions); + }, + ), + if (initialBotOptions.discussionTriggerScheduleEnabled == true) + Padding( + padding: const EdgeInsets.all(8), + child: TextField( + keyboardType: TextInputType.number, + controller: TextEditingController( + text: discussionTriggerScheduleHourInterval.toString(), + ), + onChanged: (value) { + discussionTriggerScheduleHourInterval = + int.tryParse(value) ?? 0; + }, + decoration: InputDecoration( + labelText: L10n.of(context)! + .conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel, + floatingLabelBehavior: FloatingLabelBehavior.auto, + suffixIcon: IconButton( + icon: const Icon(Icons.check), + onPressed: () { + if (discussionTriggerScheduleHourInterval != + initialBotOptions + .discussionTriggerScheduleHourInterval) { + initialBotOptions.discussionTriggerScheduleHourInterval = + discussionTriggerScheduleHourInterval; + onChanged?.call( + initialBotOptions, + ); + } + }, + ), + ), + ), + ), + const SizedBox(height: 12), + CheckboxListTile( + title: Text( + L10n.of(context)! + .conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel, + ), + value: initialBotOptions.discussionTriggerReactionEnabled ?? false, + onChanged: (value) { + initialBotOptions.discussionTriggerReactionEnabled = value ?? false; + onChanged?.call(initialBotOptions); + }, + ), + if (initialBotOptions.discussionTriggerReactionEnabled == true) + Padding( + padding: const EdgeInsets.all(8), + child: Column( + children: [ + Text( + L10n.of(context)! + .conversationBotDiscussionZone_discussionTriggerReactionKeyLabel, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + textAlign: TextAlign.left, + ), + Container( + decoration: BoxDecoration( + border: Border.all( + color: Theme.of(context).colorScheme.secondary, + width: 0.5, + ), + borderRadius: const BorderRadius.all(Radius.circular(10)), + ), + child: DropdownButton( + // Initial Value + hint: Padding( + padding: const EdgeInsets.only(left: 15), + child: Text( + reactionKeyOptions[0], + style: const TextStyle().copyWith( + color: Theme.of(context).textTheme.bodyLarge!.color, + fontSize: 14, + ), + overflow: TextOverflow.clip, + textAlign: TextAlign.center, + ), + ), + isExpanded: true, + underline: Container(), + // Down Arrow Icon + icon: const Icon(Icons.keyboard_arrow_down), + // Array list of items + items: [ + for (final entry in reactionKeyOptions) + DropdownMenuItem( + value: entry, + child: Padding( + padding: const EdgeInsets.only(left: 15), + child: Text( + entry, + style: const TextStyle().copyWith( + color: Theme.of(context) + .textTheme + .bodyLarge! + .color, + fontSize: 14, + ), + overflow: TextOverflow.clip, + textAlign: TextAlign.center, + ), + ), + ), + ], + onChanged: (String? value) { + if (value != + initialBotOptions.discussionTriggerReactionKey) { + initialBotOptions.discussionTriggerReactionKey = value; + onChanged?.call( + initialBotOptions, + ); + } + }, + ), + ), + ], + ), + ), ], ); } diff --git a/needed-translations.txt b/needed-translations.txt index 6fe5cae01..5d9b0cc24 100644 --- a/needed-translations.txt +++ b/needed-translations.txt @@ -830,7 +830,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "be": [ @@ -2259,7 +2263,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "bn": [ @@ -3150,7 +3158,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "bo": [ @@ -4041,7 +4053,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ca": [ @@ -4932,7 +4948,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "cs": [ @@ -5823,7 +5843,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "de": [ @@ -6661,7 +6685,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "el": [ @@ -7552,7 +7580,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "eo": [ @@ -8443,7 +8475,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "es": [ @@ -8482,7 +8518,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "et": [ @@ -9316,7 +9356,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "eu": [ @@ -10150,7 +10194,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "fa": [ @@ -11041,7 +11089,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "fi": [ @@ -11932,7 +11984,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "fr": [ @@ -12823,7 +12879,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ga": [ @@ -13714,7 +13774,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "gl": [ @@ -14548,7 +14612,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "he": [ @@ -15439,7 +15507,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "hi": [ @@ -16330,7 +16402,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "hr": [ @@ -17208,7 +17284,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "hu": [ @@ -18099,7 +18179,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ia": [ @@ -19514,7 +19598,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "id": [ @@ -20405,7 +20493,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ie": [ @@ -21296,7 +21388,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "it": [ @@ -22172,7 +22268,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ja": [ @@ -23063,7 +23163,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ko": [ @@ -23954,7 +24058,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "lt": [ @@ -24845,7 +24953,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "lv": [ @@ -25736,7 +25848,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "nb": [ @@ -26627,7 +26743,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "nl": [ @@ -27518,7 +27638,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "pl": [ @@ -28409,7 +28533,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "pt": [ @@ -29300,7 +29428,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "pt_BR": [ @@ -30160,7 +30292,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "pt_PT": [ @@ -31051,7 +31187,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ro": [ @@ -31942,7 +32082,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ru": [ @@ -32776,7 +32920,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "sk": [ @@ -33667,7 +33815,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "sl": [ @@ -34558,7 +34710,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "sr": [ @@ -35449,7 +35605,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "sv": [ @@ -36305,7 +36465,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "ta": [ @@ -37196,7 +37360,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "th": [ @@ -38087,7 +38255,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "tr": [ @@ -38963,7 +39135,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "uk": [ @@ -39797,7 +39973,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "vi": [ @@ -40688,7 +40868,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "zh": [ @@ -41522,7 +41706,11 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ], "zh_Hant": [ @@ -42413,6 +42601,10 @@ "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsHintText" + "conversationBotDiscussionZone_discussionKeywordsHintText", + "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", + "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel" ] } From c7c0634792776238d1ff2ce316df75e4c7031fbf Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Thu, 16 May 2024 14:17:51 -0400 Subject: [PATCH 6/9] temporarily remove schedule and specific reaction --- assets/l10n/intl_en.arb | 2 +- .../conversation_bot_discussion_zone.dart | 253 +++++++++--------- 2 files changed, 129 insertions(+), 126 deletions(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 75a24024b..43c9bc133 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3957,6 +3957,6 @@ "conversationBotDiscussionZone_discussionKeywordsHintText": "Comma separated list of keywords to guide the discussion", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel": "Send discussion prompt on a schedule", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel": "Hours between discussion prompts", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Send discussion prompt on reaction to bot's message", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Send discussion prompt when user reacts ⏩ to bot message", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel": "Reaction to send discussion prompt" } \ No newline at end of file diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart index c4e4f1359..1f13139ee 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart @@ -17,11 +17,11 @@ class ConversationBotDiscussionZone extends StatelessWidget { Widget build(BuildContext context) { String discussionTopic = initialBotOptions.discussionTopic ?? ""; String discussionKeywords = initialBotOptions.discussionKeywords ?? ""; - int discussionTriggerScheduleHourInterval = - initialBotOptions.discussionTriggerScheduleHourInterval ?? 24; - final String discussionTriggerReactionKey = - initialBotOptions.discussionTriggerReactionKey ?? "⏩"; - final List reactionKeyOptions = ["⏩"]; + // int discussionTriggerScheduleHourInterval = + // initialBotOptions.discussionTriggerScheduleHourInterval ?? 24; + // String discussionTriggerReactionKey = + // initialBotOptions.discussionTriggerReactionKey ?? "⏩"; + // List reactionKeyOptions = ["⏩"]; return Column( children: [ const SizedBox(height: 12), @@ -91,50 +91,50 @@ class ConversationBotDiscussionZone extends StatelessWidget { ), ), const SizedBox(height: 12), - CheckboxListTile( - title: Text( - L10n.of(context)! - .conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel, - ), - value: initialBotOptions.discussionTriggerScheduleEnabled ?? false, - onChanged: (value) { - initialBotOptions.discussionTriggerScheduleEnabled = value ?? false; - onChanged?.call(initialBotOptions); - }, - ), - if (initialBotOptions.discussionTriggerScheduleEnabled == true) - Padding( - padding: const EdgeInsets.all(8), - child: TextField( - keyboardType: TextInputType.number, - controller: TextEditingController( - text: discussionTriggerScheduleHourInterval.toString(), - ), - onChanged: (value) { - discussionTriggerScheduleHourInterval = - int.tryParse(value) ?? 0; - }, - decoration: InputDecoration( - labelText: L10n.of(context)! - .conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel, - floatingLabelBehavior: FloatingLabelBehavior.auto, - suffixIcon: IconButton( - icon: const Icon(Icons.check), - onPressed: () { - if (discussionTriggerScheduleHourInterval != - initialBotOptions - .discussionTriggerScheduleHourInterval) { - initialBotOptions.discussionTriggerScheduleHourInterval = - discussionTriggerScheduleHourInterval; - onChanged?.call( - initialBotOptions, - ); - } - }, - ), - ), - ), - ), + // CheckboxListTile( + // title: Text( + // L10n.of(context)! + // .conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel, + // ), + // value: initialBotOptions.discussionTriggerScheduleEnabled ?? false, + // onChanged: (value) { + // initialBotOptions.discussionTriggerScheduleEnabled = value ?? false; + // onChanged?.call(initialBotOptions); + // }, + // ), + // if (initialBotOptions.discussionTriggerScheduleEnabled == true) + // Padding( + // padding: const EdgeInsets.all(8), + // child: TextField( + // keyboardType: TextInputType.number, + // controller: TextEditingController( + // text: discussionTriggerScheduleHourInterval.toString(), + // ), + // onChanged: (value) { + // discussionTriggerScheduleHourInterval = + // int.tryParse(value) ?? 0; + // }, + // decoration: InputDecoration( + // labelText: L10n.of(context)! + // .conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel, + // floatingLabelBehavior: FloatingLabelBehavior.auto, + // suffixIcon: IconButton( + // icon: const Icon(Icons.check), + // onPressed: () { + // if (discussionTriggerScheduleHourInterval != + // initialBotOptions + // .discussionTriggerScheduleHourInterval) { + // initialBotOptions.discussionTriggerScheduleHourInterval = + // discussionTriggerScheduleHourInterval; + // onChanged?.call( + // initialBotOptions, + // ); + // } + // }, + // ), + // ), + // ), + // ), const SizedBox(height: 12), CheckboxListTile( title: Text( @@ -144,85 +144,88 @@ class ConversationBotDiscussionZone extends StatelessWidget { value: initialBotOptions.discussionTriggerReactionEnabled ?? false, onChanged: (value) { initialBotOptions.discussionTriggerReactionEnabled = value ?? false; + initialBotOptions.discussionTriggerReactionKey = + "⏩"; // hard code this for now onChanged?.call(initialBotOptions); }, ), - if (initialBotOptions.discussionTriggerReactionEnabled == true) - Padding( - padding: const EdgeInsets.all(8), - child: Column( - children: [ - Text( - L10n.of(context)! - .conversationBotDiscussionZone_discussionTriggerReactionKeyLabel, - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, - ), - textAlign: TextAlign.left, - ), - Container( - decoration: BoxDecoration( - border: Border.all( - color: Theme.of(context).colorScheme.secondary, - width: 0.5, - ), - borderRadius: const BorderRadius.all(Radius.circular(10)), - ), - child: DropdownButton( - // Initial Value - hint: Padding( - padding: const EdgeInsets.only(left: 15), - child: Text( - reactionKeyOptions[0], - style: const TextStyle().copyWith( - color: Theme.of(context).textTheme.bodyLarge!.color, - fontSize: 14, - ), - overflow: TextOverflow.clip, - textAlign: TextAlign.center, - ), - ), - isExpanded: true, - underline: Container(), - // Down Arrow Icon - icon: const Icon(Icons.keyboard_arrow_down), - // Array list of items - items: [ - for (final entry in reactionKeyOptions) - DropdownMenuItem( - value: entry, - child: Padding( - padding: const EdgeInsets.only(left: 15), - child: Text( - entry, - style: const TextStyle().copyWith( - color: Theme.of(context) - .textTheme - .bodyLarge! - .color, - fontSize: 14, - ), - overflow: TextOverflow.clip, - textAlign: TextAlign.center, - ), - ), - ), - ], - onChanged: (String? value) { - if (value != - initialBotOptions.discussionTriggerReactionKey) { - initialBotOptions.discussionTriggerReactionKey = value; - onChanged?.call( - initialBotOptions, - ); - } - }, - ), - ), - ], - ), - ), + // if (initialBotOptions.discussionTriggerReactionEnabled == true) + // Padding( + // padding: const EdgeInsets.all(8), + // child: Column( + // children: [ + // Text( + // L10n.of(context)! + // .conversationBotDiscussionZone_discussionTriggerReactionKeyLabel, + // style: TextStyle( + // color: Theme.of(context).colorScheme.secondary, + // fontWeight: FontWeight.bold, + // ), + // textAlign: TextAlign.left, + // ), + // Container( + // decoration: BoxDecoration( + // border: Border.all( + // color: Theme.of(context).colorScheme.secondary, + // width: 0.5, + // ), + // borderRadius: const BorderRadius.all(Radius.circular(10)), + // ), + // child: DropdownButton( + // // Initial Value + // hint: Padding( + // padding: const EdgeInsets.only(left: 15), + // child: Text( + // reactionKeyOptions[0], + // style: const TextStyle().copyWith( + // color: Theme.of(context).textTheme.bodyLarge!.color, + // fontSize: 14, + // ), + // overflow: TextOverflow.clip, + // textAlign: TextAlign.center, + // ), + // ), + // isExpanded: true, + // underline: Container(), + // // Down Arrow Icon + // icon: const Icon(Icons.keyboard_arrow_down), + // // Array list of items + // items: [ + // for (final entry in reactionKeyOptions) + // DropdownMenuItem( + // value: entry, + // child: Padding( + // padding: const EdgeInsets.only(left: 15), + // child: Text( + // entry, + // style: const TextStyle().copyWith( + // color: Theme.of(context) + // .textTheme + // .bodyLarge! + // .color, + // fontSize: 14, + // ), + // overflow: TextOverflow.clip, + // textAlign: TextAlign.center, + // ), + // ), + // ), + // ], + // onChanged: (String? value) { + // if (value != + // initialBotOptions.discussionTriggerReactionKey) { + // initialBotOptions.discussionTriggerReactionKey = value; + // onChanged?.call( + // initialBotOptions, + // ); + // } + // }, + // ), + // ), + // ], + // ), + // ), + const SizedBox(height: 12), ], ); } From 6210f743b0693c054be0b4fe79601285fe1e173f Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Mon, 20 May 2024 13:22:13 -0400 Subject: [PATCH 7/9] remove excess bot options --- .../conversation_bot/conversation_bot_mode_select.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart index 70675e898..9662dec55 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart @@ -16,11 +16,11 @@ class ConversationBotModeSelect extends StatelessWidget { final Map options = { "discussion": L10n.of(context)!.conversationBotModeSelectOption_discussion, - "custom": L10n.of(context)!.conversationBotModeSelectOption_custom, - "conversation": - L10n.of(context)!.conversationBotModeSelectOption_conversation, - "text_adventure": - L10n.of(context)!.conversationBotModeSelectOption_textAdventure, + // "custom": L10n.of(context)!.conversationBotModeSelectOption_custom, + // "conversation": + // L10n.of(context)!.conversationBotModeSelectOption_conversation, + // "text_adventure": + // L10n.of(context)!.conversationBotModeSelectOption_textAdventure, }; return Padding( From 1724871de4255e9e090255cf145230bb58b139e7 Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Wed, 22 May 2024 09:01:36 -0400 Subject: [PATCH 8/9] remove discussion mode selects --- .../conversation_bot_settings.dart | 45 +++++++++---------- macos/Flutter/GeneratedPluginRegistrant.swift | 4 +- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart index 0558307d6..d10fd6980 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart @@ -5,7 +5,6 @@ import 'package:fluffychat/pangea/models/bot_options_model.dart'; import 'package:fluffychat/pangea/utils/bot_name.dart'; import 'package:fluffychat/pangea/widgets/common/bot_face_svg.dart'; import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart'; -import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart'; import 'package:fluffychat/pangea/widgets/space/language_level_dropdown.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -245,28 +244,28 @@ class ConversationBotSettingsState extends State { }), ), ), - Padding( - padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), - child: Text( - L10n.of(context)!.conversationBotModeSelectDescription, - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, - fontSize: 16, - ), - ), - ), - Padding( - padding: const EdgeInsets.only(left: 16), - child: ConversationBotModeSelect( - initialMode: botOptions.mode, - onChanged: (String? mode) => updateBotOption( - () { - botOptions.mode = mode ?? "discussion"; - }, - ), - ), - ), + // Padding( + // padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), + // child: Text( + // L10n.of(context)!.conversationBotModeSelectDescription, + // style: TextStyle( + // color: Theme.of(context).colorScheme.secondary, + // fontWeight: FontWeight.bold, + // fontSize: 16, + // ), + // ), + // ), + // Padding( + // padding: const EdgeInsets.only(left: 16), + // child: ConversationBotModeSelect( + // initialMode: botOptions.mode, + // onChanged: (String? mode) => updateBotOption( + // () { + // botOptions.mode = mode ?? "discussion"; + // }, + // ), + // ), + // ), Padding( padding: const EdgeInsets.fromLTRB(28, 0, 12, 0), child: ConversationBotModeDynamicZone( diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index ce6ae4707..09c588b29 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -28,7 +28,7 @@ import package_info_plus import pasteboard import path_provider_foundation import purchases_flutter -import record_macos +import record_darwin import sentry_flutter import share_plus import shared_preferences_foundation @@ -64,7 +64,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { PasteboardPlugin.register(with: registry.registrar(forPlugin: "PasteboardPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) PurchasesFlutterPlugin.register(with: registry.registrar(forPlugin: "PurchasesFlutterPlugin")) - RecordMacosPlugin.register(with: registry.registrar(forPlugin: "RecordMacosPlugin")) + RecordPlugin.register(with: registry.registrar(forPlugin: "RecordPlugin")) SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) From e935ba33f192757f9cce5ba732b89695066d68c8 Mon Sep 17 00:00:00 2001 From: WilsonLe Date: Wed, 22 May 2024 13:27:44 -0400 Subject: [PATCH 9/9] change discussion topic and keywords input to use dialog input --- assets/l10n/intl_en.arb | 2 + ...rsation_bot_discussion_keywords_input.dart | 71 ++++++++++++++ ...nversation_bot_discussion_topic_input.dart | 70 ++++++++++++++ .../conversation_bot_discussion_zone.dart | 85 ++++++++-------- .../conversation_bot_mode_dynamic_zone.dart | 2 +- needed-translations.txt | 96 +++++++++++++++++++ 6 files changed, 279 insertions(+), 47 deletions(-) create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart create mode 100644 lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 43c9bc133..aba4b4ac3 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3953,7 +3953,9 @@ "conversationBotModeSelectOption_textAdventure": "Text Adventure", "conversationBotDiscussionZone_title": "Discussion Settings", "conversationBotDiscussionZone_discussionTopicLabel": "Discussion Topic", + "conversationBotDiscussionZone_discussionTopicPlaceholder": "Set Discussion Topic", "conversationBotDiscussionZone_discussionKeywordsLabel": "Discussion Keywords", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder": "Set Discussion Keywords", "conversationBotDiscussionZone_discussionKeywordsHintText": "Comma separated list of keywords to guide the discussion", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel": "Send discussion prompt on a schedule", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel": "Hours between discussion prompts", diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart new file mode 100644 index 000000000..9024e41bb --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart @@ -0,0 +1,71 @@ +import 'package:fluffychat/pangea/models/bot_options_model.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + +class ConversationBotDiscussionKeywordsInput extends StatelessWidget { + final BotOptionsModel initialBotOptions; + // call this to update propagate changes to parents + final void Function(BotOptionsModel) onChanged; + + const ConversationBotDiscussionKeywordsInput({ + super.key, + required this.initialBotOptions, + required this.onChanged, + }); + + @override + Widget build(BuildContext context) { + String discussionKeywords = initialBotOptions.discussionKeywords ?? ""; + + final TextEditingController textFieldController = + TextEditingController(text: discussionKeywords); + + void setBotDiscussionKeywordsAction() async { + showDialog( + context: context, + useRootNavigator: false, + builder: (BuildContext context) => AlertDialog( + title: Text( + L10n.of(context)! + .conversationBotDiscussionZone_discussionKeywordsLabel, + ), + content: TextField( + controller: textFieldController, + onChanged: (value) { + discussionKeywords = value; + }, + ), + actions: [ + TextButton( + child: Text(L10n.of(context)!.cancel), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + TextButton( + child: Text(L10n.of(context)!.ok), + onPressed: () { + if (discussionKeywords == "") return; + if (discussionKeywords != + initialBotOptions.discussionKeywords) { + initialBotOptions.discussionKeywords = discussionKeywords; + onChanged.call(initialBotOptions); + Navigator.of(context).pop(); + } + }, + ), + ], + ), + ); + } + + return ListTile( + onTap: setBotDiscussionKeywordsAction, + title: Text( + initialBotOptions.discussionKeywords ?? + L10n.of(context)! + .conversationBotDiscussionZone_discussionKeywordsPlaceholder, + ), + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart new file mode 100644 index 000000000..72caa3839 --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart @@ -0,0 +1,70 @@ +import 'package:fluffychat/pangea/models/bot_options_model.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + +class ConversationBotDiscussionTopicInput extends StatelessWidget { + final BotOptionsModel initialBotOptions; + // call this to update propagate changes to parents + final void Function(BotOptionsModel) onChanged; + + const ConversationBotDiscussionTopicInput({ + super.key, + required this.initialBotOptions, + required this.onChanged, + }); + + @override + Widget build(BuildContext context) { + String discussionTopic = initialBotOptions.discussionTopic ?? ""; + + final TextEditingController textFieldController = + TextEditingController(text: discussionTopic); + + void setBotDiscussionTopicAction() async { + showDialog( + context: context, + useRootNavigator: false, + builder: (BuildContext context) => AlertDialog( + title: Text( + L10n.of(context)! + .conversationBotDiscussionZone_discussionTopicLabel, + ), + content: TextField( + controller: textFieldController, + onChanged: (value) { + discussionTopic = value; + }, + ), + actions: [ + TextButton( + child: Text(L10n.of(context)!.cancel), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + TextButton( + child: Text(L10n.of(context)!.ok), + onPressed: () { + if (discussionTopic == "") return; + if (discussionTopic != initialBotOptions.discussionTopic) { + initialBotOptions.discussionTopic = discussionTopic; + onChanged.call(initialBotOptions); + Navigator.of(context).pop(); + } + }, + ), + ], + ), + ); + } + + return ListTile( + onTap: setBotDiscussionTopicAction, + title: Text( + initialBotOptions.discussionTopic ?? + L10n.of(context)! + .conversationBotDiscussionZone_discussionTopicPlaceholder, + ), + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart index 1f13139ee..57c25e133 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart @@ -1,11 +1,13 @@ import 'package:fluffychat/pangea/models/bot_options_model.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; class ConversationBotDiscussionZone extends StatelessWidget { final BotOptionsModel initialBotOptions; // call this to update propagate changes to parents - final void Function(BotOptionsModel?)? onChanged; + final void Function(BotOptionsModel) onChanged; const ConversationBotDiscussionZone({ super.key, @@ -15,8 +17,9 @@ class ConversationBotDiscussionZone extends StatelessWidget { @override Widget build(BuildContext context) { - String discussionTopic = initialBotOptions.discussionTopic ?? ""; - String discussionKeywords = initialBotOptions.discussionKeywords ?? ""; + final String discussionTopic = initialBotOptions.discussionTopic ?? ""; + final String discussionKeywords = + initialBotOptions.discussionKeywords ?? ""; // int discussionTriggerScheduleHourInterval = // initialBotOptions.discussionTriggerScheduleHourInterval ?? 24; // String discussionTriggerReactionKey = @@ -37,59 +40,49 @@ class ConversationBotDiscussionZone extends StatelessWidget { thickness: 1, ), const SizedBox(height: 12), - Padding( - padding: const EdgeInsets.all(8), - child: TextField( - controller: TextEditingController(text: discussionTopic), - onChanged: (value) { - discussionTopic = value; - }, - decoration: InputDecoration( - labelText: L10n.of(context)! + Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.fromLTRB(12, 0, 0, 0), + child: Text( + L10n.of(context)! .conversationBotDiscussionZone_discussionTopicLabel, - floatingLabelBehavior: FloatingLabelBehavior.auto, - suffixIcon: IconButton( - icon: const Icon(Icons.check), - onPressed: () { - if (discussionTopic != initialBotOptions.discussionTopic) { - initialBotOptions.discussionTopic = discussionTopic; - onChanged?.call( - initialBotOptions, - ); - } - }, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, ), ), ), ), - const SizedBox(height: 12), Padding( padding: const EdgeInsets.all(8), - child: TextField( - controller: TextEditingController(text: discussionKeywords), - onChanged: (value) { - discussionKeywords = value; - }, - decoration: InputDecoration( - labelText: L10n.of(context)! + child: ConversationBotDiscussionTopicInput( + initialBotOptions: initialBotOptions, + onChanged: onChanged, + ), + ), + const SizedBox(height: 12), + Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.fromLTRB(12, 0, 0, 0), + child: Text( + L10n.of(context)! .conversationBotDiscussionZone_discussionKeywordsLabel, - floatingLabelBehavior: FloatingLabelBehavior.auto, - hintText: L10n.of(context)! - .conversationBotDiscussionZone_discussionKeywordsHintText, - suffixIcon: IconButton( - icon: const Icon(Icons.check), - onPressed: () { - if (discussionTopic != initialBotOptions.discussionKeywords) { - initialBotOptions.discussionKeywords = discussionKeywords; - onChanged?.call( - initialBotOptions, - ); - } - }, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, ), ), ), ), + Padding( + padding: const EdgeInsets.all(8), + child: ConversationBotDiscussionKeywordsInput( + initialBotOptions: initialBotOptions, + onChanged: onChanged, + ), + ), const SizedBox(height: 12), // CheckboxListTile( // title: Text( @@ -135,7 +128,7 @@ class ConversationBotDiscussionZone extends StatelessWidget { // ), // ), // ), - const SizedBox(height: 12), + // const SizedBox(height: 12), CheckboxListTile( title: Text( L10n.of(context)! @@ -146,7 +139,7 @@ class ConversationBotDiscussionZone extends StatelessWidget { initialBotOptions.discussionTriggerReactionEnabled = value ?? false; initialBotOptions.discussionTriggerReactionKey = "⏩"; // hard code this for now - onChanged?.call(initialBotOptions); + onChanged.call(initialBotOptions); }, ), // if (initialBotOptions.discussionTriggerReactionEnabled == true) diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart index 38019a646..b0c78888f 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart @@ -8,7 +8,7 @@ import 'conversation_bot_discussion_zone.dart'; class ConversationBotModeDynamicZone extends StatelessWidget { final BotOptionsModel initialBotOptions; - final void Function(BotOptionsModel?)? onChanged; + final void Function(BotOptionsModel) onChanged; const ConversationBotModeDynamicZone({ super.key, diff --git a/needed-translations.txt b/needed-translations.txt index 5d9b0cc24..60c1be8f4 100644 --- a/needed-translations.txt +++ b/needed-translations.txt @@ -829,7 +829,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -2262,7 +2264,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -3157,7 +3161,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -4052,7 +4058,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -4947,7 +4955,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -5842,7 +5852,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -6684,7 +6696,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -7579,7 +7593,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -8474,7 +8490,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -8517,7 +8535,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -9355,7 +9375,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -10193,7 +10215,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -11088,7 +11112,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -11983,7 +12009,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -12878,7 +12906,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -13773,7 +13803,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -14611,7 +14643,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -15506,7 +15540,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -16401,7 +16437,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -17283,7 +17321,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -18178,7 +18218,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -19597,7 +19639,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -20492,7 +20536,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -21387,7 +21433,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -22267,7 +22315,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -23162,7 +23212,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -24057,7 +24109,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -24952,7 +25006,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -25847,7 +25903,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -26742,7 +26800,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -27637,7 +27697,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -28532,7 +28594,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -29427,7 +29491,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -30291,7 +30357,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -31186,7 +31254,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -32081,7 +32151,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -32919,7 +32991,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -33814,7 +33888,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -34709,7 +34785,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -35604,7 +35682,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -36464,7 +36544,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -37359,7 +37441,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -38254,7 +38338,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -39134,7 +39220,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -39972,7 +40060,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -40867,7 +40957,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -41705,7 +41797,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", @@ -42600,7 +42694,9 @@ "conversationBotModeSelectOption_textAdventure", "conversationBotDiscussionZone_title", "conversationBotDiscussionZone_discussionTopicLabel", + "conversationBotDiscussionZone_discussionTopicPlaceholder", "conversationBotDiscussionZone_discussionKeywordsLabel", + "conversationBotDiscussionZone_discussionKeywordsPlaceholder", "conversationBotDiscussionZone_discussionKeywordsHintText", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",