chore: add tooltips to each practice mode

This commit is contained in:
ggurdin 2025-12-16 11:24:54 -05:00
parent 43fc4f3daf
commit b35d109c0f
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
2 changed files with 26 additions and 0 deletions

View file

@ -4,6 +4,7 @@ import 'package:material_symbols_icons/symbols.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pangea/instructions/instructions_enum.dart';
import 'package:fluffychat/pangea/practice_activities/activity_type_enum.dart';
enum MessagePracticeMode {
@ -70,4 +71,19 @@ enum MessagePracticeMode {
MessagePracticeMode.wordMeaning,
MessagePracticeMode.wordEmoji,
];
InstructionsEnum? get instruction {
switch (this) {
case MessagePracticeMode.listening:
return InstructionsEnum.chooseWordAudio;
case MessagePracticeMode.wordMeaning:
return InstructionsEnum.chooseLemmaMeaning;
case MessagePracticeMode.wordEmoji:
return InstructionsEnum.chooseEmoji;
case MessagePracticeMode.wordMorph:
return InstructionsEnum.chooseMorphs;
default:
return null;
}
}
}

View file

@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/instructions/instructions_inline_tooltip.dart';
import 'package:fluffychat/pangea/practice_activities/practice_target.dart';
import 'package:fluffychat/pangea/toolbar/message_practice/message_practice_mode_enum.dart';
import 'package:fluffychat/pangea/toolbar/message_practice/practice_activity_card.dart';
@ -62,6 +63,15 @@ class ReadingAssistanceInputBarState extends State<ReadingAssistanceInputBar> {
),
],
),
if (widget.controller.practiceMode.instruction != null)
InstructionsInlineTooltip(
instructionsEnum: widget.controller.practiceMode.instruction!,
padding: const EdgeInsets.symmetric(
horizontal: 16.0,
vertical: 4.0,
),
animate: false,
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Material(