chore: formatting (#2315)

This commit is contained in:
ggurdin 2025-04-02 09:05:00 -04:00 committed by GitHub
parent bec0c1d018
commit 8b9fce8e56
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 112 additions and 103 deletions

View file

@ -1,5 +1,11 @@
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pages/chat/events/video_player.dart';
import 'package:fluffychat/pangea/choreographer/widgets/igc/pangea_rich_text.dart';
@ -11,11 +17,6 @@ import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart
import 'package:fluffychat/pangea/toolbar/widgets/message_token_text.dart';
import 'package:fluffychat/pangea/toolbar/widgets/message_toolbar_selection_area.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:matrix/matrix.dart';
import '../../../config/app_config.dart';
import '../../../utils/platform_infos.dart';
import '../../../utils/url_launcher.dart';

View file

@ -1,5 +1,4 @@
import 'dart:async';
import 'dart:math';
import 'package:flutter/material.dart';
@ -18,8 +17,6 @@ import 'package:fluffychat/pangea/common/controllers/base_controller.dart';
import 'package:fluffychat/pangea/common/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
import 'package:fluffychat/pangea/constructs/construct_identifier.dart';
import 'package:fluffychat/pangea/constructs/construct_repo.dart';
import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/learning_settings/models/language_model.dart';
import 'package:fluffychat/pangea/practice_activities/practice_selection_repo.dart';
@ -378,89 +375,89 @@ class GetAnalyticsController extends BaseController {
_cache.add(entry);
}
Future<GenerateConstructSummaryResult?>
_generateLevelUpAnalyticsAndSaveToStateEvent(
final int lowerLevel,
final int upperLevel,
) async {
// generate level up analytics as a construct summary
ConstructSummary summary;
try {
final int maxXP = constructListModel.calculateXpWithLevel(upperLevel);
final int minXP = constructListModel.calculateXpWithLevel(lowerLevel);
int diffXP = maxXP - minXP;
if (diffXP < 0) diffXP = 0;
// Future<GenerateConstructSummaryResult?>
// _generateLevelUpAnalyticsAndSaveToStateEvent(
// final int lowerLevel,
// final int upperLevel,
// ) async {
// // generate level up analytics as a construct summary
// ConstructSummary summary;
// try {
// final int maxXP = constructListModel.calculateXpWithLevel(upperLevel);
// final int minXP = constructListModel.calculateXpWithLevel(lowerLevel);
// int diffXP = maxXP - minXP;
// if (diffXP < 0) diffXP = 0;
// compute construct use of current level
final List<OneConstructUse> constructUseOfCurrentLevel = [];
int score = 0;
for (final use in constructListModel.uses) {
constructUseOfCurrentLevel.add(use);
score += use.pointValue;
if (score >= diffXP) break;
}
// // compute construct use of current level
// final List<OneConstructUse> constructUseOfCurrentLevel = [];
// int score = 0;
// for (final use in constructListModel.uses) {
// constructUseOfCurrentLevel.add(use);
// score += use.pointValue;
// if (score >= diffXP) break;
// }
// extract construct use message bodies for analytics
List<String?>? constructUseMessageContentBodies = [];
for (final use in constructUseOfCurrentLevel) {
try {
final useMessage = await use.getEvent(_client);
final useMessageBody = useMessage?.content["body"];
if (useMessageBody is String) {
constructUseMessageContentBodies.add(useMessageBody);
} else {
constructUseMessageContentBodies.add(null);
}
} catch (e) {
constructUseMessageContentBodies.add(null);
}
}
if (constructUseMessageContentBodies.length !=
constructUseOfCurrentLevel.length) {
constructUseMessageContentBodies = null;
}
// // extract construct use message bodies for analytics
// List<String?>? constructUseMessageContentBodies = [];
// for (final use in constructUseOfCurrentLevel) {
// try {
// final useMessage = await use.getEvent(_client);
// final useMessageBody = useMessage?.content["body"];
// if (useMessageBody is String) {
// constructUseMessageContentBodies.add(useMessageBody);
// } else {
// constructUseMessageContentBodies.add(null);
// }
// } catch (e) {
// constructUseMessageContentBodies.add(null);
// }
// }
// if (constructUseMessageContentBodies.length !=
// constructUseOfCurrentLevel.length) {
// constructUseMessageContentBodies = null;
// }
final request = ConstructSummaryRequest(
constructs: constructUseOfCurrentLevel,
constructUseMessageContentBodies: constructUseMessageContentBodies,
language: _l2!.langCodeShort,
upperLevel: upperLevel,
lowerLevel: lowerLevel,
);
// final request = ConstructSummaryRequest(
// constructs: constructUseOfCurrentLevel,
// constructUseMessageContentBodies: constructUseMessageContentBodies,
// language: _l2!.langCodeShort,
// upperLevel: upperLevel,
// lowerLevel: lowerLevel,
// );
final response = await ConstructRepo.generateConstructSummary(request);
summary = response.summary;
} catch (e) {
debugPrint("Error generating level up analytics: $e");
ErrorHandler.logError(e: e, data: {'e': e});
return null;
}
String stateEventId;
try {
final Room? analyticsRoom = _client.analyticsRoomLocal(_l2!);
if (analyticsRoom == null) {
ErrorHandler.logError(
e: e,
data: {'e': e, 'message': "Analytics room not found for user"},
);
return null;
}
stateEventId = await _client.setRoomStateWithKey(
analyticsRoom.id,
PangeaEventTypes.constructSummary,
'',
summary.toJson(),
);
} catch (e) {
debugPrint("Error saving construct summary room: $e");
ErrorHandler.logError(e: e, data: {'e': e});
return null;
}
return GenerateConstructSummaryResult(
stateEventId: stateEventId,
summary: summary,
);
}
// final response = await ConstructRepo.generateConstructSummary(request);
// summary = response.summary;
// } catch (e) {
// debugPrint("Error generating level up analytics: $e");
// ErrorHandler.logError(e: e, data: {'e': e});
// return null;
// }
// String stateEventId;
// try {
// final Room? analyticsRoom = _client.analyticsRoomLocal(_l2!);
// if (analyticsRoom == null) {
// ErrorHandler.logError(
// e: e,
// data: {'e': e, 'message': "Analytics room not found for user"},
// );
// return null;
// }
// stateEventId = await _client.setRoomStateWithKey(
// analyticsRoom.id,
// PangeaEventTypes.constructSummary,
// '',
// summary.toJson(),
// );
// } catch (e) {
// debugPrint("Error saving construct summary room: $e");
// ErrorHandler.logError(e: e, data: {'e': e});
// return null;
// }
// return GenerateConstructSummaryResult(
// stateEventId: stateEventId,
// summary: summary,
// );
// }
}
class AnalyticsCacheEntry {

View file

@ -1,5 +1,7 @@
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
import 'package:fluffychat/pangea/constructs/construct_identifier.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_model.dart';
@ -8,7 +10,6 @@ import 'package:fluffychat/pangea/practice_activities/activity_type_enum.dart';
import 'package:fluffychat/pangea/practice_activities/practice_choice.dart';
import 'package:fluffychat/pangea/practice_activities/practice_record.dart';
import 'package:fluffychat/pangea/practice_activities/practice_record_repo.dart';
import 'package:flutter/foundation.dart';
/// Picks which tokens to do activities on and what types of activities to do
/// Caches result so that we don't have to recompute it

View file

@ -1,4 +1,8 @@
import 'package:flutter/material.dart';
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:fluffychat/pangea/analytics_misc/construct_type_enum.dart';
import 'package:fluffychat/pangea/choreographer/widgets/choice_animation.dart';
import 'package:fluffychat/pangea/constructs/construct_form.dart';
@ -11,8 +15,6 @@ import 'package:fluffychat/pangea/practice_activities/practice_activity_model.da
import 'package:fluffychat/pangea/practice_activities/practice_choice.dart';
import 'package:fluffychat/pangea/toolbar/reading_assistance_input_row/message_morph_choice_item.dart';
import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
// this widget will handle the content of the input bar when mode == MessageMode.wordMorph

View file

@ -1,12 +1,13 @@
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
import 'package:fluffychat/pangea/practice_activities/practice_choice.dart';
import 'package:fluffychat/pangea/toolbar/controllers/tts_controller.dart';
import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
class PracticeMatchItem extends StatefulWidget {
const PracticeMatchItem({

View file

@ -1,7 +1,13 @@
import 'dart:async';
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:collection/collection.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
@ -25,10 +31,6 @@ import 'package:fluffychat/pangea/toolbar/reading_assistance_input_row/morph_sel
import 'package:fluffychat/pangea/toolbar/widgets/message_selection_positioner.dart';
import 'package:fluffychat/pangea/toolbar/widgets/reading_assistance_content.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:matrix/matrix.dart';
/// Controls data at the top level of the toolbar (mainly token / toolbar mode selection)
class MessageSelectionOverlay extends StatefulWidget {

View file

@ -1,5 +1,11 @@
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:material_symbols_icons/symbols.dart';
import 'package:fluffychat/pangea/analytics_misc/construct_use_model.dart';
import 'package:fluffychat/pangea/analytics_misc/text_loading_shimmer.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_model.dart';
@ -12,10 +18,6 @@ import 'package:fluffychat/pangea/toolbar/enums/message_mode_enum.dart';
import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart';
import 'package:fluffychat/pangea/toolbar/widgets/practice_activity/word_zoom_activity_button.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:material_symbols_icons/symbols.dart';
class LemmaMeaningWidget extends StatefulWidget {
final ConstructUses constructUse;

View file

@ -1,3 +1,7 @@
import 'package:flutter/material.dart';
import 'package:material_symbols_icons/symbols.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/morphs/get_grammar_copy.dart';
import 'package:fluffychat/pangea/morphs/morph_features_enum.dart';
@ -7,8 +11,6 @@ import 'package:fluffychat/pangea/toolbar/enums/message_mode_enum.dart';
import 'package:fluffychat/pangea/toolbar/reading_assistance_input_row/morph_selection.dart';
import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart';
import 'package:fluffychat/pangea/toolbar/widgets/practice_activity/word_zoom_activity_button.dart';
import 'package:flutter/material.dart';
import 'package:material_symbols_icons/symbols.dart';
class MorphologicalListItem extends StatelessWidget {
final MorphFeaturesEnum morphFeature;

View file

@ -1,3 +1,5 @@
import 'package:flutter/material.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/analytics_details_popup/analytics_details_popup.dart';
import 'package:fluffychat/pangea/analytics_misc/construct_type_enum.dart';
@ -16,7 +18,6 @@ import 'package:fluffychat/pangea/toolbar/widgets/word_zoom/lemma_meaning_widget
import 'package:fluffychat/pangea/toolbar/widgets/word_zoom/lemma_widget.dart';
import 'package:fluffychat/pangea/toolbar/widgets/word_zoom/morphological_list_item.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/material.dart';
class WordZoomWidget extends StatelessWidget {
final PangeaToken token;