fluffychat/lib/pangea/analytics_practice/analytics_practice_ui_controller.dart
ggurdin 117a03089e
5720 vocab practice should have feedback flag (#5761)
* chore: split up analytics activity page widgets into separate files

* started analytics practice refactor

* refactor how UI updates are triggered in analytics practice page

* some fixes
2026-02-20 13:25:21 -05:00

24 lines
847 B
Dart

import 'package:fluffychat/pangea/analytics_misc/construct_type_enum.dart';
import 'package:fluffychat/pangea/practice_activities/practice_activity_model.dart';
import 'package:fluffychat/pangea/text_to_speech/tts_controller.dart';
class AnalyticsPracticeUiController {
static String getChoiceTargetId(String choiceId, ConstructTypeEnum type) =>
'${type.name}-choice-card-${choiceId.replaceAll(' ', '_')}';
static void playTargetAudio(
MultipleChoicePracticeActivityModel activity,
ConstructTypeEnum type,
String language,
) {
if (activity is! VocabMeaningPracticeActivityModel) return;
final token = activity.tokens.first;
TtsController.tryToSpeak(
token.vocabConstructID.lemma,
langCode: language,
pos: token.pos,
morph: token.morph.map((k, v) => MapEntry(k.name, v)),
);
}
}