change lemma definition response schema to match choreo (#1379)

This commit is contained in:
Wilson 2025-01-08 19:13:38 -05:00 committed by GitHub
parent 8869121adb
commit 900aebc092
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 20 additions and 26 deletions

View file

@ -1,13 +1,12 @@
import 'dart:convert';
import 'package:http/http.dart';
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/models/lemma.dart';
import 'package:fluffychat/pangea/network/requests.dart';
import 'package:fluffychat/pangea/network/urls.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import 'package:fluffychat/widgets/matrix.dart';
import '../config/environment.dart';
import '../network/requests.dart';
import 'package:http/http.dart';
class LemmaDefinitionRequest {
final Lemma _lemma;
@ -67,24 +66,24 @@ class LemmaDefinitionRequest {
class LemmaDefinitionResponse {
final List<String> emoji;
final String definition;
final String meaning;
LemmaDefinitionResponse({
required this.emoji,
required this.definition,
required this.meaning,
});
factory LemmaDefinitionResponse.fromJson(Map<String, dynamic> json) {
return LemmaDefinitionResponse(
emoji: (json['emoji'] as List<dynamic>).map((e) => e as String).toList(),
definition: json['definition'] as String,
meaning: json['meaning'] as String,
);
}
Map<String, dynamic> toJson() {
return {
'emoji': emoji,
'definition': definition,
'meaning': meaning,
};
}
@ -95,12 +94,12 @@ class LemmaDefinitionResponse {
runtimeType == other.runtimeType &&
emoji.length == other.emoji.length &&
emoji.every((element) => other.emoji.contains(element)) &&
definition == other.definition;
meaning == other.meaning;
@override
int get hashCode =>
emoji.fold(0, (prev, element) => prev ^ element.hashCode) ^
definition.hashCode;
meaning.hashCode;
}
class LemmaDictionaryRepo {
@ -151,7 +150,7 @@ class LemmaDictionaryRepo {
final List<String> definitions = [];
for (final entry in _cache.entries) {
if (entry.key.lemma != lemma) {
definitions.add(entry.value.definition);
definitions.add(entry.value.meaning);
}
}

View file

@ -1,13 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:fluffychat/pangea/enum/activity_type_enum.dart';
import 'package:fluffychat/pangea/enum/construct_type_enum.dart';
import 'package:fluffychat/pangea/models/practice_activities.dart/message_activity_request.dart';
import 'package:fluffychat/pangea/models/practice_activities.dart/multiple_choice_activity_model.dart';
import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_model.dart';
import 'package:fluffychat/pangea/repo/lemma_definition_repo.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
class WordMeaningActivityGenerator {
Future<MessageActivityResponse> get(
@ -34,8 +32,8 @@ class WordMeaningActivityGenerator {
final choices =
LemmaDictionaryRepo.getDistractorDefinitions(lemmaDefReq.lemma, 3);
if (!choices.contains(res.definition)) {
choices.add(res.definition);
if (!choices.contains(res.meaning)) {
choices.add(res.meaning);
choices.shuffle();
}
@ -48,7 +46,7 @@ class WordMeaningActivityGenerator {
content: ActivityContent(
question: L10n.of(context).chooseBestDefinition,
choices: choices,
answers: [res.definition],
answers: [res.meaning],
spanDisplayDetails: null,
),
),

View file

@ -1,12 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:fluffychat/pangea/constants/language_constants.dart';
import 'package:fluffychat/pangea/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/repo/lemma_definition_repo.dart';
import 'package:fluffychat/pangea/widgets/igc/card_error_widget.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
class ContextualTranslationWidget extends StatelessWidget {
final PangeaToken token;
@ -31,7 +29,7 @@ class ContextualTranslationWidget extends StatelessWidget {
);
final res = await LemmaDictionaryRepo.get(lemmaDefReq);
return res.definition;
return res.meaning;
}
@override

View file

@ -1,9 +1,8 @@
import 'package:flutter/material.dart';
import 'package:fluffychat/pangea/constants/language_constants.dart';
import 'package:fluffychat/pangea/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/repo/lemma_definition_repo.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/material.dart';
class LemmaDefinitionWidget extends StatefulWidget {
final PangeaToken token;
@ -44,7 +43,7 @@ class LemmaDefinitionWidgetState extends State<LemmaDefinitionWidget> {
LanguageKeys.defaultLanguage,
),
);
return res.definition;
return res.meaning;
}
}