change lemma definition response schema to match choreo (#1379)
This commit is contained in:
parent
8869121adb
commit
900aebc092
4 changed files with 20 additions and 26 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue