diff --git a/.github/workflows/main_deploy.yaml b/.github/workflows/main_deploy.yaml
index 2e81b7b40..4800aa0c5 100644
--- a/.github/workflows/main_deploy.yaml
+++ b/.github/workflows/main_deploy.yaml
@@ -4,11 +4,15 @@ on:
push:
branches:
- main
- - pangea-merge
+env:
+ # Setting an environment variable with the value of a configuration variable
+ WEB_APP_ENV: ${{ vars.WEB_APP_ENV }}
+
jobs:
deploy_web:
runs-on: ubuntu-latest
+ environment: staging
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
@@ -22,20 +26,19 @@ jobs:
- name: Prepare web
run: ./scripts/prepare-web.sh
- name: Build Release Web
- run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps --base-href "/web/"
+ run: ./scripts/build-web.sh
- name: Build Website
run: |
- cd docs && npx tailwindcss -o ./tailwind.css --minify && cd ..
- mv docs public
- mv repo public || true
- mv build/web/ public/web
- echo "fluffychat.im" > ./public/CNAME
+ mv build/web public
+ touch public/.env
+ echo "$WEB_APP_ENV" >> public/.env
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }}
publish_dir: ./public
publish_branch: gh-pages
+ # cname: app.staging.pangea.chat
update_sentry:
runs-on: ubuntu-latest
diff --git a/.github/workflows/old.yml b/.github/workflows/old.yml
new file mode 100644
index 000000000..a701797de
--- /dev/null
+++ b/.github/workflows/old.yml
@@ -0,0 +1,110 @@
+name: Old Release Workflow
+
+on:
+ push:
+ branches:
+ - master-unused
+
+concurrency:
+ group: release_workflow
+ cancel-in-progress: true
+
+jobs:
+ build_staging:
+ runs-on: ubuntu-latest
+ environment: staging
+ steps:
+ - uses: actions/checkout@v2
+ - run: cat .github/workflows/versions.env >> $GITHUB_ENV
+ - run: echo "$WEB_APP_ENV" > .env
+
+ - name: Set up Flutter
+ uses: subosito/flutter-action@v2
+ with:
+ flutter-version: ${{ env.FLUTTER_VERSION }}
+
+ - name: Prepare web
+ run: ./scripts/prepare-web.sh
+
+ - name: Build web
+ run: ./scripts/build-web.sh
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: web-artifact
+ path: ./build/web
+
+ upload_sentry:
+ runs-on: ubuntu-latest
+ needs: build_staging
+
+ steps:
+ - uses: actions/checkout@v2
+ - run: cat .github/workflows/versions.env >> $GITHUB_ENV
+ - run: echo "$WEB_APP_ENV" > .env
+ - name: Build web
+ run: ./scripts/upload-sentry.sh
+
+ deploy_staging:
+ runs-on: ubuntu-latest
+ needs: build_staging
+
+ steps:
+ - uses: actions/checkout@v2
+ - run: cat .github/workflows/versions.env >> $GITHUB_ENV
+ - run: echo "$WEB_APP_ENV" > .env
+ - name: Set up AWS CLI
+ uses: aws-actions/configure-aws-credentials@v2
+ with:
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
+
+ - name: Download all workflow run artifacts
+ uses: actions/download-artifact@v3
+
+ build_production:
+ runs-on: ubuntu-latest
+ environment: production
+ steps:
+ - uses: actions/checkout@v2
+ - run: cat .github/workflows/versions.env >> $GITHUB_ENV
+ - run: echo "$WEB_APP_ENV" > .env
+
+ - name: Set up Flutter
+ uses: subosito/flutter-action@v2
+ with:
+ flutter-version: ${{ env.FLUTTER_VERSION }}
+
+ - name: Prepare web
+ run: ./scripts/prepare-web.sh
+
+ - name: Build web
+ run: ./scripts/build-web.sh
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v2
+ with:
+ name: web-artifact
+ path: ./build/web
+
+ deploy_production:
+ environment: production
+ runs-on: ubuntu-latest
+ needs: build_production
+
+ steps:
+ - uses: actions/checkout@v2
+ - run: cat .github/workflows/versions.env >> $GITHUB_ENV
+ - run: echo "$WEB_APP_ENV" > .env
+
+ - name: Download all workflow run artifacts
+ uses: actions/download-artifact@v3
+
+ - name: Set up AWS CLI
+ uses: aws-actions/configure-aws-credentials@v2
+ with:
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 3c87c2c94..e26c8f2fa 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -27,20 +27,20 @@ jobs:
- name: Build Release Web
run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps
- name: Create archive
- run: tar -czf fluffychat-web.tar.gz build/web/
+ run: tar -czf pangeachat-web.tar.gz build/web/
- name: Upload Web Build
uses: actions/upload-artifact@v2
with:
name: Web Build
- path: fluffychat-web.tar.gz
+ path: pangeachat-web.tar.gz
- name: Upload to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.PAGES_DEPLOY_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
- asset_path: fluffychat-web.tar.gz
- asset_name: fluffychat-web.tar.gz
+ asset_path: pangeachat-web.tar.gz
+ asset_name: pangeachat-web.tar.gz
asset_content_type: application/gzip
build_apk:
diff --git a/.gitignore b/.gitignore
index 6f1d4f585..ef7038f03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,7 @@
.svn/
prime
*.env
+!/public/.env
# libolm package
/assets/js/package
diff --git a/android/app/build.gradle b/android/app/build.gradle
index ef59c2ac4..bc33501d7 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -66,8 +66,8 @@ android {
buildTypes {
debug {
signingConfig signingConfigs.debug
- applicationIdSuffix ".debug"
- versionNameSuffix "-debug"
+ applicationIdSuffix ""
+ versionNameSuffix ""
}
release {
signingConfig signingConfigs.release
diff --git a/config.sample.json b/config.sample.json
index ff37ec238..03ac42a6a 100644
--- a/config.sample.json
+++ b/config.sample.json
@@ -1,9 +1,9 @@
{
- "application_name": "FluffyChat",
+ "application_name": "PangeaChat",
"application_welcome_message": null,
- "default_homeserver": "matrix.org",
- "web_base_url": "https://fluffychat.im/web",
- "privacy_url": "https://fluffychat.im/en/privacy.html",
+ "default_homeserver": "matrix.pangea.chat",
+ "web_base_url": "https://web.pangea.chat",
+ "privacy_url": "https://pangea.chat/privacy",
"render_html": false,
"hide_redacted_events": false,
"hide_unknown_events": false
diff --git a/lib/config/app_config.dart b/lib/config/app_config.dart
index 6b10cd43f..b3c85c116 100644
--- a/lib/config/app_config.dart
+++ b/lib/config/app_config.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:ui';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
abstract class AppConfig {
diff --git a/lib/config/firebase_options.dart b/lib/config/firebase_options.dart
index c028dbd46..a66f312bc 100644
--- a/lib/config/firebase_options.dart
+++ b/lib/config/firebase_options.dart
@@ -1,7 +1,6 @@
// File generated by FlutterFire CLI.
// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members
-// Package imports:
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
import 'package:flutter/foundation.dart'
@@ -58,14 +57,15 @@ class DefaultFirebaseOptions {
);
static const FirebaseOptions android = FirebaseOptions(
- apiKey: 'AIzaSyAyWBbl83WXzbVr6txyCmlUsZhpWomQfdg',
- appId: '1:545984292675:android:d808acce7a80c20bb931f6',
- messagingSenderId: '545984292675',
- projectId: 'pangea-chat-936ee',
- databaseURL: 'https://pangea-chat-936ee-default-rtdb.firebaseio.com',
- storageBucket: 'pangea-chat-936ee.appspot.com',
- androidClientId:
- '545984292675-2amsnoan1mt6lec1fld1a7eagu6gej7o.apps.googleusercontent.com');
+ apiKey: 'AIzaSyAyWBbl83WXzbVr6txyCmlUsZhpWomQfdg',
+ appId: '1:545984292675:android:d808acce7a80c20bb931f6',
+ messagingSenderId: '545984292675',
+ projectId: 'pangea-chat-936ee',
+ databaseURL: 'https://pangea-chat-936ee-default-rtdb.firebaseio.com',
+ storageBucket: 'pangea-chat-936ee.appspot.com',
+ androidClientId:
+ '545984292675-2amsnoan1mt6lec1fld1a7eagu6gej7o.apps.googleusercontent.com',
+ );
static const FirebaseOptions ios = FirebaseOptions(
apiKey: 'AIzaSyCl8QZd9_PnaqJY2zLHCwlsmSWdq7hnH-U',
diff --git a/lib/config/routes.dart b/lib/config/routes.dart
index 8a58e82c8..ff2b0b55e 100644
--- a/lib/config/routes.dart
+++ b/lib/config/routes.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/cupertino.dart';
-// Package imports:
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/archive/archive.dart';
import 'package:fluffychat/pages/chat/chat.dart';
diff --git a/lib/config/themes.dart b/lib/config/themes.dart
index fd10c678a..4615eae9c 100644
--- a/lib/config/themes.dart
+++ b/lib/config/themes.dart
@@ -1,9 +1,7 @@
-// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Project imports:
import 'package:fluffychat/utils/platform_infos.dart';
import 'app_config.dart';
diff --git a/lib/main.dart b/lib/main.dart
index b7ab0ed8c..f2123f915 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
@@ -9,7 +7,6 @@ import 'package:get_storage/get_storage.dart';
import 'package:matrix/matrix.dart';
import 'package:shared_preferences/shared_preferences.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/controllers/language_list_controller.dart';
diff --git a/lib/pages/add_story/add_story.dart b/lib/pages/add_story/add_story.dart
index b6bb42d08..6f96fdf64 100644
--- a/lib/pages/add_story/add_story.dart
+++ b/lib/pages/add_story/add_story.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:io';
import 'dart:math';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
@@ -14,7 +11,6 @@ import 'package:image_picker/image_picker.dart';
import 'package:matrix/matrix.dart';
import 'package:video_player/video_player.dart';
-// Project imports:
import 'package:fluffychat/pages/add_story/add_story_view.dart';
import 'package:fluffychat/pages/add_story/invite_story_page.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_file_extension.dart';
diff --git a/lib/pages/add_story/add_story_view.dart b/lib/pages/add_story/add_story_view.dart
index 6ab778409..ea828aadf 100644
--- a/lib/pages/add_story/add_story_view.dart
+++ b/lib/pages/add_story/add_story_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:video_player/video_player.dart';
-// Project imports:
import 'add_story.dart';
class AddStoryView extends StatelessWidget {
diff --git a/lib/pages/add_story/invite_story_page.dart b/lib/pages/add_story/invite_story_page.dart
index c90d55889..c62a0b815 100644
--- a/lib/pages/add_story/invite_story_page.dart
+++ b/lib/pages/add_story/invite_story_page.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/localized_exception_extension.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/client_stories_extension.dart';
import 'package:fluffychat/widgets/avatar.dart';
diff --git a/lib/pages/archive/archive.dart b/lib/pages/archive/archive.dart
index 0b2d8a540..a3c35c347 100644
--- a/lib/pages/archive/archive.dart
+++ b/lib/pages/archive/archive.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/archive/archive_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pages/archive/archive_view.dart b/lib/pages/archive/archive_view.dart
index b56660b29..fc5c3e250 100644
--- a/lib/pages/archive/archive_view.dart
+++ b/lib/pages/archive/archive_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/archive/archive.dart';
import 'package:fluffychat/pages/chat_list/chat_list_item.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
diff --git a/lib/pages/bootstrap/bootstrap_dialog.dart b/lib/pages/bootstrap/bootstrap_dialog.dart
index add5dd3e9..8a227cb03 100644
--- a/lib/pages/bootstrap/bootstrap_dialog.dart
+++ b/lib/pages/bootstrap/bootstrap_dialog.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
@@ -10,7 +8,6 @@ import 'package:matrix/encryption.dart';
import 'package:matrix/encryption/utils/bootstrap.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/utils/fluffy_share.dart';
import 'package:fluffychat/utils/platform_infos.dart';
diff --git a/lib/pages/chat/add_widget_tile.dart b/lib/pages/chat/add_widget_tile.dart
index 417108343..11e3cce5d 100644
--- a/lib/pages/chat/add_widget_tile.dart
+++ b/lib/pages/chat/add_widget_tile.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat/add_widget_tile_view.dart';
class AddWidgetTile extends StatefulWidget {
diff --git a/lib/pages/chat/add_widget_tile_view.dart b/lib/pages/chat/add_widget_tile_view.dart
index bfb818a21..d7ac53ef2 100644
--- a/lib/pages/chat/add_widget_tile_view.dart
+++ b/lib/pages/chat/add_widget_tile_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pages/chat/add_widget_tile.dart';
class AddWidgetTileView extends StatelessWidget {
diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart
index 4fe9c69a4..bfadb1f16 100644
--- a/lib/pages/chat/chat.dart
+++ b/lib/pages/chat/chat.dart
@@ -1,15 +1,12 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
import 'dart:io';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:desktop_drop/desktop_drop.dart';
import 'package:device_info_plus/device_info_plus.dart';
@@ -24,7 +21,6 @@ import 'package:record/record.dart';
import 'package:scroll_to_index/scroll_to_index.dart';
import 'package:shared_preferences/shared_preferences.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/chat_view.dart';
diff --git a/lib/pages/chat/chat_app_bar_title.dart b/lib/pages/chat/chat_app_bar_title.dart
index bebaa0f4d..1cb84b48e 100644
--- a/lib/pages/chat/chat_app_bar_title.dart
+++ b/lib/pages/chat/chat_app_bar_title.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/utils/date_time_extension.dart';
diff --git a/lib/pages/chat/chat_emoji_picker.dart b/lib/pages/chat/chat_emoji_picker.dart
index af766347d..5e45113be 100644
--- a/lib/pages/chat/chat_emoji_picker.dart
+++ b/lib/pages/chat/chat_emoji_picker.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'chat.dart';
diff --git a/lib/pages/chat/chat_event_list.dart b/lib/pages/chat/chat_event_list.dart
index a02ec2fb5..4f83f18e6 100644
--- a/lib/pages/chat/chat_event_list.dart
+++ b/lib/pages/chat/chat_event_list.dart
@@ -1,5 +1,10 @@
// Flutter imports:
-// Project imports:
+
+import 'package:flutter/material.dart';
+
+import 'package:matrix/matrix.dart';
+import 'package:scroll_to_index/scroll_to_index.dart';
+
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pages/chat/events/message.dart';
@@ -11,10 +16,6 @@ import 'package:fluffychat/pangea/widgets/chat/locked_chat_message.dart';
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/filtered_timeline_extension.dart';
import 'package:fluffychat/utils/platform_infos.dart';
-import 'package:flutter/material.dart';
-// Package imports:
-import 'package:matrix/matrix.dart';
-import 'package:scroll_to_index/scroll_to_index.dart';
class ChatEventList extends StatelessWidget {
final ChatController controller;
diff --git a/lib/pages/chat/chat_input_row.dart b/lib/pages/chat/chat_input_row.dart
index 4cabd84c2..6c29f4ddd 100644
--- a/lib/pages/chat/chat_input_row.dart
+++ b/lib/pages/chat/chat_input_row.dart
@@ -1,14 +1,11 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:animations/animations.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:keyboard_shortcuts/keyboard_shortcuts.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/choreographer/widgets/it_bar.dart';
import 'package:fluffychat/pangea/choreographer/widgets/send_button.dart';
diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart
index 15269ffa0..149055eb0 100644
--- a/lib/pages/chat/chat_view.dart
+++ b/lib/pages/chat/chat_view.dart
@@ -1,8 +1,13 @@
// Flutter imports:
-// Package imports:
+
+import 'package:flutter/material.dart';
+
import 'package:badges/badges.dart';
import 'package:desktop_drop/desktop_drop.dart';
-// Project imports:
+import 'package:flutter_gen/gen_l10n/l10n.dart';
+import 'package:future_loading_dialog/future_loading_dialog.dart';
+import 'package:matrix/matrix.dart';
+
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/chat.dart';
@@ -21,11 +26,6 @@ import 'package:fluffychat/widgets/chat_settings_popup_menu.dart';
import 'package:fluffychat/widgets/connection_status_header.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:fluffychat/widgets/unread_rooms_badge.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter_gen/gen_l10n/l10n.dart';
-import 'package:future_loading_dialog/future_loading_dialog.dart';
-import 'package:matrix/matrix.dart';
-
import '../../utils/stream_extension.dart';
import 'chat_emoji_picker.dart';
import 'chat_input_row.dart';
diff --git a/lib/pages/chat/command_hints.dart b/lib/pages/chat/command_hints.dart
index 167d34e38..5ab493604 100644
--- a/lib/pages/chat/command_hints.dart
+++ b/lib/pages/chat/command_hints.dart
@@ -1,6 +1,5 @@
// This file is auto-generated using scripts/generate_command_hints_glue.sh.
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
String commandHint(L10n l10n, String command) {
diff --git a/lib/pages/chat/cupertino_widgets_bottom_sheet.dart b/lib/pages/chat/cupertino_widgets_bottom_sheet.dart
index 1b74ae1e8..23dddfa9b 100644
--- a/lib/pages/chat/cupertino_widgets_bottom_sheet.dart
+++ b/lib/pages/chat/cupertino_widgets_bottom_sheet.dart
@@ -1,19 +1,15 @@
-// Flutter imports:
import 'package:flutter/cupertino.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
import 'package:url_launcher/link.dart';
-// Project imports:
import 'edit_widgets_dialog.dart';
class CupertinoWidgetsBottomSheet extends StatelessWidget {
final Room room;
- const CupertinoWidgetsBottomSheet({Key? key, required this.room})
- : super(key: key);
+ const CupertinoWidgetsBottomSheet({super.key, required this.room});
@override
Widget build(BuildContext context) {
diff --git a/lib/pages/chat/edit_widgets_dialog.dart b/lib/pages/chat/edit_widgets_dialog.dart
index 1362aced8..2ba163feb 100644
--- a/lib/pages/chat/edit_widgets_dialog.dart
+++ b/lib/pages/chat/edit_widgets_dialog.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'add_widget_tile.dart';
class EditWidgetsDialog extends StatelessWidget {
diff --git a/lib/pages/chat/encryption_button.dart b/lib/pages/chat/encryption_button.dart
index 38dc1a681..c68a1c976 100644
--- a/lib/pages/chat/encryption_button.dart
+++ b/lib/pages/chat/encryption_button.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../widgets/matrix.dart';
class EncryptionButton extends StatelessWidget {
diff --git a/lib/pages/chat/event_info_dialog.dart b/lib/pages/chat/event_info_dialog.dart
index f230cf477..e8ff6dad9 100644
--- a/lib/pages/chat/event_info_dialog.dart
+++ b/lib/pages/chat/event_info_dialog.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
import 'package:fluffychat/utils/date_time_extension.dart';
diff --git a/lib/pages/chat/events/audio_player.dart b/lib/pages/chat/events/audio_player.dart
index 9769ef90f..6335b54bf 100644
--- a/lib/pages/chat/events/audio_player.dart
+++ b/lib/pages/chat/events/audio_player.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:async';
import 'dart:io';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:just_audio/just_audio.dart';
import 'package:matrix/matrix.dart';
import 'package:path_provider/path_provider.dart';
-// Project imports:
import 'package:fluffychat/utils/error_reporter.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
import '../../../utils/matrix_sdk_extensions/event_extension.dart';
diff --git a/lib/pages/chat/events/cute_events.dart b/lib/pages/chat/events/cute_events.dart
index 8450789b0..6a9424818 100644
--- a/lib/pages/chat/events/cute_events.dart
+++ b/lib/pages/chat/events/cute_events.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:math';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
class CuteContent extends StatefulWidget {
diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart
index 7b8d40098..3a47121f4 100644
--- a/lib/pages/chat/events/html_message.dart
+++ b/lib/pages/chat/events/html_message.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:flutter_highlighter/flutter_highlighter.dart';
import 'package:flutter_highlighter/themes/shades-of-purple.dart';
@@ -11,7 +9,6 @@ import 'package:flutter_math_fork/flutter_math.dart';
import 'package:linkify/linkify.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/mxc_image.dart';
diff --git a/lib/pages/chat/events/image_bubble.dart b/lib/pages/chat/events/image_bubble.dart
index a9f40277c..ae8e7a83e 100644
--- a/lib/pages/chat/events/image_bubble.dart
+++ b/lib/pages/chat/events/image_bubble.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_blurhash/flutter_blurhash.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/image_viewer/image_viewer.dart';
import 'package:fluffychat/widgets/mxc_image.dart';
diff --git a/lib/pages/chat/events/map_bubble.dart b/lib/pages/chat/events/map_bubble.dart
index 89c9a4336..c441c7d64 100644
--- a/lib/pages/chat/events/map_bubble.dart
+++ b/lib/pages/chat/events/map_bubble.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_map/flutter_map.dart';
import 'package:latlong2/latlong.dart';
diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart
index 8e71bdf5a..8fc28bd42 100644
--- a/lib/pages/chat/events/message.dart
+++ b/lib/pages/chat/events/message.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
import 'package:swipe_to_action/swipe_to_action.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pangea/enum/use_type.dart';
import 'package:fluffychat/pangea/models/language_model.dart';
diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart
index 3d4707233..a498d22e2 100644
--- a/lib/pages/chat/events/message_content.dart
+++ b/lib/pages/chat/events/message_content.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat/events/video_player.dart';
import 'package:fluffychat/pangea/models/language_model.dart';
import 'package:fluffychat/pangea/models/pangea_message_event.dart';
diff --git a/lib/pages/chat/events/message_download_content.dart b/lib/pages/chat/events/message_download_content.dart
index 3f1d42b4f..767ea8e7b 100644
--- a/lib/pages/chat/events/message_download_content.dart
+++ b/lib/pages/chat/events/message_download_content.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/matrix_sdk_extensions/event_extension.dart';
class MessageDownloadContent extends StatelessWidget {
diff --git a/lib/pages/chat/events/message_reactions.dart b/lib/pages/chat/events/message_reactions.dart
index 364b78c6e..7e731c93b 100644
--- a/lib/pages/chat/events/message_reactions.dart
+++ b/lib/pages/chat/events/message_reactions.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart' show IterableExtension;
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pages/chat/events/reply_content.dart b/lib/pages/chat/events/reply_content.dart
index 2ad05a288..4c70ae004 100644
--- a/lib/pages/chat/events/reply_content.dart
+++ b/lib/pages/chat/events/reply_content.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import '../../../config/app_config.dart';
diff --git a/lib/pages/chat/events/state_message.dart b/lib/pages/chat/events/state_message.dart
index 9790134f6..b5e54eba3 100644
--- a/lib/pages/chat/events/state_message.dart
+++ b/lib/pages/chat/events/state_message.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import '../../../config/app_config.dart';
diff --git a/lib/pages/chat/events/sticker.dart b/lib/pages/chat/events/sticker.dart
index 64af7b55e..8e52bfe39 100644
--- a/lib/pages/chat/events/sticker.dart
+++ b/lib/pages/chat/events/sticker.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../../config/app_config.dart';
import 'image_bubble.dart';
diff --git a/lib/pages/chat/events/verification_request_content.dart b/lib/pages/chat/events/verification_request_content.dart
index eb65b7107..5a0c75f4b 100644
--- a/lib/pages/chat/events/verification_request_content.dart
+++ b/lib/pages/chat/events/verification_request_content.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../../config/app_config.dart';
class VerificationRequestContent extends StatelessWidget {
diff --git a/lib/pages/chat/events/video_player.dart b/lib/pages/chat/events/video_player.dart
index 8d24e6c6b..573e1eb14 100644
--- a/lib/pages/chat/events/video_player.dart
+++ b/lib/pages/chat/events/video_player.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:io';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:chewie/chewie.dart';
import 'package:flutter_blurhash/flutter_blurhash.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@@ -14,7 +11,6 @@ import 'package:path_provider/path_provider.dart';
import 'package:universal_html/html.dart' as html;
import 'package:video_player/video_player.dart';
-// Project imports:
import 'package:fluffychat/pages/chat/events/image_bubble.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/event_extension.dart';
diff --git a/lib/pages/chat/input_bar.dart b/lib/pages/chat/input_bar.dart
index bd126da8b..7e939b0c9 100644
--- a/lib/pages/chat/input_bar.dart
+++ b/lib/pages/chat/input_bar.dart
@@ -1,15 +1,12 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:emojis/emoji.dart';
import 'package:flutter_typeahead/flutter_typeahead.dart';
import 'package:matrix/matrix.dart';
import 'package:pasteboard/pasteboard.dart';
import 'package:slugify/slugify.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/widgets/igc/pangea_text_controller.dart';
import 'package:fluffychat/utils/platform_infos.dart';
diff --git a/lib/pages/chat/pinned_events.dart b/lib/pages/chat/pinned_events.dart
index 8a4da2857..e7c90c6e1 100644
--- a/lib/pages/chat/pinned_events.dart
+++ b/lib/pages/chat/pinned_events.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
diff --git a/lib/pages/chat/reactions_picker.dart b/lib/pages/chat/reactions_picker.dart
index f60920ef9..6434c9970 100644
--- a/lib/pages/chat/reactions_picker.dart
+++ b/lib/pages/chat/reactions_picker.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:emoji_proposal/emoji_proposal.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/app_emojis.dart';
import 'package:fluffychat/pages/chat/chat.dart';
diff --git a/lib/pages/chat/recording_dialog.dart b/lib/pages/chat/recording_dialog.dart
index 800c3da34..c25bd2741 100644
--- a/lib/pages/chat/recording_dialog.dart
+++ b/lib/pages/chat/recording_dialog.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:path_provider/path_provider.dart';
import 'package:record/record.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'events/audio_player.dart';
diff --git a/lib/pages/chat/reply_display.dart b/lib/pages/chat/reply_display.dart
index 62391811f..32bec7c25 100644
--- a/lib/pages/chat/reply_display.dart
+++ b/lib/pages/chat/reply_display.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import '../../config/themes.dart';
import 'chat.dart';
diff --git a/lib/pages/chat/seen_by_row.dart b/lib/pages/chat/seen_by_row.dart
index 9475550e2..faac0db4d 100644
--- a/lib/pages/chat/seen_by_row.dart
+++ b/lib/pages/chat/seen_by_row.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/utils/room_status_extension.dart';
diff --git a/lib/pages/chat/send_file_dialog.dart b/lib/pages/chat/send_file_dialog.dart
index f4fe65efd..e5f070fd7 100644
--- a/lib/pages/chat/send_file_dialog.dart
+++ b/lib/pages/chat/send_file_dialog.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
import 'package:fluffychat/utils/size_string.dart';
diff --git a/lib/pages/chat/send_location_dialog.dart b/lib/pages/chat/send_location_dialog.dart
index 91886e5d1..b2a99004e 100644
--- a/lib/pages/chat/send_location_dialog.dart
+++ b/lib/pages/chat/send_location_dialog.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:geolocator/geolocator.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat/events/map_bubble.dart';
class SendLocationDialog extends StatefulWidget {
diff --git a/lib/pages/chat/sticker_picker_dialog.dart b/lib/pages/chat/sticker_picker_dialog.dart
index ae28b547d..16065c916 100644
--- a/lib/pages/chat/sticker_picker_dialog.dart
+++ b/lib/pages/chat/sticker_picker_dialog.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../widgets/avatar.dart';
import 'events/image_bubble.dart';
diff --git a/lib/pages/chat/tombstone_display.dart b/lib/pages/chat/tombstone_display.dart
index 10ad5fc6f..e080a0009 100644
--- a/lib/pages/chat/tombstone_display.dart
+++ b/lib/pages/chat/tombstone_display.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'chat.dart';
class TombstoneDisplay extends StatelessWidget {
diff --git a/lib/pages/chat/typing_indicators.dart b/lib/pages/chat/typing_indicators.dart
index 1fe38e882..8101fd76f 100644
--- a/lib/pages/chat/typing_indicators.dart
+++ b/lib/pages/chat/typing_indicators.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/chat.dart';
diff --git a/lib/pages/chat/widgets_bottom_sheet.dart b/lib/pages/chat/widgets_bottom_sheet.dart
index a91ed345f..9ea89f614 100644
--- a/lib/pages/chat/widgets_bottom_sheet.dart
+++ b/lib/pages/chat/widgets_bottom_sheet.dart
@@ -1,18 +1,15 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
import 'package:url_launcher/link.dart';
-// Project imports:
import 'edit_widgets_dialog.dart';
class WidgetsBottomSheet extends StatelessWidget {
final Room room;
- const WidgetsBottomSheet({Key? key, required this.room}) : super(key: key);
+ const WidgetsBottomSheet({super.key, required this.room});
@override
Widget build(BuildContext context) {
diff --git a/lib/pages/chat_details/chat_details.dart b/lib/pages/chat_details/chat_details.dart
index d359168b9..3bdefe8d5 100644
--- a/lib/pages/chat_details/chat_details.dart
+++ b/lib/pages/chat_details/chat_details.dart
@@ -1,8 +1,6 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
@@ -13,7 +11,6 @@ import 'package:image_picker/image_picker.dart';
import 'package:matrix/matrix.dart' as matrix;
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_details/chat_details_view.dart';
import 'package:fluffychat/pages/settings/settings.dart';
import 'package:fluffychat/pangea/utils/set_class_name.dart';
diff --git a/lib/pages/chat_details/chat_details_view.dart b/lib/pages/chat_details/chat_details_view.dart
index 8cede0a82..ecebb9dd8 100644
--- a/lib/pages/chat_details/chat_details_view.dart
+++ b/lib/pages/chat_details/chat_details_view.dart
@@ -1,13 +1,3 @@
-// Flutter imports:
-import 'package:flutter/material.dart';
-
-// Package imports:
-import 'package:flutter_gen/gen_l10n/l10n.dart';
-import 'package:future_loading_dialog/future_loading_dialog.dart';
-import 'package:go_router/go_router.dart';
-import 'package:matrix/matrix.dart';
-
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/chat_details/chat_details.dart';
import 'package:fluffychat/pages/chat_details/participant_list_item.dart';
@@ -29,6 +19,11 @@ import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/chat_settings_popup_menu.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import 'package:fluffychat/widgets/matrix.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_gen/gen_l10n/l10n.dart';
+import 'package:future_loading_dialog/future_loading_dialog.dart';
+import 'package:go_router/go_router.dart';
+import 'package:matrix/matrix.dart';
class ChatDetailsView extends StatelessWidget {
final ChatDetailsController controller;
@@ -549,8 +544,10 @@ class ChatDetailsView extends StatelessWidget {
backgroundColor:
Theme.of(context).scaffoldBackgroundColor,
foregroundColor: iconColor,
- child: const Icon(
- Icons.lock_outlined,
+ child: Icon(
+ room.locked
+ ? Icons.lock_outlined
+ : Icons.no_encryption_outlined,
),
),
value: room.locked,
diff --git a/lib/pages/chat_details/participant_list_item.dart b/lib/pages/chat_details/participant_list_item.dart
index 7fdfe1aad..adbafe200 100644
--- a/lib/pages/chat_details/participant_list_item.dart
+++ b/lib/pages/chat_details/participant_list_item.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/utils/bot_name.dart';
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
import '../../widgets/avatar.dart';
diff --git a/lib/pages/chat_encryption_settings/chat_encryption_settings.dart b/lib/pages/chat_encryption_settings/chat_encryption_settings.dart
index 54afb66a7..c7aed03a3 100644
--- a/lib/pages/chat_encryption_settings/chat_encryption_settings.dart
+++ b/lib/pages/chat_encryption_settings/chat_encryption_settings.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
@@ -9,7 +7,6 @@ import 'package:go_router/go_router.dart';
import 'package:matrix/encryption.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_encryption_settings/chat_encryption_settings_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
import '../key_verification/key_verification_dialog.dart';
diff --git a/lib/pages/chat_encryption_settings/chat_encryption_settings_view.dart b/lib/pages/chat_encryption_settings/chat_encryption_settings_view.dart
index 1af9a2c7d..20764021e 100644
--- a/lib/pages/chat_encryption_settings/chat_encryption_settings_view.dart
+++ b/lib/pages/chat_encryption_settings/chat_encryption_settings_view.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
import 'package:url_launcher/url_launcher_string.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/chat_encryption_settings/chat_encryption_settings.dart';
import 'package:fluffychat/utils/beautify_string_extension.dart';
diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart
index 5cbd6783b..3567d2624 100644
--- a/lib/pages/chat_list/chat_list.dart
+++ b/lib/pages/chat_list/chat_list.dart
@@ -1,13 +1,10 @@
-// Dart imports:
import 'dart:async';
import 'dart:io';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@@ -17,7 +14,6 @@ import 'package:matrix/matrix.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:uni_links/uni_links.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat_list/chat_list_view.dart';
diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart
index 536214f31..7a47424a9 100644
--- a/lib/pages/chat_list/chat_list_body.dart
+++ b/lib/pages/chat_list/chat_list_body.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:animations/animations.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_list/chat_list.dart';
import 'package:fluffychat/pages/chat_list/chat_list_item.dart';
import 'package:fluffychat/pages/chat_list/search_title.dart';
diff --git a/lib/pages/chat_list/chat_list_header.dart b/lib/pages/chat_list/chat_list_header.dart
index caa844a95..7ced10244 100644
--- a/lib/pages/chat_list/chat_list_header.dart
+++ b/lib/pages/chat_list/chat_list_header.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat_list/chat_list.dart';
import 'package:fluffychat/pages/chat_list/client_chooser_button.dart';
diff --git a/lib/pages/chat_list/chat_list_item.dart b/lib/pages/chat_list/chat_list_item.dart
index c245b64bc..d535b2e65 100644
--- a/lib/pages/chat_list/chat_list_item.dart
+++ b/lib/pages/chat_list/chat_list_item.dart
@@ -1,14 +1,11 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/utils/get_chat_list_item_subtitle.dart';
diff --git a/lib/pages/chat_list/chat_list_view.dart b/lib/pages/chat_list/chat_list_view.dart
index 48378bdf8..ccfcf0629 100644
--- a/lib/pages/chat_list/chat_list_view.dart
+++ b/lib/pages/chat_list/chat_list_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:badges/badges.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat_list/chat_list.dart';
diff --git a/lib/pages/chat_list/client_chooser_button.dart b/lib/pages/chat_list/client_chooser_button.dart
index 7fe4457ee..e4a777c80 100644
--- a/lib/pages/chat_list/client_chooser_button.dart
+++ b/lib/pages/chat_list/client_chooser_button.dart
@@ -1,17 +1,14 @@
-// Dart imports:
import 'dart:developer';
-// Project imports:
import 'package:fluffychat/pangea/extensions/client_extension.dart';
import 'package:fluffychat/pangea/utils/class_code.dart';
import 'package:fluffychat/pangea/utils/find_conversation_partner_dialog.dart';
import 'package:fluffychat/pangea/utils/logout.dart';
import 'package:fluffychat/widgets/matrix.dart';
-// Flutter imports:
+// Project imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:keyboard_shortcuts/keyboard_shortcuts.dart';
diff --git a/lib/pages/chat_list/navi_rail_item.dart b/lib/pages/chat_list/navi_rail_item.dart
index 98df834fa..2004f3568 100644
--- a/lib/pages/chat_list/navi_rail_item.dart
+++ b/lib/pages/chat_list/navi_rail_item.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import '../../config/themes.dart';
diff --git a/lib/pages/chat_list/search_title.dart b/lib/pages/chat_list/search_title.dart
index 5523d4912..62bcfb684 100644
--- a/lib/pages/chat_list/search_title.dart
+++ b/lib/pages/chat_list/search_title.dart
@@ -1,4 +1,3 @@
-// Flutter imports:
import 'package:flutter/material.dart';
class SearchTitle extends StatelessWidget {
diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart
index abe7ee2c0..f88596085 100644
--- a/lib/pages/chat_list/space_view.dart
+++ b/lib/pages/chat_list/space_view.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@@ -12,7 +9,6 @@ import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_list/chat_list.dart';
import 'package:fluffychat/pages/chat_list/chat_list_item.dart';
import 'package:fluffychat/pages/chat_list/search_title.dart';
diff --git a/lib/pages/chat_list/start_chat_fab.dart b/lib/pages/chat_list/start_chat_fab.dart
index a7f8e57e5..01f0d4165 100644
--- a/lib/pages/chat_list/start_chat_fab.dart
+++ b/lib/pages/chat_list/start_chat_fab.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:core';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat_list/chat_list.dart';
diff --git a/lib/pages/chat_list/stories_header.dart b/lib/pages/chat_list/stories_header.dart
index 8c150c922..d5325b91f 100644
--- a/lib/pages/chat_list/stories_header.dart
+++ b/lib/pages/chat_list/stories_header.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@@ -9,7 +7,6 @@ import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/client_stories_extension.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
diff --git a/lib/pages/chat_members/chat_members.dart b/lib/pages/chat_members/chat_members.dart
index ba20d011d..c777d286e 100644
--- a/lib/pages/chat_members/chat_members.dart
+++ b/lib/pages/chat_members/chat_members.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../widgets/matrix.dart';
import 'chat_members_view.dart';
diff --git a/lib/pages/chat_members/chat_members_view.dart b/lib/pages/chat_members/chat_members_view.dart
index e9b282b00..f5250f30a 100644
--- a/lib/pages/chat_members/chat_members_view.dart
+++ b/lib/pages/chat_members/chat_members_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/utils/localized_exception_extension.dart';
import '../../widgets/layouts/max_width_body.dart';
import '../../widgets/matrix.dart';
diff --git a/lib/pages/chat_permissions_settings/chat_permissions_settings.dart b/lib/pages/chat_permissions_settings/chat_permissions_settings.dart
index e8560b1f5..a6cdcbef0 100644
--- a/lib/pages/chat_permissions_settings/chat_permissions_settings.dart
+++ b/lib/pages/chat_permissions_settings/chat_permissions_settings.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_permissions_settings/chat_permissions_settings_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:fluffychat/widgets/permission_slider_dialog.dart';
diff --git a/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart b/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart
index 23d65e005..072e20405 100644
--- a/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart
+++ b/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_permissions_settings/chat_permissions_settings.dart';
import 'package:fluffychat/pages/chat_permissions_settings/permission_list_tile.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
diff --git a/lib/pages/chat_permissions_settings/permission_list_tile.dart b/lib/pages/chat_permissions_settings/permission_list_tile.dart
index d6a418817..a9d159854 100644
--- a/lib/pages/chat_permissions_settings/permission_list_tile.dart
+++ b/lib/pages/chat_permissions_settings/permission_list_tile.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
diff --git a/lib/pages/device_settings/device_settings.dart b/lib/pages/device_settings/device_settings.dart
index 41f447124..3ad1266c8 100644
--- a/lib/pages/device_settings/device_settings.dart
+++ b/lib/pages/device_settings/device_settings.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart' show IterableExtension;
import 'package:flutter_gen/gen_l10n/l10n.dart';
@@ -9,7 +7,6 @@ import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/encryption/utils/key_verification.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/device_settings/device_settings_view.dart';
import 'package:fluffychat/pages/key_verification/key_verification_dialog.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
diff --git a/lib/pages/device_settings/device_settings_view.dart b/lib/pages/device_settings/device_settings_view.dart
index ebf21d5fd..4094c0227 100644
--- a/lib/pages/device_settings/device_settings_view.dart
+++ b/lib/pages/device_settings/device_settings_view.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pages/device_settings/device_settings.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import 'user_device_list_item.dart';
diff --git a/lib/pages/device_settings/user_device_list_item.dart b/lib/pages/device_settings/user_device_list_item.dart
index 3eb34912e..db793ac35 100644
--- a/lib/pages/device_settings/user_device_list_item.dart
+++ b/lib/pages/device_settings/user_device_list_item.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../utils/date_time_extension.dart';
import '../../utils/matrix_sdk_extensions/device_extension.dart';
import '../../widgets/matrix.dart';
diff --git a/lib/pages/dialer/dialer.dart b/lib/pages/dialer/dialer.dart
index 1ebbb565e..a8e5a9202 100644
--- a/lib/pages/dialer/dialer.dart
+++ b/lib/pages/dialer/dialer.dart
@@ -16,15 +16,12 @@
* along with this program. If not, see .
*/
-// Dart imports:
import 'dart:async';
import 'dart:math';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_foreground_task/flutter_foreground_task.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart';
@@ -33,7 +30,6 @@ import 'package:matrix/matrix.dart';
import 'package:vibration/vibration.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
-// Project imports:
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/avatar.dart';
diff --git a/lib/pages/dialer/pip/dismiss_keyboard.dart b/lib/pages/dialer/pip/dismiss_keyboard.dart
index ab100cfc9..c9ca3180f 100644
--- a/lib/pages/dialer/pip/dismiss_keyboard.dart
+++ b/lib/pages/dialer/pip/dismiss_keyboard.dart
@@ -1,4 +1,3 @@
-// Flutter imports:
import 'package:flutter/material.dart';
void dismissKeyboard(BuildContext context) {
diff --git a/lib/pages/dialer/pip/pip_view.dart b/lib/pages/dialer/pip/pip_view.dart
index b12d10e67..5396c9136 100644
--- a/lib/pages/dialer/pip/pip_view.dart
+++ b/lib/pages/dialer/pip/pip_view.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'dismiss_keyboard.dart';
diff --git a/lib/pages/homeserver_picker/homeserver_app_bar.dart b/lib/pages/homeserver_picker/homeserver_app_bar.dart
index 5f4132648..3b7611ed2 100644
--- a/lib/pages/homeserver_picker/homeserver_app_bar.dart
+++ b/lib/pages/homeserver_picker/homeserver_app_bar.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_typeahead/flutter_typeahead.dart';
import 'package:matrix_homeserver_recommendations/matrix_homeserver_recommendations.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'homeserver_bottom_sheet.dart';
import 'homeserver_picker.dart';
diff --git a/lib/pages/homeserver_picker/homeserver_bottom_sheet.dart b/lib/pages/homeserver_picker/homeserver_bottom_sheet.dart
index e91ec07af..0fc6d0112 100644
--- a/lib/pages/homeserver_picker/homeserver_bottom_sheet.dart
+++ b/lib/pages/homeserver_picker/homeserver_bottom_sheet.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix_homeserver_recommendations/matrix_homeserver_recommendations.dart';
import 'package:url_launcher/url_launcher_string.dart';
diff --git a/lib/pages/homeserver_picker/homeserver_picker.dart b/lib/pages/homeserver_picker/homeserver_picker.dart
index 82b602780..7c1e82ccf 100644
--- a/lib/pages/homeserver_picker/homeserver_picker.dart
+++ b/lib/pages/homeserver_picker/homeserver_picker.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
@@ -17,7 +14,6 @@ import 'package:hive_flutter/hive_flutter.dart';
import 'package:matrix/matrix.dart';
import 'package:universal_html/html.dart' as html;
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/homeserver_picker/homeserver_picker_view.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
diff --git a/lib/pages/homeserver_picker/homeserver_picker_view.dart b/lib/pages/homeserver_picker/homeserver_picker_view.dart
index c78cbb8ff..59301c6a1 100644
--- a/lib/pages/homeserver_picker/homeserver_picker_view.dart
+++ b/lib/pages/homeserver_picker/homeserver_picker_view.dart
@@ -1,14 +1,14 @@
// Flutter imports:
-// Project imports:
+
+import 'package:flutter/material.dart';
+
+import 'package:flutter_gen/gen_l10n/l10n.dart';
+
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/pages/connect/p_sso_button.dart';
import 'package:fluffychat/pangea/widgets/common/pangea_logo_svg.dart';
import 'package:fluffychat/pangea/widgets/signup/signup_buttons.dart';
import 'package:fluffychat/widgets/layouts/login_scaffold.dart';
-import 'package:flutter/material.dart';
-// Package imports:
-import 'package:flutter_gen/gen_l10n/l10n.dart';
-
import 'homeserver_picker.dart';
class HomeserverPickerView extends StatelessWidget {
diff --git a/lib/pages/image_viewer/image_viewer.dart b/lib/pages/image_viewer/image_viewer.dart
index ad4d63efb..94ab19dd4 100644
--- a/lib/pages/image_viewer/image_viewer.dart
+++ b/lib/pages/image_viewer/image_viewer.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/image_viewer/image_viewer_view.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pages/image_viewer/image_viewer_view.dart b/lib/pages/image_viewer/image_viewer_view.dart
index 248654cac..7646c8a60 100644
--- a/lib/pages/image_viewer/image_viewer_view.dart
+++ b/lib/pages/image_viewer/image_viewer_view.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/mxc_image.dart';
import 'image_viewer.dart';
diff --git a/lib/pages/invitation_selection/invitation_selection.dart b/lib/pages/invitation_selection/invitation_selection.dart
index 29b68c0c7..6736f099a 100644
--- a/lib/pages/invitation_selection/invitation_selection.dart
+++ b/lib/pages/invitation_selection/invitation_selection.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/invitation_selection/invitation_selection_view.dart';
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
diff --git a/lib/pages/invitation_selection/invitation_selection_view.dart b/lib/pages/invitation_selection/invitation_selection_view.dart
index 690975332..5d5540084 100644
--- a/lib/pages/invitation_selection/invitation_selection_view.dart
+++ b/lib/pages/invitation_selection/invitation_selection_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/invitation_selection/invitation_selection.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
diff --git a/lib/pages/key_verification/key_verification_dialog.dart b/lib/pages/key_verification/key_verification_dialog.dart
index 914f2e43b..417825960 100644
--- a/lib/pages/key_verification/key_verification_dialog.dart
+++ b/lib/pages/key_verification/key_verification_dialog.dart
@@ -1,19 +1,15 @@
-// Dart imports:
import 'dart:convert';
import 'dart:ui';
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/encryption.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/widgets/avatar.dart';
class KeyVerificationDialog extends StatefulWidget {
diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart
index 45268150a..0c6e819e7 100644
--- a/lib/pages/login/login.dart
+++ b/lib/pages/login/login.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/utils/firebase_analytics.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
diff --git a/lib/pages/login/login_view.dart b/lib/pages/login/login_view.dart
index 9f1102a05..259210113 100644
--- a/lib/pages/login/login_view.dart
+++ b/lib/pages/login/login_view.dart
@@ -1,9 +1,8 @@
// Flutter imports:
-// Project imports:
+
import 'package:fluffychat/pangea/utils/password_forgotten.dart';
import 'package:fluffychat/widgets/layouts/login_scaffold.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'login.dart';
@@ -20,7 +19,30 @@ class LoginView extends StatelessWidget {
// enforceMobileMode: Matrix.of(context).client.isLogged(),
// Pangea#
appBar: AppBar(
- leading: controller.loading ? null : const BackButton(),
+ // #Pangea
+ // leading: controller.loading ? null : const BackButton(),
+ leading: controller.loading
+ ? null
+ : Padding(
+ padding: const EdgeInsets.only(left: 10),
+ child: ElevatedButton(
+ onPressed: () => Navigator.of(context).pop(),
+ style: ButtonStyle(
+ padding: MaterialStateProperty.all(EdgeInsets.zero),
+ backgroundColor: MaterialStateProperty.all(
+ Theme.of(context)
+ .colorScheme
+ .background
+ .withOpacity(0.75),
+ ),
+ shape: MaterialStateProperty.all(
+ const CircleBorder(),
+ ),
+ ),
+ child: const Icon(Icons.arrow_back),
+ ),
+ ),
+ // Pangea#
automaticallyImplyLeading: !controller.loading,
centerTitle: true,
// #Pangea
diff --git a/lib/pages/new_group/new_group.dart b/lib/pages/new_group/new_group.dart
index 987353cce..b01186a53 100644
--- a/lib/pages/new_group/new_group.dart
+++ b/lib/pages/new_group/new_group.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:typed_data';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:file_picker/file_picker.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as sdk;
-// Project imports:
import 'package:fluffychat/pages/new_group/new_group_view.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/models/chat_topic_model.dart';
diff --git a/lib/pages/new_group/new_group_view.dart b/lib/pages/new_group/new_group_view.dart
index 77e096f11..72d663618 100644
--- a/lib/pages/new_group/new_group_view.dart
+++ b/lib/pages/new_group/new_group_view.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/new_group/new_group.dart';
import 'package:fluffychat/pangea/widgets/class/add_class_and_invite.dart';
diff --git a/lib/pages/new_private_chat/new_private_chat.dart b/lib/pages/new_private_chat/new_private_chat.dart
index 7454dd5a9..c1d8c649a 100644
--- a/lib/pages/new_private_chat/new_private_chat.dart
+++ b/lib/pages/new_private_chat/new_private_chat.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/new_private_chat/new_private_chat_view.dart';
import 'package:fluffychat/pages/new_private_chat/qr_scanner_modal.dart';
import 'package:fluffychat/pages/user_bottom_sheet/user_bottom_sheet.dart';
diff --git a/lib/pages/new_private_chat/new_private_chat_view.dart b/lib/pages/new_private_chat/new_private_chat_view.dart
index 2bd61984d..fbe6d0443 100644
--- a/lib/pages/new_private_chat/new_private_chat_view.dart
+++ b/lib/pages/new_private_chat/new_private_chat_view.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:math';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/new_private_chat/new_private_chat.dart';
diff --git a/lib/pages/new_private_chat/qr_scanner_modal.dart b/lib/pages/new_private_chat/qr_scanner_modal.dart
index a4bce8eeb..b509941e5 100644
--- a/lib/pages/new_private_chat/qr_scanner_modal.dart
+++ b/lib/pages/new_private_chat/qr_scanner_modal.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:async';
import 'dart:io';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:qr_code_scanner/qr_code_scanner.dart';
diff --git a/lib/pages/new_space/new_space.dart b/lib/pages/new_space/new_space.dart
index b97d2509b..2ff854e2c 100644
--- a/lib/pages/new_space/new_space.dart
+++ b/lib/pages/new_space/new_space.dart
@@ -1,18 +1,14 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as sdk;
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/new_space/new_space_view.dart';
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
diff --git a/lib/pages/new_space/new_space_view.dart b/lib/pages/new_space/new_space_view.dart
index aba2b42f7..1589a6d37 100644
--- a/lib/pages/new_space/new_space_view.dart
+++ b/lib/pages/new_space/new_space_view.dart
@@ -1,5 +1,3 @@
-// Flutter imports:
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/pages/class_settings/p_class_widgets/room_rules_editor.dart';
@@ -9,7 +7,6 @@ import 'package:fluffychat/pangea/widgets/space/class_settings.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'new_space.dart';
diff --git a/lib/pages/settings/settings.dart b/lib/pages/settings/settings.dart
index e6ba63dea..988ec3ff4 100644
--- a/lib/pages/settings/settings.dart
+++ b/lib/pages/settings/settings.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
@@ -13,7 +10,6 @@ import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:image_picker/image_picker.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/utils/logout.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/app_lock.dart';
diff --git a/lib/pages/settings/settings_view.dart b/lib/pages/settings/settings_view.dart
index aaa7de7fd..6025e480b 100644
--- a/lib/pages/settings/settings_view.dart
+++ b/lib/pages/settings/settings_view.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
import 'package:url_launcher/url_launcher_string.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/utils/fluffy_share.dart';
diff --git a/lib/pages/settings_3pid/settings_3pid.dart b/lib/pages/settings_3pid/settings_3pid.dart
index d96d44b20..d46cac2a9 100644
--- a/lib/pages/settings_3pid/settings_3pid.dart
+++ b/lib/pages/settings_3pid/settings_3pid.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/widgets/matrix.dart';
import 'settings_3pid_view.dart';
diff --git a/lib/pages/settings_3pid/settings_3pid_view.dart b/lib/pages/settings_3pid/settings_3pid_view.dart
index 863f0761c..101062a63 100644
--- a/lib/pages/settings_3pid/settings_3pid_view.dart
+++ b/lib/pages/settings_3pid/settings_3pid_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/settings_3pid/settings_3pid.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pages/settings_chat/settings_chat.dart b/lib/pages/settings_chat/settings_chat.dart
index c07c9a6b8..1c1035559 100644
--- a/lib/pages/settings_chat/settings_chat.dart
+++ b/lib/pages/settings_chat/settings_chat.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'settings_chat_view.dart';
class SettingsChat extends StatefulWidget {
diff --git a/lib/pages/settings_chat/settings_chat_view.dart b/lib/pages/settings_chat/settings_chat_view.dart
index 67a8f5e6e..3ad9a8314 100644
--- a/lib/pages/settings_chat/settings_chat_view.dart
+++ b/lib/pages/settings_chat/settings_chat_view.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/setting_keys.dart';
import 'package:fluffychat/utils/platform_infos.dart';
diff --git a/lib/pages/settings_emotes/import_archive_dialog.dart b/lib/pages/settings_emotes/import_archive_dialog.dart
index 176f0cde1..0ed5bb21f 100644
--- a/lib/pages/settings_emotes/import_archive_dialog.dart
+++ b/lib/pages/settings_emotes/import_archive_dialog.dart
@@ -1,18 +1,14 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:archive/archive.dart';
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/settings_emotes/settings_emotes.dart';
import 'package:fluffychat/utils/client_manager.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pages/settings_emotes/settings_emotes.dart b/lib/pages/settings_emotes/settings_emotes.dart
index 5aac6b3b7..2ef905b17 100644
--- a/lib/pages/settings_emotes/settings_emotes.dart
+++ b/lib/pages/settings_emotes/settings_emotes.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
@@ -15,7 +12,6 @@ import 'package:go_router/go_router.dart';
import 'package:http/http.dart' hide Client;
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/client_manager.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_file_extension.dart';
import 'package:fluffychat/widgets/app_lock.dart';
diff --git a/lib/pages/settings_emotes/settings_emotes_view.dart b/lib/pages/settings_emotes/settings_emotes_view.dart
index 71fdf3aae..acb93788e 100644
--- a/lib/pages/settings_emotes/settings_emotes_view.dart
+++ b/lib/pages/settings_emotes/settings_emotes_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import 'package:fluffychat/widgets/mxc_image.dart';
diff --git a/lib/pages/settings_ignore_list/settings_ignore_list.dart b/lib/pages/settings_ignore_list/settings_ignore_list.dart
index 24b00faba..0b27cee3b 100644
--- a/lib/pages/settings_ignore_list/settings_ignore_list.dart
+++ b/lib/pages/settings_ignore_list/settings_ignore_list.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:future_loading_dialog/future_loading_dialog.dart';
-// Project imports:
import '../../widgets/matrix.dart';
import 'settings_ignore_list_view.dart';
diff --git a/lib/pages/settings_ignore_list/settings_ignore_list_view.dart b/lib/pages/settings_ignore_list/settings_ignore_list_view.dart
index 20e4dabce..dc0a31468 100644
--- a/lib/pages/settings_ignore_list/settings_ignore_list_view.dart
+++ b/lib/pages/settings_ignore_list/settings_ignore_list_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/widgets/avatar.dart';
import '../../widgets/matrix.dart';
import 'settings_ignore_list.dart';
diff --git a/lib/pages/settings_multiple_emotes/settings_multiple_emotes.dart b/lib/pages/settings_multiple_emotes/settings_multiple_emotes.dart
index 9bd4224dd..276bc08ad 100644
--- a/lib/pages/settings_multiple_emotes/settings_multiple_emotes.dart
+++ b/lib/pages/settings_multiple_emotes/settings_multiple_emotes.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:go_router/go_router.dart';
-// Project imports:
import 'settings_multiple_emotes_view.dart';
class MultipleEmotesSettings extends StatefulWidget {
diff --git a/lib/pages/settings_multiple_emotes/settings_multiple_emotes_view.dart b/lib/pages/settings_multiple_emotes/settings_multiple_emotes_view.dart
index 264c521c5..8d62549c7 100644
--- a/lib/pages/settings_multiple_emotes/settings_multiple_emotes_view.dart
+++ b/lib/pages/settings_multiple_emotes/settings_multiple_emotes_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/settings_multiple_emotes/settings_multiple_emotes.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pages/settings_notifications/settings_notifications.dart b/lib/pages/settings_notifications/settings_notifications.dart
index 514a973da..6ab4740af 100644
--- a/lib/pages/settings_notifications/settings_notifications.dart
+++ b/lib/pages/settings_notifications/settings_notifications.dart
@@ -1,14 +1,11 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart' show IterableExtension;
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../widgets/matrix.dart';
import 'settings_notifications_view.dart';
diff --git a/lib/pages/settings_notifications/settings_notifications_view.dart b/lib/pages/settings_notifications/settings_notifications_view.dart
index 77f1465d7..65ddac162 100644
--- a/lib/pages/settings_notifications/settings_notifications_view.dart
+++ b/lib/pages/settings_notifications/settings_notifications_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import '../../utils/localized_exception_extension.dart';
import '../../widgets/matrix.dart';
diff --git a/lib/pages/settings_security/settings_security.dart b/lib/pages/settings_security/settings_security.dart
index 115bafe12..60f746e89 100644
--- a/lib/pages/settings_security/settings_security.dart
+++ b/lib/pages/settings_security/settings_security.dart
@@ -1,18 +1,14 @@
-// Dart imports:
import 'dart:convert';
import 'dart:typed_data';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:intl/intl.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_file_extension.dart';
import 'package:fluffychat/widgets/app_lock.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pages/settings_security/settings_security_view.dart b/lib/pages/settings_security/settings_security_view.dart
index 39368b103..54e8b4e70 100644
--- a/lib/pages/settings_security/settings_security_view.dart
+++ b/lib/pages/settings_security/settings_security_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/utils/beautify_string_extension.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
diff --git a/lib/pages/settings_stories/settings_stories.dart b/lib/pages/settings_stories/settings_stories.dart
index 94fcacab1..16e9208bb 100644
--- a/lib/pages/settings_stories/settings_stories.dart
+++ b/lib/pages/settings_stories/settings_stories.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/settings_stories/settings_stories_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
import '../../utils/matrix_sdk_extensions/client_stories_extension.dart';
diff --git a/lib/pages/settings_stories/settings_stories_view.dart b/lib/pages/settings_stories/settings_stories_view.dart
index 010c17dd3..f5d71fab3 100644
--- a/lib/pages/settings_stories/settings_stories_view.dart
+++ b/lib/pages/settings_stories/settings_stories_view.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pages/settings_stories/settings_stories.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
import 'package:fluffychat/widgets/avatar.dart';
diff --git a/lib/pages/settings_style/settings_style.dart b/lib/pages/settings_style/settings_style.dart
index 94acc35c5..67c6d9738 100644
--- a/lib/pages/settings_style/settings_style.dart
+++ b/lib/pages/settings_style/settings_style.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/setting_keys.dart';
import 'package:fluffychat/widgets/app_lock.dart';
diff --git a/lib/pages/settings_style/settings_style_view.dart b/lib/pages/settings_style/settings_style_view.dart
index c05837dab..9104912e7 100644
--- a/lib/pages/settings_style/settings_style_view.dart
+++ b/lib/pages/settings_style/settings_style_view.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import '../../config/app_config.dart';
diff --git a/lib/pages/story/story_page.dart b/lib/pages/story/story_page.dart
index e2f49d44a..1a0333c2b 100644
--- a/lib/pages/story/story_page.dart
+++ b/lib/pages/story/story_page.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:async';
import 'dart:io';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@@ -15,7 +12,6 @@ import 'package:matrix/matrix.dart';
import 'package:path_provider/path_provider.dart';
import 'package:video_player/video_player.dart';
-// Project imports:
import 'package:fluffychat/pages/story/story_view.dart';
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
import 'package:fluffychat/utils/date_time_extension.dart';
diff --git a/lib/pages/story/story_view.dart b/lib/pages/story/story_view.dart
index c980e3e21..913becfbf 100644
--- a/lib/pages/story/story_view.dart
+++ b/lib/pages/story/story_view.dart
@@ -1,15 +1,12 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:flutter_blurhash/flutter_blurhash.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:matrix/matrix.dart';
import 'package:video_player/video_player.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/story/story_page.dart';
import 'package:fluffychat/utils/date_time_extension.dart';
diff --git a/lib/pages/tasks/model/matrix_todo_list.dart b/lib/pages/tasks/model/matrix_todo_list.dart
index 428822338..fdcb88970 100644
--- a/lib/pages/tasks/model/matrix_todo_list.dart
+++ b/lib/pages/tasks/model/matrix_todo_list.dart
@@ -1,4 +1,3 @@
-// Package imports:
import 'package:matrix/matrix.dart';
extension MatrixTodoExtension on Room {
diff --git a/lib/pages/tasks/tasks.dart b/lib/pages/tasks/tasks.dart
index 7c77bb2eb..7743b99e5 100644
--- a/lib/pages/tasks/tasks.dart
+++ b/lib/pages/tasks/tasks.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/tasks/tasks_view.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
import 'model/matrix_todo_list.dart';
diff --git a/lib/pages/tasks/tasks_view.dart b/lib/pages/tasks/tasks_view.dart
index dcff18c24..8046b44d1 100644
--- a/lib/pages/tasks/tasks_view.dart
+++ b/lib/pages/tasks/tasks_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:intl/intl.dart';
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/tasks/tasks.dart';
diff --git a/lib/pages/user_bottom_sheet/user_bottom_sheet.dart b/lib/pages/user_bottom_sheet/user_bottom_sheet.dart
index 3dd8deea3..9d87f559c 100644
--- a/lib/pages/user_bottom_sheet/user_bottom_sheet.dart
+++ b/lib/pages/user_bottom_sheet/user_bottom_sheet.dart
@@ -1,14 +1,11 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/widgets/permission_slider_dialog.dart';
import '../../widgets/matrix.dart';
import 'user_bottom_sheet_view.dart';
diff --git a/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart b/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart
index 93677a643..bdb1d945e 100644
--- a/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart
+++ b/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/utils/date_time_extension.dart';
import 'package:fluffychat/utils/fluffy_share.dart';
import 'package:fluffychat/widgets/avatar.dart';
diff --git a/lib/pangea/choreographer/controllers/alternative_translator.dart b/lib/pangea/choreographer/controllers/alternative_translator.dart
index ada4fb890..4221a3479 100644
--- a/lib/pangea/choreographer/controllers/alternative_translator.dart
+++ b/lib/pangea/choreographer/controllers/alternative_translator.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:http/http.dart' as http;
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
import 'package:fluffychat/pangea/choreographer/controllers/error_service.dart';
import 'package:fluffychat/pangea/repo/full_text_translation_repo.dart';
diff --git a/lib/pangea/choreographer/controllers/analytics_sender.dart b/lib/pangea/choreographer/controllers/analytics_sender.dart
index 1dd75e7c9..fe4575f38 100644
--- a/lib/pangea/choreographer/controllers/analytics_sender.dart
+++ b/lib/pangea/choreographer/controllers/analytics_sender.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/it_controller.dart';
class MlController {
diff --git a/lib/pangea/choreographer/controllers/choreographer.dart b/lib/pangea/choreographer/controllers/choreographer.dart
index 14ff95eb2..c45a42ab0 100644
--- a/lib/pangea/choreographer/controllers/choreographer.dart
+++ b/lib/pangea/choreographer/controllers/choreographer.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pangea/choreographer/controllers/alternative_translator.dart';
import 'package:fluffychat/pangea/choreographer/controllers/igc_controller.dart';
@@ -232,10 +228,11 @@ class Choreographer {
void onITChoiceSelect(ITStep step) {
choreoRecord.addRecord(_textController.text, step: step);
_textController.setSystemText(
- _textController.text + step.continuances[step.chosen!].text,
- step.continuances[step.chosen!].gold
- ? EditType.itGold
- : EditType.itStandard);
+ _textController.text + step.continuances[step.chosen!].text,
+ step.continuances[step.chosen!].gold
+ ? EditType.itGold
+ : EditType.itStandard,
+ );
_textController.selection =
TextSelection.collapsed(offset: _textController.text.length);
giveInputFocus();
@@ -332,15 +329,18 @@ class Choreographer {
}
igc.igcTextData!.matches[matchIndex].status = PangeaMatchStatus.ignored;
- choreoRecord.addRecord(_textController.text,
- match: igc.igcTextData!.matches[matchIndex]);
+ choreoRecord.addRecord(
+ _textController.text,
+ match: igc.igcTextData!.matches[matchIndex],
+ );
igc.igcTextData!.matches.removeAt(matchIndex);
} catch (err, stack) {
debugger(when: kDebugMode);
Sentry.addBreadcrumb(
Breadcrumb.fromJson(
- {"igcTextData": igc.igcTextData?.toJson(), "offset": cursorOffset}),
+ {"igcTextData": igc.igcTextData?.toJson(), "offset": cursorOffset},
+ ),
);
ErrorHandler.logError(
e: err,
@@ -456,7 +456,7 @@ class Choreographer {
bool get _useCustomInput => [
EditType.keyboard,
EditType.igc,
- EditType.alternativeTranslation
+ EditType.alternativeTranslation,
].contains(_textController.editType);
bool get editTypeIsKeyboard => EditType.keyboard == _textController.editType;
diff --git a/lib/pangea/choreographer/controllers/error_service.dart b/lib/pangea/choreographer/controllers/error_service.dart
index a2548ff3c..8ec044244 100644
--- a/lib/pangea/choreographer/controllers/error_service.dart
+++ b/lib/pangea/choreographer/controllers/error_service.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
import '../../utils/error_handler.dart';
diff --git a/lib/pangea/choreographer/controllers/igc_controller.dart b/lib/pangea/choreographer/controllers/igc_controller.dart
index fdd9362fe..ebe4522b7 100644
--- a/lib/pangea/choreographer/controllers/igc_controller.dart
+++ b/lib/pangea/choreographer/controllers/igc_controller.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
import 'package:fluffychat/pangea/choreographer/controllers/error_service.dart';
import 'package:fluffychat/pangea/models/igc_text_data_model.dart';
@@ -206,7 +202,8 @@ class IgcController {
if (igcTextData!.originalInput != choreographer.currentText) {
debugPrint(
- "returning isIGCTextDataRelevant false because text has changed");
+ "returning isIGCTextDataRelevant false because text has changed",
+ );
return false;
}
return true;
diff --git a/lib/pangea/choreographer/controllers/it_controller.dart b/lib/pangea/choreographer/controllers/it_controller.dart
index 12c823452..da6a9b2a3 100644
--- a/lib/pangea/choreographer/controllers/it_controller.dart
+++ b/lib/pangea/choreographer/controllers/it_controller.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:http/http.dart' as http;
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/error_service.dart';
import 'package:fluffychat/pangea/constants/choreo_constants.dart';
import 'package:fluffychat/pangea/repo/full_text_translation_repo.dart';
@@ -78,10 +74,13 @@ class ITController {
// try {
if (_itStartData == null || _itStartData!.text.isEmpty) {
Sentry.addBreadcrumb(
- Breadcrumb(message: "choreo context", data: {
- "igcTextData": choreographer.igc.igcTextData?.toJson(),
- "currentText": choreographer.currentText
- }),
+ Breadcrumb(
+ message: "choreo context",
+ data: {
+ "igcTextData": choreographer.igc.igcTextData?.toJson(),
+ "currentText": choreographer.currentText,
+ },
+ ),
);
throw Exception("null _itStartData or empty text in _setSourceText");
}
@@ -126,10 +125,12 @@ class ITController {
if (sourceText == null) await _setSourceText();
if (useCustomInput && currentITStep != null) {
- completedITSteps.add(ITStep(
- currentITStep!.continuances,
- customInput: currentText,
- ));
+ completedITSteps.add(
+ ITStep(
+ currentITStep!.continuances,
+ customInput: currentText,
+ ),
+ );
}
currentITStep = null;
@@ -423,7 +424,7 @@ class CurrentITStep {
}
return e;
}),
- goldCont
+ goldCont,
];
continuances.shuffle();
} else {
diff --git a/lib/pangea/choreographer/controllers/message_options.dart b/lib/pangea/choreographer/controllers/message_options.dart
index f3a69e154..0e5e68461 100644
--- a/lib/pangea/choreographer/controllers/message_options.dart
+++ b/lib/pangea/choreographer/controllers/message_options.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/cupertino.dart';
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
import 'package:fluffychat/pangea/constants/language_keys.dart';
import 'package:fluffychat/pangea/models/language_model.dart';
diff --git a/lib/pangea/choreographer/widgets/choice_array.dart b/lib/pangea/choreographer/widgets/choice_array.dart
index f309a7039..ca3f3bf7d 100644
--- a/lib/pangea/choreographer/widgets/choice_array.dart
+++ b/lib/pangea/choreographer/widgets/choice_array.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../../utils/bot_style.dart';
import 'it_shimmer.dart';
@@ -21,7 +17,7 @@ class ChoicesArray extends StatelessWidget {
final String originalSpan;
final String Function(int) uniqueKeyForLayerLink;
const ChoicesArray({
- Key? key,
+ super.key,
required this.isLoading,
required this.choices,
required this.onPressed,
@@ -29,7 +25,7 @@ class ChoicesArray extends StatelessWidget {
required this.uniqueKeyForLayerLink,
required this.selectedChoiceIndex,
this.onLongPress,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
@@ -67,14 +63,14 @@ class Choice {
}
class ChoiceItem extends StatelessWidget {
- const ChoiceItem(
- {Key? key,
- required this.theme,
- required this.onLongPress,
- required this.onPressed,
- required this.entry,
- required this.isSelected})
- : super(key: key);
+ const ChoiceItem({
+ super.key,
+ required this.theme,
+ required this.onLongPress,
+ required this.onPressed,
+ required this.entry,
+ required this.isSelected,
+ });
final MapEntry entry;
final ThemeData theme;
@@ -106,7 +102,8 @@ class ChoiceItem extends StatelessWidget {
child: TextButton(
style: ButtonStyle(
padding: MaterialStateProperty.all(
- const EdgeInsets.symmetric(horizontal: 7)),
+ const EdgeInsets.symmetric(horizontal: 7),
+ ),
//if index is selected, then give the background a slight primary color
backgroundColor: MaterialStateProperty.all(
entry.value.color != null
diff --git a/lib/pangea/choreographer/widgets/counters.dart b/lib/pangea/choreographer/widgets/counters.dart
index d87f6a60b..5e1c57b9c 100644
--- a/lib/pangea/choreographer/widgets/counters.dart
+++ b/lib/pangea/choreographer/widgets/counters.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/choreo_constants.dart';
import '../../../config/app_config.dart';
@@ -13,11 +10,11 @@ class Counter extends StatelessWidget {
final String label;
final Color color;
const Counter({
- Key? key,
+ super.key,
required this.count,
required this.label,
required this.color,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
@@ -52,12 +49,12 @@ class CounterDisplay extends StatelessWidget {
final int yellow;
final int custom;
const CounterDisplay({
- Key? key,
+ super.key,
required this.correct,
required this.incorrect,
required this.yellow,
required this.custom,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/choreographer/widgets/has_error_button.dart b/lib/pangea/choreographer/widgets/has_error_button.dart
index b30026da1..47bf7ea7f 100644
--- a/lib/pangea/choreographer/widgets/has_error_button.dart
+++ b/lib/pangea/choreographer/widgets/has_error_button.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import '../../controllers/pangea_controller.dart';
import '../controllers/error_service.dart';
@@ -12,8 +10,8 @@ class ChoreographerHasErrorButton extends StatelessWidget {
const ChoreographerHasErrorButton(
this.pangeaController,
this.error, {
- Key? key,
- }) : super(key: key);
+ super.key,
+ });
@override
Widget build(BuildContext context) {
@@ -26,7 +24,8 @@ class ChoreographerHasErrorButton extends StatelessWidget {
SnackBar(
duration: const Duration(seconds: 5),
content: Text(
- "${error.title(context)} ${error.description(context)}"),
+ "${error.title(context)} ${error.description(context)}",
+ ),
),
);
} else if (error.type == ChoreoErrorType.unsubscribed) {
diff --git a/lib/pangea/choreographer/widgets/it_bar.dart b/lib/pangea/choreographer/widgets/it_bar.dart
index 108c7dc36..883761a9a 100644
--- a/lib/pangea/choreographer/widgets/it_bar.dart
+++ b/lib/pangea/choreographer/widgets/it_bar.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
import 'package:fluffychat/pangea/choreographer/controllers/it_controller.dart';
import 'package:fluffychat/pangea/choreographer/widgets/it_bar_buttons.dart';
@@ -20,7 +17,7 @@ import 'choice_array.dart';
class ITBar extends StatelessWidget {
final Choreographer choreographer;
- const ITBar({Key? key, required this.choreographer}) : super(key: key);
+ const ITBar({super.key, required this.choreographer});
ITController get controller => choreographer.itController;
@@ -33,13 +30,14 @@ class ITBar extends StatelessWidget {
child: Container(
key: choreographer.itBarLinkAndKey.key,
decoration: BoxDecoration(
- color: Theme.of(context).brightness == Brightness.light
- ? Colors.white
- : Colors.black,
- borderRadius: const BorderRadius.only(
- topLeft: Radius.circular(AppConfig.borderRadius),
- topRight: Radius.circular(AppConfig.borderRadius),
- )),
+ color: Theme.of(context).brightness == Brightness.light
+ ? Colors.white
+ : Colors.black,
+ borderRadius: const BorderRadius.only(
+ topLeft: Radius.circular(AppConfig.borderRadius),
+ topRight: Radius.circular(AppConfig.borderRadius),
+ ),
+ ),
width: double.infinity,
padding: const EdgeInsets.fromLTRB(0, 3, 3, 3),
child: Stack(
@@ -92,7 +90,8 @@ class ITBar extends StatelessWidget {
? ChoiceFeedbackText(controller: controller)
: controller.isTranslationDone
? TranslationFeedback(
- controller: controller)
+ controller: controller,
+ )
: ITChoices(controller: controller),
),
),
@@ -114,9 +113,9 @@ class ITBar extends StatelessWidget {
class ChoiceFeedbackText extends StatelessWidget {
const ChoiceFeedbackText({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final ITController controller;
@@ -143,9 +142,9 @@ class ChoiceFeedbackText extends StatelessWidget {
class OriginalText extends StatelessWidget {
const OriginalText({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final ITController controller;
@@ -155,10 +154,11 @@ class OriginalText extends StatelessWidget {
constraints: const BoxConstraints(minHeight: 50),
padding: const EdgeInsets.only(left: 60.0, right: 40.0),
decoration: const BoxDecoration(
- borderRadius: BorderRadius.only(
- topLeft: Radius.circular(AppConfig.borderRadius),
- topRight: Radius.circular(AppConfig.borderRadius),
- )),
+ borderRadius: BorderRadius.only(
+ topLeft: Radius.circular(AppConfig.borderRadius),
+ topRight: Radius.circular(AppConfig.borderRadius),
+ ),
+ ),
child: Row(
//PTODO - does this already update after reset or we need to setState?
mainAxisAlignment: MainAxisAlignment.center,
@@ -195,9 +195,9 @@ class OriginalText extends StatelessWidget {
class ITChoices extends StatelessWidget {
const ITChoices({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
// final choices = [
// "we need a really long translation to see what's going to happen with that. it should probably have multiple sentences so that we can see what happens there.we need a really long translation to see what's going to happen with that. it should probably have multiple sentences so that we can see what happens there.",
@@ -217,20 +217,25 @@ class ITChoices extends StatelessWidget {
return controller.sourceText;
}
- void showCard(BuildContext context, int index,
- [Color? borderColor, String? choiceFeedback]) =>
+ void showCard(
+ BuildContext context,
+ int index, [
+ Color? borderColor,
+ String? choiceFeedback,
+ ]) =>
OverlayUtil.showPositionedCard(
context: context,
cardToShow: WordDataCard(
- word: controller.currentITStep!.continuances[index].text,
- wordLang: controller.targetLangCode,
- fullText: sourceText ?? controller.choreographer.currentText,
- fullTextLang: sourceText != null
- ? controller.sourceLangCode
- : controller.targetLangCode,
- hasInfo: controller.currentITStep!.continuances[index].hasInfo,
- choiceFeedback: choiceFeedback,
- room: controller.choreographer.chatController.room),
+ word: controller.currentITStep!.continuances[index].text,
+ wordLang: controller.targetLangCode,
+ fullText: sourceText ?? controller.choreographer.currentText,
+ fullTextLang: sourceText != null
+ ? controller.sourceLangCode
+ : controller.targetLangCode,
+ hasInfo: controller.currentITStep!.continuances[index].hasInfo,
+ choiceFeedback: choiceFeedback,
+ room: controller.choreographer.chatController.room,
+ ),
cardSize: const Size(300, 300),
borderColor: borderColor,
transformTargetId: controller.choreographer.itBarTransformTargetKey,
@@ -262,8 +267,10 @@ class ITChoices extends StatelessWidget {
controller.currentITStep!.continuances[index];
debugPrint("is gold? ${continuance.gold}");
if (continuance.level == 1 || continuance.wasClicked) {
- Future.delayed(const Duration(milliseconds: 500),
- () => controller.selectTranslation(index));
+ Future.delayed(
+ const Duration(milliseconds: 500),
+ () => controller.selectTranslation(index),
+ );
} else {
showCard(
context,
@@ -293,8 +300,7 @@ class ITChoices extends StatelessWidget {
class ITError extends StatelessWidget {
final ITController controller;
final Object error;
- const ITError({Key? key, required this.error, required this.controller})
- : super(key: key);
+ const ITError({super.key, required this.error, required this.controller});
@override
Widget build(BuildContext context) {
@@ -311,8 +317,9 @@ class ITError extends StatelessWidget {
"${errorCopy.title}\n${errorCopy.body}",
// Haga clic en su mensaje para ver los significados de las palabras.
style: TextStyle(
- fontStyle: FontStyle.italic,
- color: Theme.of(context).colorScheme.error),
+ fontStyle: FontStyle.italic,
+ color: Theme.of(context).colorScheme.error,
+ ),
),
),
ITRestartButton(controller: controller),
diff --git a/lib/pangea/choreographer/widgets/it_bar_buttons.dart b/lib/pangea/choreographer/widgets/it_bar_buttons.dart
index b74c0e8bc..815020d17 100644
--- a/lib/pangea/choreographer/widgets/it_bar_buttons.dart
+++ b/lib/pangea/choreographer/widgets/it_bar_buttons.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/utils/instructions.dart';
import 'package:fluffychat/widgets/matrix.dart';
@@ -11,9 +9,9 @@ import '../controllers/it_controller.dart';
class ITCloseButton extends StatelessWidget {
const ITCloseButton({
- Key? key,
+ super.key,
required this.choreographer,
- }) : super(key: key);
+ });
final Choreographer choreographer;
@@ -33,7 +31,7 @@ class ITCloseButton extends StatelessWidget {
}
class ITBotButton extends StatelessWidget {
- const ITBotButton({Key? key, required this.choreographer}) : super(key: key);
+ const ITBotButton({super.key, required this.choreographer});
final Choreographer choreographer;
@@ -60,9 +58,9 @@ class ITBotButton extends StatelessWidget {
class ITRestartButton extends StatelessWidget {
ITRestartButton({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final ITController controller;
final PangeaController pangeaController = MatrixState.pangeaController;
diff --git a/lib/pangea/choreographer/widgets/it_shimmer.dart b/lib/pangea/choreographer/widgets/it_shimmer.dart
index 1ae0173d1..2710ab57f 100644
--- a/lib/pangea/choreographer/widgets/it_shimmer.dart
+++ b/lib/pangea/choreographer/widgets/it_shimmer.dart
@@ -1,26 +1,27 @@
-// Dart imports:
import 'dart:ui';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
class ItShimmer extends StatelessWidget {
- const ItShimmer({Key? key, required this.originalSpan}) : super(key: key);
+ const ItShimmer({super.key, required this.originalSpan});
final String originalSpan;
- Iterable renderShimmerIfListEmpty(BuildContext context,
- {int noOfBars = 3}) {
+ Iterable renderShimmerIfListEmpty(
+ BuildContext context, {
+ int noOfBars = 3,
+ }) {
final List dummyStrings = [];
for (int i = 0; i < noOfBars; i++) {
dummyStrings.add(originalSpan);
}
- return dummyStrings.map((e) => ITShimmerElement(
- text: e,
- ));
+ return dummyStrings.map(
+ (e) => ITShimmerElement(
+ text: e,
+ ),
+ );
}
// PTODO - bring this back, make it shimmer
@@ -35,9 +36,9 @@ class ItShimmer extends StatelessWidget {
class ITShimmerElement extends StatelessWidget {
const ITShimmerElement({
- Key? key,
+ super.key,
required this.text,
- }) : super(key: key);
+ });
final String text;
@@ -60,14 +61,16 @@ class ITShimmerElement extends StatelessWidget {
child: TextButton(
style: ButtonStyle(
padding: MaterialStateProperty.all(
- const EdgeInsets.symmetric(horizontal: 7)),
+ const EdgeInsets.symmetric(horizontal: 7),
+ ),
shape: MaterialStateProperty.all(
RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
),
backgroundColor: MaterialStateProperty.all(
- AppConfig.primaryColor.withOpacity(0.2)),
+ AppConfig.primaryColor.withOpacity(0.2),
+ ),
),
onPressed: () {},
child: Text(
diff --git a/lib/pangea/choreographer/widgets/language_display_toggle.dart b/lib/pangea/choreographer/widgets/language_display_toggle.dart
index 085435049..a399fda44 100644
--- a/lib/pangea/choreographer/widgets/language_display_toggle.dart
+++ b/lib/pangea/choreographer/widgets/language_display_toggle.dart
@@ -1,18 +1,15 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../../../config/app_config.dart';
import '../../../pages/chat/chat.dart';
class LanguageDisplayToggle extends StatelessWidget {
const LanguageDisplayToggle({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final ChatController controller;
diff --git a/lib/pangea/choreographer/widgets/language_permissions_warning_buttons.dart b/lib/pangea/choreographer/widgets/language_permissions_warning_buttons.dart
index 21096782e..93d441aa4 100644
--- a/lib/pangea/choreographer/widgets/language_permissions_warning_buttons.dart
+++ b/lib/pangea/choreographer/widgets/language_permissions_warning_buttons.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
import 'package:fluffychat/pangea/models/class_model.dart';
@@ -30,10 +26,10 @@ class LanguagePermissionsButtons extends StatelessWidget {
final Choreographer choreographer;
const LanguagePermissionsButtons({
- Key? key,
+ super.key,
required this.roomID,
required this.choreographer,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/choreographer/widgets/send_button.dart b/lib/pangea/choreographer/widgets/send_button.dart
index 6a541eff0..045f0c516 100644
--- a/lib/pangea/choreographer/widgets/send_button.dart
+++ b/lib/pangea/choreographer/widgets/send_button.dart
@@ -1,18 +1,15 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/colors.dart';
import '../../../pages/chat/chat.dart';
class ChoreographerSendButton extends StatelessWidget {
const ChoreographerSendButton({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final ChatController controller;
diff --git a/lib/pangea/choreographer/widgets/translation_finished_flow.dart b/lib/pangea/choreographer/widgets/translation_finished_flow.dart
index f88139307..de49be145 100644
--- a/lib/pangea/choreographer/widgets/translation_finished_flow.dart
+++ b/lib/pangea/choreographer/widgets/translation_finished_flow.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import '../../utils/bot_style.dart';
import '../../utils/error_handler.dart';
import '../controllers/it_controller.dart';
@@ -9,8 +7,7 @@ import 'choice_array.dart';
class TranslationFeedback extends StatelessWidget {
final ITController controller;
- const TranslationFeedback({Key? key, required this.controller})
- : super(key: key);
+ const TranslationFeedback({super.key, required this.controller});
@override
Widget build(BuildContext context) {
@@ -61,9 +58,9 @@ class TranslationFeedback extends StatelessWidget {
class AlternativeTranslations extends StatelessWidget {
const AlternativeTranslations({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final ITController controller;
@@ -75,12 +72,13 @@ class AlternativeTranslations extends StatelessWidget {
controller.choreographer.altTranslator.loadingAlternativeTranslations,
// choices: controller.choreographer.altTranslator.similarityResponse.scores
choices: [
- Choice(text: controller.choreographer.altTranslator.translations.first)
+ Choice(text: controller.choreographer.altTranslator.translations.first),
],
// choices: controller.choreographer.altTranslator.translations,
onPressed: (int index) {
controller.choreographer.onSelectAlternativeTranslation(
- controller.choreographer.altTranslator.translations[index]);
+ controller.choreographer.altTranslator.translations[index],
+ );
},
uniqueKeyForLayerLink: (int index) => "altTranslation$index",
selectedChoiceIndex: null,
diff --git a/lib/pangea/config/colors.dart b/lib/pangea/config/colors.dart
index 988f66d9a..43a3f2e23 100644
--- a/lib/pangea/config/colors.dart
+++ b/lib/pangea/config/colors.dart
@@ -1,4 +1,3 @@
-// Flutter imports:
import 'package:flutter/material.dart';
class ChoreoColor {
diff --git a/lib/pangea/config/environment.dart b/lib/pangea/config/environment.dart
index 8cbf15334..e55f66423 100644
--- a/lib/pangea/config/environment.dart
+++ b/lib/pangea/config/environment.dart
@@ -1,27 +1,10 @@
-// Flutter imports:
-import 'package:flutter/foundation.dart';
-
-// Package imports:
import 'package:flutter_dotenv/flutter_dotenv.dart';
-// Project imports:
-import '../../utils/platform_infos.dart';
-
class Environment {
static bool get itIsTime =>
DateTime.utc(2023, 1, 25).isBefore(DateTime.now());
static String get fileName {
- // return '.env.prod';
- if (kIsWeb) {
- return '.env';
- }
- if (PlatformInfos.isMobile) {
- if (kDebugMode) {
- return '.env';
- }
- return '.env.prod';
- }
return ".env";
}
diff --git a/lib/pangea/constants/choreo_constants.dart b/lib/pangea/constants/choreo_constants.dart
index 8d937ec2e..cbdfdf7d0 100644
--- a/lib/pangea/constants/choreo_constants.dart
+++ b/lib/pangea/constants/choreo_constants.dart
@@ -1,4 +1,3 @@
-// Flutter imports:
import 'package:flutter/material.dart';
class ChoreoConstants {
diff --git a/lib/pangea/constants/class_default_values.dart b/lib/pangea/constants/class_default_values.dart
index 5a5ce14cc..97522ca4b 100644
--- a/lib/pangea/constants/class_default_values.dart
+++ b/lib/pangea/constants/class_default_values.dart
@@ -1,4 +1,3 @@
-// Project imports:
import '../enum/time_span.dart';
class ClassDefaultValues {
diff --git a/lib/pangea/constants/colors.dart b/lib/pangea/constants/colors.dart
index ef19ca184..16fc7f907 100644
--- a/lib/pangea/constants/colors.dart
+++ b/lib/pangea/constants/colors.dart
@@ -1,4 +1,3 @@
-// Flutter imports:
import 'package:flutter/material.dart';
class PangeaColors {
diff --git a/lib/pangea/controllers/base_controller.dart b/lib/pangea/controllers/base_controller.dart
index b3822c46f..ce41353e8 100644
--- a/lib/pangea/controllers/base_controller.dart
+++ b/lib/pangea/controllers/base_controller.dart
@@ -1,4 +1,3 @@
-// Dart imports:
import 'dart:async';
class BaseController {
diff --git a/lib/pangea/controllers/class_controller.dart b/lib/pangea/controllers/class_controller.dart
index edd435c5c..894498a49 100644
--- a/lib/pangea/controllers/class_controller.dart
+++ b/lib/pangea/controllers/class_controller.dart
@@ -1,18 +1,14 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/local.key.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/extensions/client_extension.dart';
diff --git a/lib/pangea/controllers/contextual_definition_controller.dart b/lib/pangea/controllers/contextual_definition_controller.dart
index 332b61c9a..c13a428b8 100644
--- a/lib/pangea/controllers/contextual_definition_controller.dart
+++ b/lib/pangea/controllers/contextual_definition_controller.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../constants/model_keys.dart';
@@ -26,12 +22,15 @@ class ContextualDefinitionController {
}
_ContextualDefinitionCacheItem? _getLocal(
- ContextualDefinitionRequestModel req) =>
+ ContextualDefinitionRequestModel req,
+ ) =>
_definitions.firstWhereOrNull(
- (e) => e.word == req.word && e.fullText == req.fullText);
+ (e) => e.word == req.word && e.fullText == req.fullText,
+ );
Future get(
- ContextualDefinitionRequestModel req) {
+ ContextualDefinitionRequestModel req,
+ ) {
final _ContextualDefinitionCacheItem? localItem = _getLocal(req);
if (localItem != null) return localItem.data;
@@ -59,7 +58,8 @@ class ContextualDefinitionController {
return res;
} catch (err, stack) {
debugPrint(
- "error getting contextual definition for ${request.word} in '${request.fullText}'");
+ "error getting contextual definition for ${request.word} in '${request.fullText}'",
+ );
ErrorHandler.logError(e: err, s: stack, data: request.toJson());
return null;
}
@@ -119,19 +119,20 @@ class ContextualDefinitionRequestModel {
final String fullTextLang;
final String wordLang;
- ContextualDefinitionRequestModel(
- {required this.fullText,
- required this.word,
- required this.feedbackLang,
- required this.fullTextLang,
- required this.wordLang});
+ ContextualDefinitionRequestModel({
+ required this.fullText,
+ required this.word,
+ required this.feedbackLang,
+ required this.fullTextLang,
+ required this.wordLang,
+ });
Map toJson() => {
ModelKey.fullText: fullText,
ModelKey.word: word,
ModelKey.lang: feedbackLang,
ModelKey.fullTextLang: fullTextLang,
- ModelKey.wordLang: wordLang
+ ModelKey.wordLang: wordLang,
};
}
diff --git a/lib/pangea/controllers/language_controller.dart b/lib/pangea/controllers/language_controller.dart
index 4482b55e0..b96c82b8b 100644
--- a/lib/pangea/controllers/language_controller.dart
+++ b/lib/pangea/controllers/language_controller.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/language_keys.dart';
import 'package:fluffychat/pangea/controllers/language_list_controller.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
diff --git a/lib/pangea/controllers/language_list_controller.dart b/lib/pangea/controllers/language_list_controller.dart
index 940e06faf..ef86fead9 100644
--- a/lib/pangea/controllers/language_list_controller.dart
+++ b/lib/pangea/controllers/language_list_controller.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/language_keys.dart';
import 'package:fluffychat/pangea/models/language_model.dart';
import 'package:fluffychat/pangea/repo/language_repo.dart';
@@ -37,9 +34,11 @@ class PangeaLanguage {
await _saveFlags(_langList);
await saveLastFetchDate();
}
- _langList.removeWhere((element) =>
- LanguageModel.codeFromNameOrCode(element.langCode) ==
- LanguageKeys.unknownLanguage);
+ _langList.removeWhere(
+ (element) =>
+ LanguageModel.codeFromNameOrCode(element.langCode) ==
+ LanguageKeys.unknownLanguage,
+ );
_langList.sort((a, b) => a.displayName.compareTo(b.displayName));
_langList.insert(0, LanguageModel.multiLingual());
} catch (err, stack) {
@@ -67,7 +66,7 @@ class PangeaLanguage {
static Future _saveFlags(List langFlags) async {
final Map flagMap = {
- PrefKey.flags: langFlags.map((e) => e.toJson()).toList()
+ PrefKey.flags: langFlags.map((e) => e.toJson()).toList(),
};
await MyShared.saveJson(PrefKey.flags, flagMap);
}
diff --git a/lib/pangea/controllers/local_settings.dart b/lib/pangea/controllers/local_settings.dart
index 494b96c95..5984a7bf5 100644
--- a/lib/pangea/controllers/local_settings.dart
+++ b/lib/pangea/controllers/local_settings.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/models/class_model.dart';
diff --git a/lib/pangea/controllers/message_analytics_controller.dart b/lib/pangea/controllers/message_analytics_controller.dart
index 32139a578..78c75b408 100644
--- a/lib/pangea/controllers/message_analytics_controller.dart
+++ b/lib/pangea/controllers/message_analytics_controller.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/enum/construct_type_enum.dart';
import 'package:fluffychat/pangea/enum/time_span.dart';
import 'package:fluffychat/pangea/models/headwords.dart';
@@ -128,7 +124,7 @@ class AnalyticsController extends BaseController {
} else {
if (studentId != null) {
studentAnalyticsSummaryEvents = [
- await classRoom.getStudentAnalytics(studentId)
+ await classRoom.getStudentAnalytics(studentId),
];
} else {
studentAnalyticsSummaryEvents = await classRoom.getClassAnalytics();
@@ -157,13 +153,15 @@ class AnalyticsController extends BaseController {
chatId: chatId,
);
- _cachedModels.add(CacheModel(
- timeSpan: timeSpan,
- classId: classRoom?.id,
- studentId: studentId,
- chatId: chatId,
- chartAnalyticsModel: newModel,
- ));
+ _cachedModels.add(
+ CacheModel(
+ timeSpan: timeSpan,
+ classId: classRoom?.id,
+ studentId: studentId,
+ chatId: chatId,
+ chartAnalyticsModel: newModel,
+ ),
+ );
return newModel;
} catch (err, s) {
@@ -174,8 +172,10 @@ class AnalyticsController extends BaseController {
}
Future vocabHeadwordsWithTotals(
- String langCode, List vocab,
- [String? chatId]) async {
+ String langCode,
+ List vocab, [
+ String? chatId,
+ ]) async {
final VocabHeadwords vocabHeadwords =
await VocabHeadwords.getHeadwords(langCode);
for (final vocabList in vocabHeadwords.lists) {
@@ -217,8 +217,10 @@ class AnalyticsController extends BaseController {
final List msgs = [];
for (final event in studentAnalyticsSummaryEvents) {
if (event != null) {
- msgs.addAll(event.content.messages
- .where((m) => directChatIds.contains(m.chatId)));
+ msgs.addAll(
+ event.content.messages
+ .where((m) => directChatIds.contains(m.chatId)),
+ );
} else {
debugPrint("studentAnalyticsSummaryEvent is null");
}
@@ -229,13 +231,15 @@ class AnalyticsController extends BaseController {
chatId: null,
);
- _cachedModels.add(CacheModel(
- timeSpan: timeSpan,
- classId: classRoom.id,
- studentId: null,
- chatId: AnalyticsEntryType.privateChats.toString(),
- chartAnalyticsModel: newModel,
- ));
+ _cachedModels.add(
+ CacheModel(
+ timeSpan: timeSpan,
+ classId: classRoom.id,
+ studentId: null,
+ chatId: AnalyticsEntryType.privateChats.toString(),
+ chartAnalyticsModel: newModel,
+ ),
+ );
return newModel;
} catch (err, s) {
@@ -255,7 +259,9 @@ class AnalyticsController extends BaseController {
}
Future> studentConstructs(
- String studentId, String langCode) {
+ String studentId,
+ String langCode,
+ ) {
final Room? analyticsRoom = _pangeaController.matrixState.client
.analyticsRoomLocal(langCode, studentId);
return analyticsRoom!.allConstructEvents;
@@ -386,17 +392,21 @@ class AnalyticsController extends BaseController {
if (selected?.type == AnalyticsEntryType.room) {
chatIdsToFilterBy.add(selected!.id);
} else if (selected?.type == AnalyticsEntryType.privateChats) {
- chatIdsToFilterBy.addAll(_pangeaController.matrixState.client
- .getRoomById(defaultSelected.id)
- ?.childrenAndGrandChildrenDirectChatIds ??
- []);
+ chatIdsToFilterBy.addAll(
+ _pangeaController.matrixState.client
+ .getRoomById(defaultSelected.id)
+ ?.childrenAndGrandChildrenDirectChatIds ??
+ [],
+ );
} else if (defaultSelected.type == AnalyticsEntryType.space) {
- chatIdsToFilterBy.addAll(_pangeaController.matrixState.client
- .getRoomById(defaultSelected.id)
- ?.childrenAndGrandChildren
- .where((e) => e.roomId != null)
- .map((e) => e.roomId!) ??
- []);
+ chatIdsToFilterBy.addAll(
+ _pangeaController.matrixState.client
+ .getRoomById(defaultSelected.id)
+ ?.childrenAndGrandChildren
+ .where((e) => e.roomId != null)
+ .map((e) => e.roomId!) ??
+ [],
+ );
}
if (chatIdsToFilterBy.isNotEmpty) {
for (final event in events) {
diff --git a/lib/pangea/controllers/message_data_controller.dart b/lib/pangea/controllers/message_data_controller.dart
index 1bb3d10f2..130afcdfe 100644
--- a/lib/pangea/controllers/message_data_controller.dart
+++ b/lib/pangea/controllers/message_data_controller.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:matrix/matrix.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/base_controller.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
@@ -34,8 +30,10 @@ class MessageDataController extends BaseController {
}
CacheItem? getItem(String parentId, String type, String langCode) =>
- _cache.firstWhereOrNull((e) =>
- e.parentId == parentId && e.type == type && e.langCode == langCode);
+ _cache.firstWhereOrNull(
+ (e) =>
+ e.parentId == parentId && e.type == type && e.langCode == langCode,
+ );
Future _getTokens(
TokensRequestModel req,
@@ -70,7 +68,8 @@ class MessageDataController extends BaseController {
} catch (err, stack) {
Sentry.addBreadcrumb(
Breadcrumb(
- message: "err in _getTokenEvent with repEventId $repEventId"),
+ message: "err in _getTokenEvent with repEventId $repEventId",
+ ),
);
Sentry.addBreadcrumb(
Breadcrumb.fromJson({"req": req.toJson()}),
@@ -93,17 +92,19 @@ class MessageDataController extends BaseController {
getItem(repEventId, PangeaEventTypes.tokens, req.userL2);
if (item != null) return item.data;
- _cache.add(CacheItem(
- repEventId,
- PangeaEventTypes.tokens,
- req.userL2,
- _getTokenEvent(
- context: context,
- repEventId: repEventId,
- req: req,
- room: room,
+ _cache.add(
+ CacheItem(
+ repEventId,
+ PangeaEventTypes.tokens,
+ req.userL2,
+ _getTokenEvent(
+ context: context,
+ repEventId: repEventId,
+ req: req,
+ room: room,
+ ),
),
- ));
+ );
return _cache.last.data;
}
@@ -205,9 +206,11 @@ class MessageDataQueueItem {
UseType useType;
MessageDataQueueItem(
- this.transactionId, this.repTokensAndRecords, this.useType
- // required this.recentMessageRecord,
- );
+ this.transactionId,
+ this.repTokensAndRecords,
+ this.useType,
+ // required this.recentMessageRecord,
+ );
}
class RepTokensAndRecord {
diff --git a/lib/pangea/controllers/my_analytics_controller.dart b/lib/pangea/controllers/my_analytics_controller.dart
index 1f687b1d3..1fbb15b6f 100644
--- a/lib/pangea/controllers/my_analytics_controller.dart
+++ b/lib/pangea/controllers/my_analytics_controller.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/models/student_analytics_summary_model.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
@@ -28,13 +24,17 @@ class MyAnalyticsController {
//PTODO - locally cache and update periodically
Future handleMessage(
- Room room, RecentMessageRecord messageRecord) async {
+ Room room,
+ RecentMessageRecord messageRecord,
+ ) async {
try {
debugPrint("in handle message with type ${messageRecord.useType}");
if (_userId == null) {
debugger(when: kDebugMode);
ErrorHandler.logError(
- m: "null userId in updateAnalytics", s: StackTrace.current);
+ m: "null userId in updateAnalytics",
+ s: StackTrace.current,
+ );
return;
}
@@ -59,7 +59,8 @@ class MyAnalyticsController {
}
Future> analyticsEvents(
- List spaces) async {
+ List spaces,
+ ) async {
final List> events = [];
for (final space in spaces) {
events.add(space.getStudentAnalytics(_userId!));
@@ -73,7 +74,9 @@ class MyAnalyticsController {
);
Future saveConstructsMixed(
- List allUses, String langCode) async {
+ List allUses,
+ String langCode,
+ ) async {
try {
final Map> aggregatedVocabUse = {};
for (final use in allUses) {
@@ -88,7 +91,10 @@ class MyAnalyticsController {
debugPrint("saving of type ${uses.value.first.constructType}");
saveFutures.add(
analyticsRoom.saveConstructUsesSameLemma(
- uses.key, uses.value.first.constructType!, uses.value),
+ uses.key,
+ uses.value.first.constructType!,
+ uses.value,
+ ),
);
}
diff --git a/lib/pangea/controllers/pangea_controller.dart b/lib/pangea/controllers/pangea_controller.dart
index e65056981..728f86131 100644
--- a/lib/pangea/controllers/pangea_controller.dart
+++ b/lib/pangea/controllers/pangea_controller.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:developer';
import 'dart:math';
-// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/controllers/class_controller.dart';
import 'package:fluffychat/pangea/controllers/contextual_definition_controller.dart';
diff --git a/lib/pangea/controllers/permissions_controller.dart b/lib/pangea/controllers/permissions_controller.dart
index 44c0b79fe..6dcf64388 100644
--- a/lib/pangea/controllers/permissions_controller.dart
+++ b/lib/pangea/controllers/permissions_controller.dart
@@ -1,7 +1,5 @@
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/age_limits.dart';
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
import 'package:fluffychat/pangea/controllers/base_controller.dart';
diff --git a/lib/pangea/controllers/space_rules_edit_controller.dart b/lib/pangea/controllers/space_rules_edit_controller.dart
index 3e11b1055..5f5a2ed72 100644
--- a/lib/pangea/controllers/space_rules_edit_controller.dart
+++ b/lib/pangea/controllers/space_rules_edit_controller.dart
@@ -1,7 +1,5 @@
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
import '../extensions/pangea_room_extension.dart';
import '../models/class_model.dart';
diff --git a/lib/pangea/controllers/subscription_controller.dart b/lib/pangea/controllers/subscription_controller.dart
index 1ade5895a..34619e676 100644
--- a/lib/pangea/controllers/subscription_controller.dart
+++ b/lib/pangea/controllers/subscription_controller.dart
@@ -1,19 +1,15 @@
-// Dart imports:
import 'dart:async';
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:http/http.dart';
import 'package:purchases_flutter/purchases_flutter.dart';
import 'package:url_launcher/url_launcher_string.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/controllers/base_controller.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
@@ -91,8 +87,10 @@ class SubscriptionController extends BaseController {
setState();
}
- Future showPaywall(BuildContext context,
- [bool forceShow = false]) async {
+ Future showPaywall(
+ BuildContext context, [
+ bool forceShow = false,
+ ]) async {
try {
if (!initialized) {
await initialize();
@@ -160,8 +158,10 @@ class SubscriptionController extends BaseController {
}
void submitSubscriptionChange(
- SubscriptionDetails? selectedSubscription, BuildContext context,
- {bool isPromo = false}) async {
+ SubscriptionDetails? selectedSubscription,
+ BuildContext context, {
+ bool isPromo = false,
+ }) async {
if (selectedSubscription != null) {
if (kIsWeb) {
if (selectedSubscription.duration == null) {
@@ -191,7 +191,9 @@ class SubscriptionController extends BaseController {
}
try {
GoogleAnalytics.beginPurchaseSubscription(
- selectedSubscription, context);
+ selectedSubscription,
+ context,
+ );
await Purchases.purchasePackage(selectedSubscription.package!);
GoogleAnalytics.updateUserSubscriptionStatus(true);
} catch (err) {
diff --git a/lib/pangea/controllers/user_controller.dart b/lib/pangea/controllers/user_controller.dart
index 20ff0c5a3..aeec7a5dc 100644
--- a/lib/pangea/controllers/user_controller.dart
+++ b/lib/pangea/controllers/user_controller.dart
@@ -1,18 +1,15 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Package imports:
import 'package:collection/collection.dart';
+import 'package:jwt_decode/jwt_decode.dart';
+import 'package:matrix/matrix.dart' as matrix;
+
import 'package:fluffychat/pangea/constants/language_keys.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/controllers/base_controller.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/widgets/fluffy_chat_app.dart';
-import 'package:jwt_decode/jwt_decode.dart';
-import 'package:matrix/matrix.dart' as matrix;
-
import '../constants/local.key.dart';
import '../models/user_model.dart';
import '../repo/user_repo.dart';
diff --git a/lib/pangea/controllers/word_net_controller.dart b/lib/pangea/controllers/word_net_controller.dart
index 04fe5e878..ce8324ebe 100644
--- a/lib/pangea/controllers/word_net_controller.dart
+++ b/lib/pangea/controllers/word_net_controller.dart
@@ -1,8 +1,6 @@
-// Package imports:
import 'package:collection/collection.dart';
import 'package:http/http.dart' as http;
-// Project imports:
import 'package:fluffychat/pangea/constants/language_keys.dart';
import 'package:fluffychat/pangea/repo/word_repo.dart';
import '../models/word_data_model.dart';
@@ -24,12 +22,14 @@ class WordController extends BaseController {
required String? userL1,
required String? userL2,
}) =>
- _wordData.firstWhereOrNull((e) => e.isMatch(
- w: word,
- f: fullText,
- l1: userL1,
- l2: userL2,
- ));
+ _wordData.firstWhereOrNull(
+ (e) => e.isMatch(
+ w: word,
+ f: fullText,
+ l1: userL1,
+ l2: userL2,
+ ),
+ );
Future getWordDataGlobal({
required String word,
diff --git a/lib/pangea/enum/bar_chart_view_enum.dart b/lib/pangea/enum/bar_chart_view_enum.dart
index bdc21707d..d59f34d9a 100644
--- a/lib/pangea/enum/bar_chart_view_enum.dart
+++ b/lib/pangea/enum/bar_chart_view_enum.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
enum BarChartViewSelection {
diff --git a/lib/pangea/enum/span_choice_type.dart b/lib/pangea/enum/span_choice_type.dart
index 03a0adcaa..7ba748d09 100644
--- a/lib/pangea/enum/span_choice_type.dart
+++ b/lib/pangea/enum/span_choice_type.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
enum SpanChoiceType {
diff --git a/lib/pangea/enum/span_data_type.dart b/lib/pangea/enum/span_data_type.dart
index d5e714330..5e4fdf8cb 100644
--- a/lib/pangea/enum/span_data_type.dart
+++ b/lib/pangea/enum/span_data_type.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
enum SpanDataTypeEnum {
diff --git a/lib/pangea/enum/time_span.dart b/lib/pangea/enum/time_span.dart
index 12457aac6..23a54e4ea 100644
--- a/lib/pangea/enum/time_span.dart
+++ b/lib/pangea/enum/time_span.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../models/chart_analytics_model.dart';
enum TimeSpan { day, week, month, sixmonths, year }
diff --git a/lib/pangea/enum/use_type.dart b/lib/pangea/enum/use_type.dart
index c657fa961..771b26220 100644
--- a/lib/pangea/enum/use_type.dart
+++ b/lib/pangea/enum/use_type.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../models/choreo_record.dart';
import '../utils/bot_style.dart';
diff --git a/lib/pangea/enum/vocab_proficiency_enum.dart b/lib/pangea/enum/vocab_proficiency_enum.dart
index 0b1749387..73187dbf7 100644
--- a/lib/pangea/enum/vocab_proficiency_enum.dart
+++ b/lib/pangea/enum/vocab_proficiency_enum.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
enum VocabProficiencyEnum { low, medium, high, unk }
diff --git a/lib/pangea/extensions/client_extension.dart b/lib/pangea/extensions/client_extension.dart
index 753266010..d226c78a7 100644
--- a/lib/pangea/extensions/client_extension.dart
+++ b/lib/pangea/extensions/client_extension.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/constants/pangea_room_types.dart';
@@ -21,27 +17,35 @@ extension PangeaClient on Client {
List get classes => rooms.where((e) => e.isPangeaClass).toList();
List get classesImTeaching => rooms
- .where((e) =>
- e.isPangeaClass &&
- e.ownPowerLevel == ClassDefaultValues.powerLevelOfAdmin)
+ .where(
+ (e) =>
+ e.isPangeaClass &&
+ e.ownPowerLevel == ClassDefaultValues.powerLevelOfAdmin,
+ )
.toList();
List get classesAndExchangesImTeaching => rooms
- .where((e) =>
- (e.isPangeaClass || e.isExchange) &&
- e.ownPowerLevel == ClassDefaultValues.powerLevelOfAdmin)
+ .where(
+ (e) =>
+ (e.isPangeaClass || e.isExchange) &&
+ e.ownPowerLevel == ClassDefaultValues.powerLevelOfAdmin,
+ )
.toList();
List get classesImIn => rooms
- .where((e) =>
- e.isPangeaClass &&
- e.ownPowerLevel < ClassDefaultValues.powerLevelOfAdmin)
+ .where(
+ (e) =>
+ e.isPangeaClass &&
+ e.ownPowerLevel < ClassDefaultValues.powerLevelOfAdmin,
+ )
.toList();
List get classesAndExchangesImStudyingIn => rooms
- .where((e) =>
- (e.isPangeaClass || e.isExchange) &&
- e.ownPowerLevel < ClassDefaultValues.powerLevelOfAdmin)
+ .where(
+ (e) =>
+ (e.isPangeaClass || e.isExchange) &&
+ e.ownPowerLevel < ClassDefaultValues.powerLevelOfAdmin,
+ )
.toList();
List get classesAndExchangesImIn =>
@@ -104,8 +108,10 @@ extension PangeaClient on Client {
debugger(when: kDebugMode);
analyticsRoom
.join()
- .onError((error, stackTrace) =>
- ErrorHandler.logError(e: error, s: stackTrace))
+ .onError(
+ (error, stackTrace) =>
+ ErrorHandler.logError(e: error, s: stackTrace),
+ )
.then((value) => analyticsRoom.postLoad());
return analyticsRoom;
}
@@ -116,14 +122,14 @@ extension PangeaClient on Client {
final String roomID = await createRoom(
creationContent: {
'type': PangeaRoomTypes.analytics,
- ModelKey.langCode: langCode
+ ModelKey.langCode: langCode,
},
name: "$userID $langCode Analytics",
topic: "This room stores learning analytics for $userID.",
invite: [
- ...(await myTeachers).map((e) => e.id).toList(),
+ ...(await myTeachers).map((e) => e.id),
// BotName.localBot,
- BotName.byEnvironment
+ BotName.byEnvironment,
],
visibility: Visibility.private,
roomAliasName: "${userID!.localpart}_${langCode}_analytics",
diff --git a/lib/pangea/extensions/pangea_event_extension.dart b/lib/pangea/extensions/pangea_event_extension.dart
index 17b566db7..9d4556721 100644
--- a/lib/pangea/extensions/pangea_event_extension.dart
+++ b/lib/pangea/extensions/pangea_event_extension.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
import 'package:fluffychat/pangea/models/choreo_record.dart';
import 'package:fluffychat/pangea/models/message_data_models.dart';
diff --git a/lib/pangea/extensions/pangea_room_extension.dart b/lib/pangea/extensions/pangea_room_extension.dart
index 994614513..f599a5c64 100644
--- a/lib/pangea/extensions/pangea_room_extension.dart
+++ b/lib/pangea/extensions/pangea_room_extension.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
import 'package:matrix/src/utils/space_child.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/constants/pangea_room_types.dart';
@@ -756,8 +752,7 @@ extension PangeaRoom on Room {
}
final toAdd = [
...getParticipants([Membership.invite, Membership.join])
- .map((e) => e.id)
- .toList(),
+ .map((e) => e.id),
BotName.byEnvironment,
];
for (final teacher in await client.myTeachers) {
diff --git a/lib/pangea/guard/p_vguard.dart b/lib/pangea/guard/p_vguard.dart
index 48719c8d7..20ddd35d6 100644
--- a/lib/pangea/guard/p_vguard.dart
+++ b/lib/pangea/guard/p_vguard.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/widgets/matrix.dart';
import '../controllers/pangea_controller.dart';
diff --git a/lib/pangea/models/base_subscription_info.dart b/lib/pangea/models/base_subscription_info.dart
index 82540cecc..604abf6e9 100644
--- a/lib/pangea/models/base_subscription_info.dart
+++ b/lib/pangea/models/base_subscription_info.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
import 'package:fluffychat/pangea/repo/subscription_repo.dart';
diff --git a/lib/pangea/models/chart_analytics_model.dart b/lib/pangea/models/chart_analytics_model.dart
index 46c1bc818..af06a0958 100644
--- a/lib/pangea/models/chart_analytics_model.dart
+++ b/lib/pangea/models/chart_analytics_model.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Project imports:
import 'package:fluffychat/pangea/enum/time_span.dart';
import 'package:fluffychat/pangea/models/student_analytics_summary_model.dart';
import '../enum/use_type.dart';
@@ -28,7 +25,7 @@ class TimeSeriesTotals {
UseType.ta.string: ta,
UseType.ga.string: ga,
UseType.wa.string: wa,
- UseType.un.string: un
+ UseType.un.string: un,
};
factory TimeSeriesTotals.fromJson(json) => TimeSeriesTotals(
@@ -80,7 +77,7 @@ class TimeSeriesInterval {
Map toJson() => {
"strt": start.toIso8601String(),
"end": end.toIso8601String(),
- "totals": totals.toJson()
+ "totals": totals.toJson(),
};
factory TimeSeriesInterval.fromJson(json) => TimeSeriesInterval(
diff --git a/lib/pangea/models/chat_topic_model.dart b/lib/pangea/models/chat_topic_model.dart
index cba79e4ae..c83e3f7c6 100644
--- a/lib/pangea/models/chat_topic_model.dart
+++ b/lib/pangea/models/chat_topic_model.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'lemma.dart';
class ChatTopic {
diff --git a/lib/pangea/models/choreo_init_response.model.dart b/lib/pangea/models/choreo_init_response.model.dart
index d91233ce8..45274bca5 100644
--- a/lib/pangea/models/choreo_init_response.model.dart
+++ b/lib/pangea/models/choreo_init_response.model.dart
@@ -4,8 +4,12 @@ class ChoreoResponseModel {
String? route;
String? feedbackMessage;
int? payloadId;
- ChoreoResponseModel(
- {this.grammarData, this.detectedLang, this.route, this.feedbackMessage});
+ ChoreoResponseModel({
+ this.grammarData,
+ this.detectedLang,
+ this.route,
+ this.feedbackMessage,
+ });
ChoreoResponseModel.fromJson(Map json) {
grammarData = json['grammar_data'] != null
diff --git a/lib/pangea/models/choreo_record.dart b/lib/pangea/models/choreo_record.dart
index 232db0df3..d3612f8f4 100644
--- a/lib/pangea/models/choreo_record.dart
+++ b/lib/pangea/models/choreo_record.dart
@@ -1,7 +1,5 @@
-// Dart imports:
import 'dart:convert';
-// Project imports:
import 'package:fluffychat/pangea/models/pangea_match_model.dart';
import 'package:fluffychat/pangea/models/pangea_token_model.dart';
import '../constants/choreo_constants.dart';
@@ -69,8 +67,13 @@ class ChoreoRecord {
if (match != null && step != null) {
throw Exception("match and step should not both be defined");
}
- choreoSteps.add(ChoreoRecordStep(
- text: text, acceptedOrIgnoredMatch: match, itStep: step));
+ choreoSteps.add(
+ ChoreoRecordStep(
+ text: text,
+ acceptedOrIgnoredMatch: match,
+ itStep: step,
+ ),
+ );
}
bool get hasAcceptedMatches => choreoSteps.any(
@@ -120,23 +123,30 @@ class ChoreoRecord {
/// for each continuance
/// if not within the final message, save ignIT/incIT
List toVocabUse(
- List tokens, String chatId, String msgId) {
+ List tokens,
+ String chatId,
+ String msgId,
+ ) {
final List uses = [];
final DateTime now = DateTime.now();
List lemmasToVocabUses(
- List lemmas, ConstructUseType type) {
+ List lemmas,
+ ConstructUseType type,
+ ) {
final List uses = [];
for (final lemma in lemmas) {
if (lemma.saveVocab) {
- uses.add(OneConstructUse(
- useType: type,
- chatId: chatId,
- timeStamp: now,
- lemma: lemma.text,
- form: lemma.form,
- msgId: msgId,
- constructType: ConstructType.vocab,
- ));
+ uses.add(
+ OneConstructUse(
+ useType: type,
+ chatId: chatId,
+ timeStamp: now,
+ lemma: lemma.text,
+ form: lemma.form,
+ msgId: msgId,
+ constructType: ConstructType.vocab,
+ ),
+ );
}
}
return uses;
@@ -147,9 +157,11 @@ class ChoreoRecord {
/// if 1) accepted match 2) token is in the replacement and 3) replacement
/// is in the overall step text, then token was a ga
if (step.acceptedOrIgnoredMatch?.status == PangeaMatchStatus.accepted &&
- (step.acceptedOrIgnoredMatch!.match.choices?.any((r) =>
- r.value.contains(token.text.content) &&
- step.text.contains(r.value)) ??
+ (step.acceptedOrIgnoredMatch!.match.choices?.any(
+ (r) =>
+ r.value.contains(token.text.content) &&
+ step.text.contains(r.value),
+ ) ??
false)) {
return lemmasToVocabUses(token.lemmas, ConstructUseType.ga);
}
@@ -206,15 +218,17 @@ class ChoreoRecord {
final String name = step.acceptedOrIgnoredMatch!.match.rule?.id ??
step.acceptedOrIgnoredMatch!.match.shortMessage ??
step.acceptedOrIgnoredMatch!.match.type.typeName.name;
- uses.add(OneConstructUse(
- useType: ConstructUseType.ga,
- chatId: chatId,
- timeStamp: now,
- lemma: name,
- form: name,
- msgId: msgId,
- constructType: ConstructType.grammar,
- ));
+ uses.add(
+ OneConstructUse(
+ useType: ConstructUseType.ga,
+ chatId: chatId,
+ timeStamp: now,
+ lemma: name,
+ form: name,
+ msgId: msgId,
+ constructType: ConstructType.grammar,
+ ),
+ );
}
}
return uses;
@@ -254,11 +268,15 @@ class ChoreoRecordStep {
ITStep? itStep;
- ChoreoRecordStep(
- {required this.text, this.acceptedOrIgnoredMatch, this.itStep}) {
+ ChoreoRecordStep({
+ required this.text,
+ this.acceptedOrIgnoredMatch,
+ this.itStep,
+ }) {
if (itStep != null && acceptedOrIgnoredMatch != null) {
throw Exception(
- "itStep and acceptedOrIgnoredMatch should not both be defined");
+ "itStep and acceptedOrIgnoredMatch should not both be defined",
+ );
}
}
diff --git a/lib/pangea/models/class_analytics_model.dart b/lib/pangea/models/class_analytics_model.dart
index b908a983f..3e37ee4d1 100644
--- a/lib/pangea/models/class_analytics_model.dart
+++ b/lib/pangea/models/class_analytics_model.dart
@@ -1,4 +1,3 @@
-// Package imports:
import 'package:intl/intl.dart';
class ClassAnalyticsModel {
@@ -15,11 +14,11 @@ class ClassAnalyticsModel {
}
Map toJson() {
- final _data = {};
- _data['class_id'] = classId;
- _data['user_ids'] = userIds;
- _data['analytics'] = analytics.map((e) => e.toJson()).toList();
- return _data;
+ final data = {};
+ data['class_id'] = classId;
+ data['user_ids'] = userIds;
+ data['analytics'] = analytics.map((e) => e.toJson()).toList();
+ return data;
}
}
@@ -38,10 +37,10 @@ class Analytics {
}
Map toJson() {
- final _data = {};
- _data['title'] = title;
- _data['section'] = section.map((e) => e.toJson()).toList();
- return _data;
+ final data = {};
+ data['title'] = title;
+ data['section'] = section.map((e) => e.toJson()).toList();
+ return data;
}
}
@@ -62,11 +61,11 @@ class Section {
}
Map toJson() {
- final _data = {};
- _data['title'] = title;
- _data['class_total'] = classTotal;
- _data['data'] = data.map((e) => e.toJson()).toList();
- return _data;
+ final data = {};
+ data['title'] = title;
+ data['class_total'] = classTotal;
+ data['data'] = data.map((e) => e.toJson()).toList();
+ return data;
}
}
@@ -74,9 +73,6 @@ class Data {
Data();
set value(String val) => _value = val;
String get value {
- if (_value == null) {
- return _value.toString();
- }
if (value_type == 'date') {
return DateFormat('yyyy/M/dd hh:mm a')
.format(DateTime.parse(_value).toLocal())
@@ -95,10 +91,10 @@ class Data {
}
Map toJson() {
- final _data = {};
- _data['user_id'] = userId;
- _data['value'] = _value;
- _data['value_type'] = value_type;
- return _data;
+ final data = {};
+ data['user_id'] = userId;
+ data['value'] = _value;
+ data['value_type'] = value_type;
+ return data;
}
}
diff --git a/lib/pangea/models/class_model.dart b/lib/pangea/models/class_model.dart
index bd4c6d73e..1f588980c 100644
--- a/lib/pangea/models/class_model.dart
+++ b/lib/pangea/models/class_model.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../constants/class_default_values.dart';
@@ -48,9 +44,11 @@ class ClassSettingsModel {
city: json['city'],
country: json['country'],
dominantLanguage: LanguageModel.codeFromNameOrCode(
- json['dominant_language'] ?? LanguageKeys.unknownLanguage),
+ json['dominant_language'] ?? LanguageKeys.unknownLanguage,
+ ),
targetLanguage: LanguageModel.codeFromNameOrCode(
- json['target_language'] ?? LanguageKeys.unknownLanguage),
+ json['target_language'] ?? LanguageKeys.unknownLanguage,
+ ),
languageLevel: json['language_level'],
schoolName: json['school_name'],
);
diff --git a/lib/pangea/models/construct_analytics_event.dart b/lib/pangea/models/construct_analytics_event.dart
index e9cec2676..66921b8a2 100644
--- a/lib/pangea/models/construct_analytics_event.dart
+++ b/lib/pangea/models/construct_analytics_event.dart
@@ -1,7 +1,5 @@
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/constructs_analytics_model.dart';
import '../constants/pangea_event_types.dart';
diff --git a/lib/pangea/models/constructs_analytics_model.dart b/lib/pangea/models/constructs_analytics_model.dart
index e72288543..672467d56 100644
--- a/lib/pangea/models/constructs_analytics_model.dart
+++ b/lib/pangea/models/constructs_analytics_model.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import '../enum/construct_type_enum.dart';
@@ -31,13 +28,15 @@ class ConstructUses {
factory ConstructUses.fromJson(Map json) {
// try {
debugger(
- when: kDebugMode &&
- (json['uses'] == null || json[ModelKey.lemma] == null));
+ when:
+ kDebugMode && (json['uses'] == null || json[ModelKey.lemma] == null),
+ );
return ConstructUses(
lemma: json[ModelKey.lemma],
uses: (json['uses'] as Iterable)
.map(
- (use) => use != null ? OneConstructUse.fromJson(use) : null)
+ (use) => use != null ? OneConstructUse.fromJson(use) : null,
+ )
.where((element) => element != null)
.cast()
.toList(),
diff --git a/lib/pangea/models/custom_input_translation_model.dart b/lib/pangea/models/custom_input_translation_model.dart
index 9b96db343..7d2989d73 100644
--- a/lib/pangea/models/custom_input_translation_model.dart
+++ b/lib/pangea/models/custom_input_translation_model.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
class CustomInputRequestModel {
@@ -37,6 +36,6 @@ class CustomInputRequestModel {
ModelKey.tgtLang: targetLangCode,
'user_id': userId,
'room_id': roomId,
- 'class_id': classId
+ 'class_id': classId,
};
}
diff --git a/lib/pangea/models/exchange_model.dart b/lib/pangea/models/exchange_model.dart
index d311193db..42ce2a175 100644
--- a/lib/pangea/models/exchange_model.dart
+++ b/lib/pangea/models/exchange_model.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import 'class_model.dart';
diff --git a/lib/pangea/models/headwords.dart b/lib/pangea/models/headwords.dart
index 00917d31f..cd0a68108 100644
--- a/lib/pangea/models/headwords.dart
+++ b/lib/pangea/models/headwords.dart
@@ -1,12 +1,9 @@
-// Dart imports:
import 'dart:convert';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/constructs_analytics_model.dart';
import '../enum/vocab_proficiency_enum.dart';
@@ -22,10 +19,12 @@ class VocabHeadwords {
factory VocabHeadwords.fromJson(Map json) {
final List lists = [];
for (final entry in json.entries) {
- lists.add(VocabList(
- name: entry.key,
- lemmas: (entry.value as Iterable).cast().toList(),
- ));
+ lists.add(
+ VocabList(
+ name: entry.key,
+ lemmas: (entry.value as Iterable).cast().toList(),
+ ),
+ );
}
return VocabHeadwords(lists: lists);
}
diff --git a/lib/pangea/models/igc_text_data_model.dart b/lib/pangea/models/igc_text_data_model.dart
index aff53a2c1..04be9b485 100644
--- a/lib/pangea/models/igc_text_data_model.dart
+++ b/lib/pangea/models/igc_text_data_model.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/pangea_match_model.dart';
import 'package:fluffychat/pangea/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/models/span_card_model.dart';
@@ -217,7 +213,7 @@ class IGCTextData {
Breadcrumb.fromJson(
{
"fullText": originalInput,
- "tokens": tokens.map((e) => e.toJson()).toString()
+ "tokens": tokens.map((e) => e.toJson()).toString(),
},
),
);
@@ -296,21 +292,23 @@ class IGCTextData {
? topTokenMatch.textStyle(defaultStyle)
: hasDefinitionStyle(defaultStyle);
- items.add(TextSpan(
- text: token.text.content,
- style: tokenStyle,
- recognizer: handleClick
- ? (TapGestureRecognizer()
- ..onTapDown = (details) => OverlayUtil.showPositionedCard(
- context: context,
- cardToShow: cardToShow,
- cardSize: topTokenMatch?.isITStart ?? false
- ? const Size(350, 220)
- : const Size(350, 400),
- transformTargetId: transformTargetId,
- ))
- : null,
- ));
+ items.add(
+ TextSpan(
+ text: token.text.content,
+ style: tokenStyle,
+ recognizer: handleClick
+ ? (TapGestureRecognizer()
+ ..onTapDown = (details) => OverlayUtil.showPositionedCard(
+ context: context,
+ cardToShow: cardToShow,
+ cardSize: topTokenMatch?.isITStart ?? false
+ ? const Size(350, 220)
+ : const Size(350, 400),
+ transformTargetId: transformTargetId,
+ ))
+ : null,
+ ),
+ );
final int charBetween = getAfterTokenSpacingByIndex(
index,
diff --git a/lib/pangea/models/it_response_model.dart b/lib/pangea/models/it_response_model.dart
index 83c3092cd..86a9c7a4c 100644
--- a/lib/pangea/models/it_response_model.dart
+++ b/lib/pangea/models/it_response_model.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/choreo_constants.dart';
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/extensions/my_list_extionsion.dart';
diff --git a/lib/pangea/models/it_step.dart b/lib/pangea/models/it_step.dart
index 158a85226..f06bd7401 100644
--- a/lib/pangea/models/it_step.dart
+++ b/lib/pangea/models/it_step.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import '../constants/choreo_constants.dart';
import 'it_response_model.dart';
diff --git a/lib/pangea/models/language_model.dart b/lib/pangea/models/language_model.dart
index 79ecd14c9..d7b6409b5 100644
--- a/lib/pangea/models/language_model.dart
+++ b/lib/pangea/models/language_model.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/language_keys.dart';
import '../utils/error_handler.dart';
@@ -78,12 +74,13 @@ class LanguageModel {
//PTODO - add flag for unknown
static LanguageModel get unknown => LanguageModel(
- langCode: LanguageKeys.unknownLanguage,
- languageType: 1,
- languageFlag: "",
- displayName: "Unknown",
- l2: false,
- l1: false);
+ langCode: LanguageKeys.unknownLanguage,
+ languageType: 1,
+ languageFlag: "",
+ displayName: "Unknown",
+ l2: false,
+ l1: false,
+ );
static LanguageModel multiLingual([BuildContext? context]) => LanguageModel(
displayName: context != null
@@ -526,7 +523,7 @@ class _LanguageLocal {
"ce": {"name": "Chechen", "nativeName": "нохчийн мотт"},
"ny": {
"name": "Chichewa, Chewa, Nyanja",
- "nativeName": "chiCheŵa, chinyanja"
+ "nativeName": "chiCheŵa, chinyanja",
},
"zh": {"name": "Chinese", "nativeName": "中文 (Zhōngwén), 汉语, 漢語"},
"cv": {"name": "Chuvash", "nativeName": "чӑваш чӗлхи"},
@@ -548,7 +545,7 @@ class _LanguageLocal {
"fr": {"name": "French", "nativeName": "français, langue française"},
"ff": {
"name": "Fula; Fulah; Pulaar; Pular",
- "nativeName": "Fulfulde, Pulaar, Pular"
+ "nativeName": "Fulfulde, Pulaar, Pular",
},
"gl": {"name": "Galician", "nativeName": "Galego"},
"ka": {"name": "Georgian", "nativeName": "ქართული"},
@@ -567,7 +564,7 @@ class _LanguageLocal {
"id": {"name": "Indonesian", "nativeName": "Bahasa Indonesia"},
"ie": {
"name": "Interlingue",
- "nativeName": "Originally called Occidental; then Interlingue after WWII"
+ "nativeName": "Originally called Occidental; then Interlingue after WWII",
},
"ga": {"name": "Irish", "nativeName": "Gaeilge"},
"ig": {"name": "Igbo", "nativeName": "Asụsụ Igbo"},
@@ -580,7 +577,7 @@ class _LanguageLocal {
"jv": {"name": "Javanese", "nativeName": "basa Jawa"},
"kl": {
"name": "Kalaallisut, Greenlandic",
- "nativeName": "kalaallisut, kalaallit oqaasii"
+ "nativeName": "kalaallisut, kalaallit oqaasii",
},
"kn": {"name": "Kannada", "nativeName": "ಕನ್ನಡ"},
"kr": {"name": "Kanuri", "nativeName": "Kanuri"},
@@ -598,12 +595,12 @@ class _LanguageLocal {
"la": {"name": "Latin", "nativeName": "latine, lingua latina"},
"lb": {
"name": "Luxembourgish, Letzeburgesch",
- "nativeName": "Lëtzebuergesch"
+ "nativeName": "Lëtzebuergesch",
},
"lg": {"name": "Luganda", "nativeName": "Luganda"},
"li": {
"name": "Limburgish, Limburgan, Limburger",
- "nativeName": "Limburgs"
+ "nativeName": "Limburgs",
},
"ln": {"name": "Lingala", "nativeName": "Lingála"},
"lo": {"name": "Lao", "nativeName": "ພາສາລາວ"},
@@ -635,7 +632,7 @@ class _LanguageLocal {
"cu": {
"name":
"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
- "nativeName": "ѩзыкъ словѣньскъ"
+ "nativeName": "ѩзыкъ словѣньскъ",
},
"om": {"name": "Oromo", "nativeName": "Afaan Oromoo"},
"or": {"name": "Oriya", "nativeName": "ଓଡ଼ିଆ"},
@@ -677,7 +674,7 @@ class _LanguageLocal {
"ti": {"name": "Tigrinya", "nativeName": "ትግርኛ"},
"bo": {
"name": "Tibetan Standard, Tibetan, Central",
- "nativeName": "བོད་ཡིག"
+ "nativeName": "བོད་ཡིག",
},
"tk": {"name": "Turkmen", "nativeName": "Türkmen, Түркмен"},
"tl": {"name": "Tagalog", "nativeName": "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},
diff --git a/lib/pangea/models/message_data_models.dart b/lib/pangea/models/message_data_models.dart
index 8518b8b9e..1ed2f36ce 100644
--- a/lib/pangea/models/message_data_models.dart
+++ b/lib/pangea/models/message_data_models.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/pangea_token_model.dart';
/// this class is contained within a [RepresentationEvent]
diff --git a/lib/pangea/models/mobile_subscriptions.dart b/lib/pangea/models/mobile_subscriptions.dart
index 7988fee18..128724b9e 100644
--- a/lib/pangea/models/mobile_subscriptions.dart
+++ b/lib/pangea/models/mobile_subscriptions.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:io';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:purchases_flutter/purchases_flutter.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
import 'package:fluffychat/pangea/models/base_subscription_info.dart';
@@ -161,17 +157,22 @@ class MobileSubscriptionInfo extends SubscriptionInfo {
);
}
- final List activeEntitlements = info
- .entitlements.all.entries
- .where((MapEntry entry) =>
- entry.value.expirationDate == null ||
- DateTime.parse(entry.value.expirationDate!).isAfter(DateTime.now()))
- .map((MapEntry entry) => entry.value)
- .toList();
+ final List activeEntitlements =
+ info.entitlements.all.entries
+ .where(
+ (MapEntry entry) =>
+ entry.value.expirationDate == null ||
+ DateTime.parse(entry.value.expirationDate!)
+ .isAfter(DateTime.now()),
+ )
+ .map((MapEntry entry) => entry.value)
+ .toList();
allEntitlements = info.entitlements.all.entries
- .map((MapEntry entry) =>
- entry.value.productIdentifier)
+ .map(
+ (MapEntry entry) =>
+ entry.value.productIdentifier,
+ )
.cast()
.toList();
diff --git a/lib/pangea/models/pangea_choreo_event.dart b/lib/pangea/models/pangea_choreo_event.dart
index 21d70923a..f28f04b04 100644
--- a/lib/pangea/models/pangea_choreo_event.dart
+++ b/lib/pangea/models/pangea_choreo_event.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/extensions/pangea_event_extension.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../constants/pangea_event_types.dart';
diff --git a/lib/pangea/models/pangea_match_model.dart b/lib/pangea/models/pangea_match_model.dart
index 55145c401..c7e97f4c0 100644
--- a/lib/pangea/models/pangea_match_model.dart
+++ b/lib/pangea/models/pangea_match_model.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/enum/span_data_type.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../constants/match_rule_ids.dart';
@@ -73,7 +70,7 @@ class PangeaMatch {
bool get needsTranslation => match.rule?.id != null
? [
MatchRuleIds.tokenNeedsTranslation,
- MatchRuleIds.tokenSpanNeedsTranslation
+ MatchRuleIds.tokenSpanNeedsTranslation,
].contains(match.rule!.id)
: false;
@@ -84,7 +81,7 @@ class PangeaMatch {
Map toJson() => {
_matchKey: match.toJson(),
// _detectionsKey: detections.map((e) => e.toJson()).toList(),
- _statusKey: _statusEnumToString(status)
+ _statusKey: _statusEnumToString(status),
};
String get matchContent {
@@ -101,8 +98,9 @@ class PangeaMatch {
end = match.fullText.length;
debugger(when: kDebugMode);
ErrorHandler.logError(
- m: "match.offset + match.length > match.fullText.length",
- data: match.toJson());
+ m: "match.offset + match.length > match.fullText.length",
+ data: match.toJson(),
+ );
} else {
end = match.offset + match.length;
}
diff --git a/lib/pangea/models/pangea_message_event.dart b/lib/pangea/models/pangea_message_event.dart
index 276b21c3a..b56402c08 100644
--- a/lib/pangea/models/pangea_message_event.dart
+++ b/lib/pangea/models/pangea_message_event.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/pangea_message_types.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/models/choreo_record.dart';
diff --git a/lib/pangea/models/pangea_representation_event.dart b/lib/pangea/models/pangea_representation_event.dart
index 8bc4112de..49e0f9358 100644
--- a/lib/pangea/models/pangea_representation_event.dart
+++ b/lib/pangea/models/pangea_representation_event.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/extensions/pangea_event_extension.dart';
import 'package:fluffychat/pangea/models/pangea_choreo_event.dart';
import 'package:fluffychat/pangea/models/pangea_token_model.dart';
diff --git a/lib/pangea/models/pangea_text_tap.dart b/lib/pangea/models/pangea_text_tap.dart
index d409f6e85..013082ce6 100644
--- a/lib/pangea/models/pangea_text_tap.dart
+++ b/lib/pangea/models/pangea_text_tap.dart
@@ -3,17 +3,18 @@ class PTextTapModel {
late String word;
late bool isHighLighted;
late int textAtOffSet;
- PTextTapModel(
- {required this.cursorOffset,
- required this.isHighLighted,
- required this.textAtOffSet,
- required this.word});
+ PTextTapModel({
+ required this.cursorOffset,
+ required this.isHighLighted,
+ required this.textAtOffSet,
+ required this.word,
+ });
toJson() {
return {
'cursorOffset': cursorOffset,
'word': word,
'isHighlighted': isHighLighted,
- 'textAtOffSet': textAtOffSet
+ 'textAtOffSet': textAtOffSet,
};
}
}
diff --git a/lib/pangea/models/pangea_token_model.dart b/lib/pangea/models/pangea_token_model.dart
index 5f828fae3..217cdc55b 100644
--- a/lib/pangea/models/pangea_token_model.dart
+++ b/lib/pangea/models/pangea_token_model.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import '../constants/model_keys.dart';
import '../utils/error_handler.dart';
import 'lemma.dart';
@@ -76,15 +72,19 @@ class PangeaTokenText {
String content;
int length;
- PangeaTokenText(
- {required this.offset, required this.content, required this.length});
+ PangeaTokenText({
+ required this.offset,
+ required this.content,
+ required this.length,
+ });
factory PangeaTokenText.fromJson(Map json) {
debugger(when: kDebugMode && json[_offsetKey] == null);
return PangeaTokenText(
- offset: json[_offsetKey],
- content: json[_contentKey],
- length: json[_lengthKey] ?? (json[_contentKey] as String).length);
+ offset: json[_offsetKey],
+ content: json[_contentKey],
+ length: json[_lengthKey] ?? (json[_contentKey] as String).length,
+ );
}
static const String _offsetKey = "offset";
diff --git a/lib/pangea/models/pangea_tokens_event.dart b/lib/pangea/models/pangea_tokens_event.dart
index bb747b8cc..244455766 100644
--- a/lib/pangea/models/pangea_tokens_event.dart
+++ b/lib/pangea/models/pangea_tokens_event.dart
@@ -1,7 +1,5 @@
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/extensions/pangea_event_extension.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../constants/pangea_event_types.dart';
diff --git a/lib/pangea/models/removed_translation.dart b/lib/pangea/models/removed_translation.dart
index 5605e44c6..6887476fe 100644
--- a/lib/pangea/models/removed_translation.dart
+++ b/lib/pangea/models/removed_translation.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'it_response_model.dart';
class RemovedTranslation {
diff --git a/lib/pangea/models/span_card_model.dart b/lib/pangea/models/span_card_model.dart
index 17cd44156..8a252e67b 100644
--- a/lib/pangea/models/span_card_model.dart
+++ b/lib/pangea/models/span_card_model.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
import 'package:fluffychat/pangea/models/pangea_match_model.dart';
diff --git a/lib/pangea/models/span_data.dart b/lib/pangea/models/span_data.dart
index 70af44d39..186e2834e 100644
--- a/lib/pangea/models/span_data.dart
+++ b/lib/pangea/models/span_data.dart
@@ -4,13 +4,10 @@
// SpanChoice of text in message from options
// Call to server for additional/followup info
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
-// Project imports:
import '../enum/span_choice_type.dart';
import '../enum/span_data_type.dart';
@@ -114,7 +111,8 @@ class SpanChoice {
value: json['value'] as String,
type: json['type'] != null
? SpanChoiceType.values.firstWhereOrNull(
- (element) => element.name == json['type']) ??
+ (element) => element.name == json['type'],
+ ) ??
SpanChoiceType.bestCorrection
: SpanChoiceType.bestCorrection,
feedback: json['feedback'],
diff --git a/lib/pangea/models/student_analytics_event.dart b/lib/pangea/models/student_analytics_event.dart
index cb6cefafa..738014bb8 100644
--- a/lib/pangea/models/student_analytics_event.dart
+++ b/lib/pangea/models/student_analytics_event.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/models/student_analytics_summary_model.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
@@ -116,7 +112,10 @@ class StudentAnalyticsEvent {
}
Future getTimeServiesInterval(
- DateTime start, DateTime end, String? chatId) async {
+ DateTime start,
+ DateTime end,
+ String? chatId,
+ ) async {
final TimeSeriesInterval interval = TimeSeriesInterval(
start: start,
end: end,
diff --git a/lib/pangea/models/student_analytics_summary_model.dart b/lib/pangea/models/student_analytics_summary_model.dart
index 9cc4a0a17..682768b28 100644
--- a/lib/pangea/models/student_analytics_summary_model.dart
+++ b/lib/pangea/models/student_analytics_summary_model.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Project imports:
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../enum/use_type.dart';
@@ -88,7 +85,7 @@ class StudentAnalyticsSummary {
Map toJson() => {
_messagesKey: jsonEncode(_messages.map((e) => e.toJson()).toList()),
- _lastUpdatedKey: lastUpdated.toIso8601String()
+ _lastUpdatedKey: lastUpdated.toIso8601String(),
};
factory StudentAnalyticsSummary.fromJson(json) {
diff --git a/lib/pangea/models/system_choice_translation_model.dart b/lib/pangea/models/system_choice_translation_model.dart
index e6dcf1794..6914044d3 100644
--- a/lib/pangea/models/system_choice_translation_model.dart
+++ b/lib/pangea/models/system_choice_translation_model.dart
@@ -1,4 +1,3 @@
-// Project imports:
import '../constants/model_keys.dart';
class SystemChoiceRequestModel {
diff --git a/lib/pangea/models/textChangeModel.dart b/lib/pangea/models/textChangeModel.dart
index 333604fae..38a988df8 100644
--- a/lib/pangea/models/textChangeModel.dart
+++ b/lib/pangea/models/textChangeModel.dart
@@ -1,4 +1,3 @@
-// Project imports:
import '../enum/direction.dart';
import '../enum/edit_type.dart';
diff --git a/lib/pangea/models/user_model.dart b/lib/pangea/models/user_model.dart
index a7ffe5851..cd8fa3aac 100644
--- a/lib/pangea/models/user_model.dart
+++ b/lib/pangea/models/user_model.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:country_picker/country_picker.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import '../constants/language_keys.dart';
import 'language_model.dart';
@@ -70,9 +66,11 @@ class Profile {
factory Profile.fromJson(Map json) {
final l2 = LanguageModel.codeFromNameOrCode(
- json[ModelKey.l2LanguageKey] ?? LanguageKeys.unknownLanguage);
+ json[ModelKey.l2LanguageKey] ?? LanguageKeys.unknownLanguage,
+ );
final l1 = LanguageModel.codeFromNameOrCode(
- json[ModelKey.l1LanguageKey] ?? LanguageKeys.unknownLanguage);
+ json[ModelKey.l1LanguageKey] ?? LanguageKeys.unknownLanguage,
+ );
return Profile(
// fullName: json[ModelKey.userFullName],
diff --git a/lib/pangea/models/user_profile_search_model.dart b/lib/pangea/models/user_profile_search_model.dart
index 4235bdaaa..de8822b04 100644
--- a/lib/pangea/models/user_profile_search_model.dart
+++ b/lib/pangea/models/user_profile_search_model.dart
@@ -1,8 +1,3 @@
-// Dart imports:
-import 'dart:convert';
-import 'dart:developer';
-
-// Project imports:
import 'user_model.dart';
class UserProfileSearchResponse {
diff --git a/lib/pangea/models/web_subscriptions.dart b/lib/pangea/models/web_subscriptions.dart
index d8f001ea0..788465916 100644
--- a/lib/pangea/models/web_subscriptions.dart
+++ b/lib/pangea/models/web_subscriptions.dart
@@ -1,7 +1,5 @@
-// Package imports:
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
import 'package:fluffychat/pangea/models/base_subscription_info.dart';
import 'package:fluffychat/pangea/repo/subscription_repo.dart';
diff --git a/lib/pangea/models/widget_measurement.dart b/lib/pangea/models/widget_measurement.dart
index d9bf48bb9..7229c219a 100644
--- a/lib/pangea/models/widget_measurement.dart
+++ b/lib/pangea/models/widget_measurement.dart
@@ -1,4 +1,3 @@
-// Flutter imports:
import 'package:flutter/material.dart';
class WidgetMeasurements {
@@ -7,7 +6,10 @@ class WidgetMeasurements {
static WidgetMeasurements defaultFromKey(String key) {
if (_fromKey[key] == null) {
_fromKey[key] = WidgetMeasurements(
- position: const Offset(0, 0), size: const Size(0, 0), uid: key);
+ position: const Offset(0, 0),
+ size: const Size(0, 0),
+ uid: key,
+ );
}
final WidgetMeasurements? weg = _fromKey[key];
@@ -17,8 +19,11 @@ class WidgetMeasurements {
Offset? position;
Size? size;
String? uid;
- WidgetMeasurements(
- {required this.position, required this.size, required this.uid});
+ WidgetMeasurements({
+ required this.position,
+ required this.size,
+ required this.uid,
+ });
toJson() => {'position': position, 'size': size, 'uid': uid};
}
diff --git a/lib/pangea/models/word_data_model.dart b/lib/pangea/models/word_data_model.dart
index 07e04150f..838240725 100644
--- a/lib/pangea/models/word_data_model.dart
+++ b/lib/pangea/models/word_data_model.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/widgets/igc/word_data_card.dart';
diff --git a/lib/pangea/network/p_api_exception.dart b/lib/pangea/network/p_api_exception.dart
index 26562f53f..66c54dd51 100644
--- a/lib/pangea/network/p_api_exception.dart
+++ b/lib/pangea/network/p_api_exception.dart
@@ -1,10 +1,5 @@
-// Dart imports:
-import 'dart:convert';
-
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Project imports:
import '../utils/p_toast.dart';
class ApiException {
@@ -23,7 +18,9 @@ class ApiException {
debugPrint(statusCode.toString());
}
PToastController.toastMsg(
- msg: "Exception: Unauthorized access", success: false);
+ msg: "Exception: Unauthorized access",
+ success: false,
+ );
return;
case 403:
@@ -32,7 +29,9 @@ class ApiException {
debugPrint(statusCode.toString());
}
PToastController.toastMsg(
- msg: "Exception: Don't have permissions!", success: false);
+ msg: "Exception: Don't have permissions!",
+ success: false,
+ );
return;
case 500:
if (kDebugMode) {
@@ -40,7 +39,9 @@ class ApiException {
debugPrint(statusCode.toString());
}
PToastController.toastMsg(
- msg: "Exception: Internal Server Error", success: false);
+ msg: "Exception: Internal Server Error",
+ success: false,
+ );
return;
case 502:
if (kDebugMode) {
@@ -48,7 +49,9 @@ class ApiException {
debugPrint(statusCode.toString());
}
PToastController.toastMsg(
- msg: "Exception: Bad Gateway", success: false);
+ msg: "Exception: Bad Gateway",
+ success: false,
+ );
return;
case 503:
@@ -57,7 +60,9 @@ class ApiException {
debugPrint(statusCode.toString());
}
PToastController.toastMsg(
- msg: "Exception: Service Unavailable", success: false);
+ msg: "Exception: Service Unavailable",
+ success: false,
+ );
return;
case 504:
@@ -66,7 +71,9 @@ class ApiException {
debugPrint(statusCode.toString());
}
PToastController.toastMsg(
- msg: "Exception: Gateway timeout error!", success: false);
+ msg: "Exception: Gateway timeout error!",
+ success: false,
+ );
return;
default:
@@ -75,7 +82,9 @@ class ApiException {
debugPrint(statusCode.toString());
}
PToastController.toastMsg(
- msg: "Unknown exception accrued!", success: false);
+ msg: "Unknown exception accrued!",
+ success: false,
+ );
return;
}
}
diff --git a/lib/pangea/network/requests.dart b/lib/pangea/network/requests.dart
index e58c2e8fc..5cad3cf6c 100644
--- a/lib/pangea/network/requests.dart
+++ b/lib/pangea/network/requests.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:http/http.dart' as http;
import 'package:sentry_flutter/sentry_flutter.dart';
@@ -14,14 +11,17 @@ class Requests {
late String? matrixAccessToken;
late String? choreoApiKey;
//Question: How can we make baseUrl optional?
- Requests(
- {this.accessToken,
- this.baseUrl = '',
- this.matrixAccessToken,
- this.choreoApiKey});
+ Requests({
+ this.accessToken,
+ this.baseUrl = '',
+ this.matrixAccessToken,
+ this.choreoApiKey,
+ });
- Future post(
- {required String url, required Map body}) async {
+ Future post({
+ required String url,
+ required Map body,
+ }) async {
dynamic encoded;
encoded = jsonEncode(body);
@@ -37,8 +37,10 @@ class Requests {
return response;
}
- Future put(
- {required String url, required Map body}) async {
+ Future put({
+ required String url,
+ required Map body,
+ }) async {
dynamic encoded;
encoded = jsonEncode(body);
@@ -87,8 +89,11 @@ class Requests {
return json;
}
- void handleError(http.Response response,
- {Map? body, String? objectId}) {
+ void handleError(
+ http.Response response, {
+ Map? body,
+ String? objectId,
+ }) {
//PTODO - handle 401 error - unauthorized call
//kick them back to login?
diff --git a/lib/pangea/network/urls.dart b/lib/pangea/network/urls.dart
index 602dde257..0cd4c2e9c 100644
--- a/lib/pangea/network/urls.dart
+++ b/lib/pangea/network/urls.dart
@@ -1,6 +1,5 @@
//TODO move baseAPI addition to request function
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
/// autodocs
diff --git a/lib/pangea/pages/analytics/analytics_list_tile.dart b/lib/pangea/pages/analytics/analytics_list_tile.dart
index e1b8db63e..1120d31d5 100644
--- a/lib/pangea/pages/analytics/analytics_list_tile.dart
+++ b/lib/pangea/pages/analytics/analytics_list_tile.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import '../../../../utils/date_time_extension.dart';
import '../../../widgets/avatar.dart';
@@ -17,7 +14,7 @@ import 'list_summary_analytics.dart';
class AnalyticsListTile extends StatelessWidget {
const AnalyticsListTile({
- Key? key,
+ super.key,
required this.model,
required this.displayName,
required this.avatar,
@@ -26,7 +23,7 @@ class AnalyticsListTile extends StatelessWidget {
required this.selected,
required this.onTap,
required this.allowNavigateOnSelect,
- }) : super(key: key);
+ });
final Uri? avatar;
final String displayName;
diff --git a/lib/pangea/pages/analytics/bar_chart_card.dart b/lib/pangea/pages/analytics/bar_chart_card.dart
index 4199d8ff7..a81f3e5c5 100644
--- a/lib/pangea/pages/analytics/bar_chart_card.dart
+++ b/lib/pangea/pages/analytics/bar_chart_card.dart
@@ -1,17 +1,15 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:fl_chart/fl_chart.dart';
class BarChartCard extends StatelessWidget {
const BarChartCard({
- Key? key,
+ super.key,
required this.barChartTitle,
required this.barChart,
required this.legend,
required this.loadingData,
- }) : super(key: key);
+ });
final String barChartTitle;
final BarChart? barChart;
diff --git a/lib/pangea/pages/analytics/bar_chart_placeholder_data.dart b/lib/pangea/pages/analytics/bar_chart_placeholder_data.dart
index 46f710fed..113d34af1 100644
--- a/lib/pangea/pages/analytics/bar_chart_placeholder_data.dart
+++ b/lib/pangea/pages/analytics/bar_chart_placeholder_data.dart
@@ -1,15 +1,14 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:fl_chart/fl_chart.dart';
-// Project imports:
import '../../enum/use_type.dart';
class BarChartPlaceHolderData {
static BarChartRodData randomBarChartRodData(
- BuildContext context, int index) {
+ BuildContext context,
+ int index,
+ ) {
// final total = Random().nextInt(100);
// final it = total != 0 ? Random().nextInt(max(total - index, 1)) : 0;
// final igc = total != 0 ? Random().nextInt(max(total - it - index, 1)) : 0;
@@ -57,7 +56,7 @@ class BarChartPlaceHolderData {
14,
15,
16,
- 17
+ 17,
];
final List barChartGroupData = [];
@@ -78,7 +77,10 @@ class BarChartPlaceHolderData {
}
static List getData(
- Color dark, Color normal, Color light) {
+ Color dark,
+ Color normal,
+ Color light,
+ ) {
const double barSpace = 16;
return [
diff --git a/lib/pangea/pages/analytics/base_analytics_page.dart b/lib/pangea/pages/analytics/base_analytics_page.dart
index 3c4924199..f17c12e53 100644
--- a/lib/pangea/pages/analytics/base_analytics_page.dart
+++ b/lib/pangea/pages/analytics/base_analytics_page.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:math';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/enum/construct_type_enum.dart';
import '../../../widgets/layouts/max_width_body.dart';
@@ -31,14 +27,14 @@ class BaseAnalyticsPage extends StatefulWidget {
final AnalyticsSelected? alwaysSelected;
const BaseAnalyticsPage({
- Key? key,
+ super.key,
required this.pageTitle,
required this.tabData1,
required this.tabData2,
required this.defaultAnalyticsSelected,
required this.refreshData,
required this.alwaysSelected,
- }) : super(key: key);
+ });
@override
State createState() => BaseAnalyticsController();
@@ -57,7 +53,9 @@ class BaseAnalyticsController extends State {
bool isSelected(String chatOrStudentId) => chatOrStudentId == selected?.id;
ChartAnalyticsModel? chartData(
- BuildContext context, AnalyticsSelected? selectedParam) {
+ BuildContext context,
+ AnalyticsSelected? selectedParam,
+ ) {
final AnalyticsSelected analyticsSelected =
selectedParam ?? widget.defaultAnalyticsSelected;
@@ -128,9 +126,9 @@ class BaseAnalyticsController extends State {
class BaseAnalyticsView extends StatelessWidget {
const BaseAnalyticsView({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final BaseAnalyticsController controller;
@@ -165,9 +163,10 @@ class BaseAnalyticsView extends StatelessWidget {
title: Text(
controller.widget.pageTitle,
style: TextStyle(
- color: Theme.of(context).textTheme.bodyLarge!.color,
- fontSize: 18,
- fontWeight: FontWeight.w700),
+ color: Theme.of(context).textTheme.bodyLarge!.color,
+ fontSize: 18,
+ fontWeight: FontWeight.w700,
+ ),
overflow: TextOverflow.clip,
textAlign: TextAlign.center,
),
@@ -234,39 +233,35 @@ class BaseAnalyticsView extends StatelessWidget {
child: SingleChildScrollView(
child: SizedBox(
height: max(
- controller.widget.tabData1.items.length + 1,
- controller.widget.tabData2.items.length) *
+ controller.widget.tabData1.items.length + 1,
+ controller.widget.tabData2.items.length,
+ ) *
72,
child: TabBarView(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
- ...controller.widget.tabData1.items
- .map(
- (item) => AnalyticsListTile(
- avatar: item.avatar,
- model: controller.chartData(
- context,
- AnalyticsSelected(
- item.id,
- controller.widget.tabData1.type,
- "",
- ),
- ),
- displayName: item.displayName,
- id: item.id,
- type: controller.widget.tabData1.type,
- selected:
- controller.isSelected(item.id),
- onTap: controller.toggleSelection,
- allowNavigateOnSelect: controller
- .widget
- .tabData1
- .allowNavigateOnSelect,
+ ...controller.widget.tabData1.items.map(
+ (item) => AnalyticsListTile(
+ avatar: item.avatar,
+ model: controller.chartData(
+ context,
+ AnalyticsSelected(
+ item.id,
+ controller.widget.tabData1.type,
+ "",
),
- )
- .toList(),
+ ),
+ displayName: item.displayName,
+ id: item.id,
+ type: controller.widget.tabData1.type,
+ selected: controller.isSelected(item.id),
+ onTap: controller.toggleSelection,
+ allowNavigateOnSelect: controller.widget
+ .tabData1.allowNavigateOnSelect,
+ ),
+ ),
if (controller.widget.defaultAnalyticsSelected
.type ==
AnalyticsEntryType.space)
@@ -286,8 +281,10 @@ class BaseAnalyticsView extends StatelessWidget {
id: controller
.widget.defaultAnalyticsSelected.id,
type: AnalyticsEntryType.privateChats,
- selected: controller.isSelected(controller
- .widget.defaultAnalyticsSelected.id),
+ selected: controller.isSelected(
+ controller
+ .widget.defaultAnalyticsSelected.id,
+ ),
onTap: controller.toggleSelection,
allowNavigateOnSelect: false,
),
@@ -318,7 +315,7 @@ class BaseAnalyticsView extends StatelessWidget {
),
)
.toList(),
- )
+ ),
],
),
),
@@ -327,7 +324,7 @@ class BaseAnalyticsView extends StatelessWidget {
],
),
),
- )
+ ),
],
),
),
@@ -341,11 +338,12 @@ class TabData {
List items;
bool allowNavigateOnSelect;
- TabData(
- {required this.type,
- required this.items,
- required this.icon,
- this.allowNavigateOnSelect = true});
+ TabData({
+ required this.type,
+ required this.items,
+ required this.icon,
+ this.allowNavigateOnSelect = true,
+ });
}
class TabItem {
diff --git a/lib/pangea/pages/analytics/chart_view_picker_button.dart b/lib/pangea/pages/analytics/chart_view_picker_button.dart
index 64ec3c97c..125b107af 100644
--- a/lib/pangea/pages/analytics/chart_view_picker_button.dart
+++ b/lib/pangea/pages/analytics/chart_view_picker_button.dart
@@ -1,18 +1,17 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../../enum/bar_chart_view_enum.dart';
class ChartViewPickerButton extends StatelessWidget {
final BarChartViewSelection selected;
final void Function(BarChartViewSelection) onChange;
- const ChartViewPickerButton(
- {Key? key, required this.selected, required this.onChange})
- : super(key: key);
+ const ChartViewPickerButton({
+ super.key,
+ required this.selected,
+ required this.onChange,
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/analytics/class_analytics/class_analytics.dart b/lib/pangea/pages/analytics/class_analytics/class_analytics.dart
index 365542f0b..39acca938 100644
--- a/lib/pangea/pages/analytics/class_analytics/class_analytics.dart
+++ b/lib/pangea/pages/analytics/class_analytics/class_analytics.dart
@@ -1,16 +1,12 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/models/chart_analytics_model.dart';
@@ -26,7 +22,7 @@ enum AnalyticsPageType { classList, student, classDetails }
class ClassAnalyticsPage extends StatefulWidget {
// final AnalyticsPageType type;
- const ClassAnalyticsPage({Key? key}) : super(key: key);
+ const ClassAnalyticsPage({super.key});
@override
State createState() => ClassAnalyticsV2Controller();
diff --git a/lib/pangea/pages/analytics/class_analytics/class_analytics_view.dart b/lib/pangea/pages/analytics/class_analytics/class_analytics_view.dart
index e010044e0..06a46a5b2 100644
--- a/lib/pangea/pages/analytics/class_analytics/class_analytics_view.dart
+++ b/lib/pangea/pages/analytics/class_analytics/class_analytics_view.dart
@@ -1,17 +1,14 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../../../../utils/matrix_sdk_extensions/matrix_locals.dart';
import '../base_analytics_page.dart';
import 'class_analytics.dart';
class ClassAnalyticsView extends StatelessWidget {
final ClassAnalyticsV2Controller controller;
- const ClassAnalyticsView(this.controller, {Key? key}) : super(key: key);
+ const ClassAnalyticsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@@ -36,11 +33,13 @@ class ClassAnalyticsView extends StatelessWidget {
type: AnalyticsEntryType.student,
icon: Icons.people_outline,
items: controller.students
- .map((s) => TabItem(
- avatar: s.avatarUrl,
- displayName: s.displayName ?? "unknown",
- id: s.id,
- ))
+ .map(
+ (s) => TabItem(
+ avatar: s.avatarUrl,
+ displayName: s.displayName ?? "unknown",
+ id: s.id,
+ ),
+ )
.toList(),
);
diff --git a/lib/pangea/pages/analytics/class_list/class_list.dart b/lib/pangea/pages/analytics/class_list/class_list.dart
index e2a0ee2af..6ce8b994d 100644
--- a/lib/pangea/pages/analytics/class_list/class_list.dart
+++ b/lib/pangea/pages/analytics/class_list/class_list.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/enum/time_span.dart';
import 'package:fluffychat/pangea/pages/analytics/class_list/class_list_view.dart';
import '../../../../widgets/matrix.dart';
@@ -18,7 +14,7 @@ import '../../../utils/sync_status_util_v2.dart';
import '../../../widgets/common/list_placeholder.dart';
class AnalyticsClassList extends StatefulWidget {
- const AnalyticsClassList({Key? key}) : super(key: key);
+ const AnalyticsClassList({super.key});
@override
State createState() => AnalyticsClassListController();
@@ -36,7 +32,8 @@ class AnalyticsClassListController extends State {
Future.delayed(Duration.zero, () async {
stateSub = pangeaController.matrixState.client.onRoomState.stream
.where(
- (event) => event.type == PangeaEventTypes.studentAnalyticsSummary)
+ (event) => event.type == PangeaEventTypes.studentAnalyticsSummary,
+ )
.listen(onStateUpdate);
});
}
diff --git a/lib/pangea/pages/analytics/class_list/class_list_view.dart b/lib/pangea/pages/analytics/class_list/class_list_view.dart
index 3f166ded2..ff9ae7d94 100644
--- a/lib/pangea/pages/analytics/class_list/class_list_view.dart
+++ b/lib/pangea/pages/analytics/class_list/class_list_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/extensions/client_extension.dart';
import 'package:fluffychat/pangea/pages/analytics/analytics_list_tile.dart';
import 'package:fluffychat/pangea/pages/analytics/time_span_menu_button.dart';
@@ -17,7 +14,7 @@ import 'class_list.dart';
class AnalyticsClassListView extends StatelessWidget {
final AnalyticsClassListController controller;
- const AnalyticsClassListView(this.controller, {Key? key}) : super(key: key);
+ const AnalyticsClassListView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/analytics/construct_cloud.dart b/lib/pangea/pages/analytics/construct_cloud.dart
index 962901201..67bdb02c9 100644
--- a/lib/pangea/pages/analytics/construct_cloud.dart
+++ b/lib/pangea/pages/analytics/construct_cloud.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/pages/analytics/base_analytics_page.dart';
import '../../word_cloud/word_cloud_data.dart';
import '../../word_cloud/word_cloud_shape.dart';
@@ -14,10 +12,10 @@ class ConstructCloud extends StatefulWidget {
final AnalyticsSelected defaultSelected;
const ConstructCloud({
- Key? key,
+ super.key,
required this.selected,
required this.defaultSelected,
- }) : super(key: key);
+ });
@override
State createState() => ConstructCloudState();
@@ -30,7 +28,7 @@ class ConstructCloudState extends State {
{"word": "loading", 'value': 1},
{"word": "loading", 'value': 1},
{"word": "loading", 'value': 1},
- {"word": "loading", 'value': 1}
+ {"word": "loading", 'value': 1},
];
@override
@@ -79,7 +77,7 @@ class ConstructCloudState extends State {
colorlist: const [
Colors.black,
Colors.redAccent,
- Colors.indigoAccent
+ Colors.indigoAccent,
],
),
const SizedBox(
@@ -95,7 +93,7 @@ class ConstructCloudState extends State {
colorlist: const [
Colors.black,
Colors.redAccent,
- Colors.indigoAccent
+ Colors.indigoAccent,
],
),
],
diff --git a/lib/pangea/pages/analytics/construct_list.dart b/lib/pangea/pages/analytics/construct_list.dart
index b4862d89d..2128c827f 100644
--- a/lib/pangea/pages/analytics/construct_list.dart
+++ b/lib/pangea/pages/analytics/construct_list.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/match_rule_ids.dart';
import 'package:fluffychat/pangea/enum/construct_type_enum.dart';
import 'package:fluffychat/pangea/pages/analytics/base_analytics_page.dart';
@@ -24,12 +20,12 @@ class ConstructList extends StatefulWidget {
final String title;
const ConstructList({
- Key? key,
+ super.key,
required this.selected,
required this.defaultSelected,
required this.constructType,
required this.title,
- }) : super(key: key);
+ });
@override
State createState() => ConstructListState();
@@ -151,10 +147,10 @@ class ConstructListView extends StatelessWidget {
final bool init;
const ConstructListView({
- Key? key,
+ super.key,
required this.constructs,
required this.init,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/analytics/list_summary_analytics.dart b/lib/pangea/pages/analytics/list_summary_analytics.dart
index a35ae4449..5b2dde5de 100644
--- a/lib/pangea/pages/analytics/list_summary_analytics.dart
+++ b/lib/pangea/pages/analytics/list_summary_analytics.dart
@@ -1,20 +1,16 @@
-// Dart imports:
import 'dart:math';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/chart_analytics_model.dart';
import '../../enum/use_type.dart';
class ListSummaryAnalytics extends StatelessWidget {
final ChartAnalyticsModel? chartAnalytics;
- const ListSummaryAnalytics({Key? key, this.chartAnalytics}) : super(key: key);
+ const ListSummaryAnalytics({super.key, this.chartAnalytics});
TimeSeriesTotals? get totals => chartAnalytics?.totals;
@@ -60,14 +56,15 @@ class ListSummaryAnalytics extends StatelessWidget {
text: TextSpan(
children: [
spacerIconText(
- L10n.of(context) != null
- ? L10n.of(context)!.totalMessages
- : "Total messages sent",
- "",
- Icons.chat_bubble,
- totals!.all,
- Theme.of(context).textTheme.bodyLarge!.color,
- false),
+ L10n.of(context) != null
+ ? L10n.of(context)!.totalMessages
+ : "Total messages sent",
+ "",
+ Icons.chat_bubble,
+ totals!.all,
+ Theme.of(context).textTheme.bodyLarge!.color,
+ false,
+ ),
if (totals!.all != 0) ...[
spacerIconText(
l10n != null ? l10n.taTooltip : "With translation assistance",
@@ -97,7 +94,7 @@ class ListSummaryAnalytics extends StatelessWidget {
totals!.unPercent,
UseType.un.color(context),
),
- ]
+ ],
],
),
);
diff --git a/lib/pangea/pages/analytics/messages_bar_chart.dart b/lib/pangea/pages/analytics/messages_bar_chart.dart
index 52ebc979f..5f80577db 100644
--- a/lib/pangea/pages/analytics/messages_bar_chart.dart
+++ b/lib/pangea/pages/analytics/messages_bar_chart.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
-import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart';
-
-// Package imports:
import 'package:fl_chart/fl_chart.dart';
-import 'package:intl/intl.dart';
-
-// Project imports:
+import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pangea/pages/analytics/bar_chart_placeholder_data.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
+import 'package:flutter/foundation.dart';
+import 'package:flutter/material.dart';
+import 'package:intl/intl.dart';
+
import '../../enum/time_span.dart';
import '../../enum/use_type.dart';
import '../../models/chart_analytics_model.dart';
@@ -22,9 +18,11 @@ class MessagesBarChart extends StatefulWidget {
final ChartAnalyticsModel? chartAnalytics;
final String barChartTitle;
- const MessagesBarChart(
- {Key? key, required this.chartAnalytics, required this.barChartTitle})
- : super(key: key);
+ const MessagesBarChart({
+ super.key,
+ required this.chartAnalytics,
+ required this.barChartTitle,
+ });
@override
State createState() => MessagesBarChartState();
@@ -104,39 +102,73 @@ class MessagesBarChartState extends State {
);
}
+ bool showLabelBasedOnTimeSpan(
+ TimeSpan timeSpan,
+ TimeSeriesInterval current,
+ TimeSeriesInterval? last,
+ int labelIndex,
+ ) {
+ switch (timeSpan) {
+ case TimeSpan.day:
+ return current.end.hour % 3 == 0;
+ case TimeSpan.month:
+ if (current.end.month != last?.end.month) {
+ return true;
+ }
+ double width = MediaQuery.of(context).size.width;
+ if (FluffyThemes.isColumnMode(context)) {
+ width = width - FluffyThemes.navRailWidth - FluffyThemes.columnWidth;
+ }
+ const int numDays = 28;
+ const int minSpacePerDay = 20;
+ final int availableSpaces = width ~/ minSpacePerDay;
+ final int showAtInterval = (numDays / availableSpaces).floor() + 1;
+
+ final int lastDayOfCurrentMonth =
+ DateTime(current.end.year, current.end.month + 1, 0).day;
+ final bool isNextToMonth = labelIndex == 1 ||
+ current.end.day == 2 ||
+ current.end.day == lastDayOfCurrentMonth;
+ final bool shouldShowNextToMonth = showAtInterval <= 1;
+ return (current.end.day % showAtInterval == 0) &&
+ (!isNextToMonth || shouldShowNextToMonth);
+ case TimeSpan.week:
+ case TimeSpan.sixmonths:
+ case TimeSpan.year:
+ default:
+ return true;
+ }
+ }
+
String getLabelBasedOnTimeSpan(
TimeSpan timeSpan,
TimeSeriesInterval current,
TimeSeriesInterval? last,
int labelIndex,
) {
- if (widget.chartAnalytics == null) {
+ final bool showLabel = showLabelBasedOnTimeSpan(
+ timeSpan,
+ current,
+ last,
+ labelIndex,
+ );
+
+ if (widget.chartAnalytics == null || !showLabel) {
return "";
}
if (isInSameGroup(last, current, timeSpan)) {
return "-";
}
+
switch (widget.chartAnalytics?.timeSpan ?? TimeSpan.month) {
case TimeSpan.day:
- return current.end.hour % 3 == 0
- ? DateFormat(DateFormat.HOUR).format(current.end)
- : "";
- // return current.end.hour.toString();
+ return DateFormat(DateFormat.HOUR).format(current.end);
case TimeSpan.week:
return DateFormat(DateFormat.ABBR_WEEKDAY).format(current.end);
case TimeSpan.month:
- // return current.end.month != last?.end.month
- // ? DateFormat(DateFormat.ABBR_MONTH_DAY).format(current.end)
- // : current.end.day % 5 == 0 &&
- // labelIndex != 1 &&
- // current.end.day != 30
- // ? DateFormat(DateFormat.DAY).format(current.end)
- // : "'";
return current.end.month != last?.end.month
? DateFormat(DateFormat.ABBR_MONTH).format(current.end)
: DateFormat(DateFormat.DAY).format(current.end);
- // return current.end.day.toString();
- // text = DateFormat('DAY').format(timeSeriesIntervalStart);
case TimeSpan.sixmonths:
case TimeSpan.year:
return DateFormat(DateFormat.ABBR_STANDALONE_MONTH).format(current.end);
@@ -186,7 +218,10 @@ class MessagesBarChartState extends State {
}
bool isInSameGroup(
- TimeSeriesInterval? t1, TimeSeriesInterval t2, TimeSpan timeSpan) {
+ TimeSeriesInterval? t1,
+ TimeSeriesInterval t2,
+ TimeSpan timeSpan,
+ ) {
final DateTime? date1 = t1?.end;
final DateTime date2 = t2.end;
if (timeSpan == TimeSpan.sixmonths || timeSpan == TimeSpan.year) {
@@ -235,12 +270,14 @@ class MessagesBarChartState extends State {
final List chartData = [];
intervalGroupings.asMap().forEach((index, intervalGroup) {
- chartData.add(BarChartGroupData(
- x: index,
- barsSpace: barSpace,
- // barRods: intervalGroup.map(constructBarChartRodData).toList(),
- barRods: constructBarChartRodData(intervalGroup),
- ));
+ chartData.add(
+ BarChartGroupData(
+ x: index,
+ barsSpace: barSpace,
+ // barRods: intervalGroup.map(constructBarChartRodData).toList(),
+ barRods: constructBarChartRodData(intervalGroup),
+ ),
+ );
});
return chartData;
}
@@ -263,7 +300,8 @@ class MessagesBarChartState extends State {
// }
List constructBarChartRodData(
- List timeSeriesIntervalGroup) {
+ List timeSeriesIntervalGroup,
+ ) {
int y1 = 0;
int y2 = 0;
int y3 = 0;
@@ -281,14 +319,23 @@ class MessagesBarChartState extends State {
rodStackItems: [
BarChartRodStackItem(0, y1.toDouble(), UseType.ta.color(context)),
BarChartRodStackItem(
- y1.toDouble(), y2.toDouble(), UseType.ga.color(context)),
+ y1.toDouble(),
+ y2.toDouble(),
+ UseType.ga.color(context),
+ ),
BarChartRodStackItem(
- y2.toDouble(), y3.toDouble(), UseType.wa.color(context)),
+ y2.toDouble(),
+ y3.toDouble(),
+ UseType.wa.color(context),
+ ),
BarChartRodStackItem(
- y3.toDouble(), y4.toDouble(), UseType.un.color(context)),
+ y3.toDouble(),
+ y4.toDouble(),
+ UseType.un.color(context),
+ ),
],
borderRadius: BorderRadius.zero,
- )
+ ),
];
}
diff --git a/lib/pangea/pages/analytics/messages_legend_widget.dart b/lib/pangea/pages/analytics/messages_legend_widget.dart
index 130490430..ce1337519 100644
--- a/lib/pangea/pages/analytics/messages_legend_widget.dart
+++ b/lib/pangea/pages/analytics/messages_legend_widget.dart
@@ -1,13 +1,11 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/enum/use_type.dart';
class MessagesLegendsListWidget extends StatelessWidget {
const MessagesLegendsListWidget({
- Key? key,
- }) : super(key: key);
+ super.key,
+ });
@override
Widget build(BuildContext context) {
@@ -28,7 +26,7 @@ class MessagesLegendsListWidget extends StatelessWidget {
),
),
const SizedBox(width: 4),
- e.iconView(context, e.color(context), 20)
+ e.iconView(context, e.color(context), 20),
],
),
)
diff --git a/lib/pangea/pages/analytics/student_analytics/student_analytics.dart b/lib/pangea/pages/analytics/student_analytics/student_analytics.dart
index f3de8e2b5..55252bf8e 100644
--- a/lib/pangea/pages/analytics/student_analytics/student_analytics.dart
+++ b/lib/pangea/pages/analytics/student_analytics/student_analytics.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/models/chart_analytics_model.dart';
import 'package:fluffychat/pangea/widgets/common/list_placeholder.dart';
@@ -20,7 +16,7 @@ import '../base_analytics_page.dart';
import 'student_analytics_view.dart';
class StudentAnalyticsPage extends StatefulWidget {
- const StudentAnalyticsPage({Key? key}) : super(key: key);
+ const StudentAnalyticsPage({super.key});
@override
State createState() => StudentAnalyticsController();
@@ -35,7 +31,8 @@ class StudentAnalyticsController extends State {
void initState() {
_pangeaController.matrixState.client
.updateMyLearningAnalyticsForAllClassesImIn(
- _pangeaController.pStoreService);
+ _pangeaController.pStoreService,
+ );
super.initState();
}
diff --git a/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart b/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart
index 1f065b6b5..3cbe86194 100644
--- a/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart
+++ b/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart
@@ -1,18 +1,15 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import '../../../../utils/matrix_sdk_extensions/matrix_locals.dart';
import '../base_analytics_page.dart';
import 'student_analytics.dart';
class StudentAnalyticsView extends StatelessWidget {
final StudentAnalyticsController controller;
- const StudentAnalyticsView(this.controller, {Key? key}) : super(key: key);
+ const StudentAnalyticsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@@ -24,27 +21,32 @@ class StudentAnalyticsView extends StatelessWidget {
type: AnalyticsEntryType.room,
icon: Icons.chat_bubble_outline,
items: chats
- .map((c) => TabItem(
- avatar: c.avatar,
- displayName:
- c.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
- id: c.id,
- ))
+ .map(
+ (c) => TabItem(
+ avatar: c.avatar,
+ displayName:
+ c.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
+ id: c.id,
+ ),
+ )
.toList(),
allowNavigateOnSelect: false,
);
final TabData classTabData = TabData(
- type: AnalyticsEntryType.space,
- icon: Icons.workspaces,
- items: spaces
- .map((c) => TabItem(
- avatar: c.avatar,
- displayName: c
- .getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
- id: c.id,
- ))
- .toList(),
- allowNavigateOnSelect: false);
+ type: AnalyticsEntryType.space,
+ icon: Icons.workspaces,
+ items: spaces
+ .map(
+ (c) => TabItem(
+ avatar: c.avatar,
+ displayName:
+ c.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
+ id: c.id,
+ ),
+ )
+ .toList(),
+ allowNavigateOnSelect: false,
+ );
return controller.userId != null
? BaseAnalyticsPage(
@@ -52,14 +54,16 @@ class StudentAnalyticsView extends StatelessWidget {
tabData1: chatTabData,
tabData2: classTabData,
defaultAnalyticsSelected: AnalyticsSelected(
- controller.userId!,
- AnalyticsEntryType.student,
- L10n.of(context)!.allChatsAndClasses),
+ controller.userId!,
+ AnalyticsEntryType.student,
+ L10n.of(context)!.allChatsAndClasses,
+ ),
refreshData: controller.getClassAndChatAnalytics,
alwaysSelected: AnalyticsSelected(
- controller.userId!,
- AnalyticsEntryType.student,
- L10n.of(context)!.allChatsAndClasses),
+ controller.userId!,
+ AnalyticsEntryType.student,
+ L10n.of(context)!.allChatsAndClasses,
+ ),
)
: const SizedBox();
}
diff --git a/lib/pangea/pages/analytics/time_span_menu_button.dart b/lib/pangea/pages/analytics/time_span_menu_button.dart
index 1f363cfad..df885d6cd 100644
--- a/lib/pangea/pages/analytics/time_span_menu_button.dart
+++ b/lib/pangea/pages/analytics/time_span_menu_button.dart
@@ -1,18 +1,17 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../../enum/time_span.dart';
class TimeSpanMenuButton extends StatelessWidget {
final TimeSpan value;
final void Function(TimeSpan) onChange;
- const TimeSpanMenuButton(
- {Key? key, required this.value, required this.onChange})
- : super(key: key);
+ const TimeSpanMenuButton({
+ super.key,
+ required this.value,
+ required this.onChange,
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/analytics/vocab_bar_chart.dart b/lib/pangea/pages/analytics/vocab_bar_chart.dart
index 1c5f83079..34dc16a69 100644
--- a/lib/pangea/pages/analytics/vocab_bar_chart.dart
+++ b/lib/pangea/pages/analytics/vocab_bar_chart.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:fl_chart/fl_chart.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/models/headwords.dart';
import 'package:fluffychat/pangea/pages/analytics/base_analytics_page.dart';
@@ -17,10 +14,10 @@ class VocabBarChart extends StatefulWidget {
final AnalyticsSelected defaultSelected;
const VocabBarChart({
- Key? key,
+ super.key,
required this.selected,
required this.defaultSelected,
- }) : super(key: key);
+ });
@override
State createState() => VocabBarChartState();
@@ -143,12 +140,14 @@ class VocabBarChartState extends State {
final List chartData = [];
vocabHeadwords.lists.asMap().forEach((index, intervalGroup) {
- chartData.add(BarChartGroupData(
- x: index,
- barsSpace: barSpace,
- // barRods: intervalGroup.map(constructBarChartRodData).toList(),
- barRods: constructBarChartRodData(intervalGroup),
- ));
+ chartData.add(
+ BarChartGroupData(
+ x: index,
+ barsSpace: barSpace,
+ // barRods: intervalGroup.map(constructBarChartRodData).toList(),
+ barRods: constructBarChartRodData(intervalGroup),
+ ),
+ );
});
return chartData;
}
@@ -169,7 +168,7 @@ class VocabBarChartState extends State {
BarChartRodStackItem(y2.toDouble(), y3.toDouble(), Colors.green),
],
borderRadius: BorderRadius.zero,
- )
+ ),
];
}
}
diff --git a/lib/pangea/pages/analytics/vocab_legend_widget.dart b/lib/pangea/pages/analytics/vocab_legend_widget.dart
index f35c45998..da6413c3e 100644
--- a/lib/pangea/pages/analytics/vocab_legend_widget.dart
+++ b/lib/pangea/pages/analytics/vocab_legend_widget.dart
@@ -1,13 +1,11 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/enum/use_type.dart';
class VocabLegendsListWidget extends StatelessWidget {
const VocabLegendsListWidget({
- Key? key,
- }) : super(key: key);
+ super.key,
+ });
@override
Widget build(BuildContext context) {
@@ -28,7 +26,7 @@ class VocabLegendsListWidget extends StatelessWidget {
),
),
const SizedBox(width: 4),
- e.iconView(context, e.color(context), 20)
+ e.iconView(context, e.color(context), 20),
],
),
)
diff --git a/lib/pangea/pages/class_analytics/measure_able.dart b/lib/pangea/pages/class_analytics/measure_able.dart
index 3d5e4a732..444997995 100644
--- a/lib/pangea/pages/class_analytics/measure_able.dart
+++ b/lib/pangea/pages/class_analytics/measure_able.dart
@@ -1,4 +1,3 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
@@ -8,8 +7,7 @@ class MeasurableWidget extends StatefulWidget {
Function? triggerMeasure;
final Function(Size? size, Offset? position) onChange;
- MeasurableWidget({Key? key, required this.onChange, required this.child})
- : super(key: key);
+ MeasurableWidget({super.key, required this.onChange, required this.child});
@override
_WidgetSizeState createState() => _WidgetSizeState();
diff --git a/lib/pangea/pages/class_invitation_selection/class_invitation_selection.dart b/lib/pangea/pages/class_invitation_selection/class_invitation_selection.dart
index 66f6e84cd..fad4e6b53 100644
--- a/lib/pangea/pages/class_invitation_selection/class_invitation_selection.dart
+++ b/lib/pangea/pages/class_invitation_selection/class_invitation_selection.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:collection/collection.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@@ -12,11 +9,10 @@ import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/widgets/matrix.dart';
class ClassInvitationSelection extends StatefulWidget {
- const ClassInvitationSelection({Key? key}) : super(key: key);
+ const ClassInvitationSelection({super.key});
@override
ClassInvitationSelectionController createState() =>
diff --git a/lib/pangea/pages/class_settings/class_name_header.dart b/lib/pangea/pages/class_settings/class_name_header.dart
index adc9d8163..39adaa126 100644
--- a/lib/pangea/pages/class_settings/class_name_header.dart
+++ b/lib/pangea/pages/class_settings/class_name_header.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/visibility.dart' as visible;
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_details/chat_details.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
@@ -13,10 +10,10 @@ class ClassNameHeader extends StatelessWidget {
final Room room;
final ChatDetailsController controller;
const ClassNameHeader({
- Key? key,
+ super.key,
required this.room,
required this.controller,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
@@ -34,10 +31,12 @@ class ClassNameHeader extends StatelessWidget {
color: Theme.of(context).colorScheme.onBackground,
),
),
- icon: room.nameAndRoomTypeIcon(TextStyle(
- fontSize: 20,
- color: Theme.of(context).textTheme.bodyLarge!.color,
- )),
+ icon: room.nameAndRoomTypeIcon(
+ TextStyle(
+ fontSize: 20,
+ color: Theme.of(context).textTheme.bodyLarge!.color,
+ ),
+ ),
// icon: Text(
// room.getLocalizedDisplayname(
// MatrixLocals(L10n.of(context)!),
diff --git a/lib/pangea/pages/class_settings/class_settings_page.dart b/lib/pangea/pages/class_settings/class_settings_page.dart
index 5f4477534..d0c2d385d 100644
--- a/lib/pangea/pages/class_settings/class_settings_page.dart
+++ b/lib/pangea/pages/class_settings/class_settings_page.dart
@@ -1,17 +1,13 @@
-// Dart imports:
import 'dart:async';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/widgets/layouts/empty_page.dart';
import '../../../widgets/matrix.dart';
@@ -22,7 +18,7 @@ import 'class_settings_view.dart';
import 'p_class_widgets/room_rules_editor.dart';
class ClassSettingsPage extends StatefulWidget {
- const ClassSettingsPage({Key? key}) : super(key: key);
+ const ClassSettingsPage({super.key});
@override
State createState() => ClassSettingsController();
diff --git a/lib/pangea/pages/class_settings/class_settings_view.dart b/lib/pangea/pages/class_settings/class_settings_view.dart
index df5254fa2..f6fa434e9 100644
--- a/lib/pangea/pages/class_settings/class_settings_view.dart
+++ b/lib/pangea/pages/class_settings/class_settings_view.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/pangea/pages/class_settings/class_settings_page.dart';
import 'package:fluffychat/pangea/pages/class_settings/p_class_widgets/room_rules_editor.dart';
import 'package:fluffychat/pangea/widgets/space/class_settings.dart';
@@ -14,8 +11,7 @@ import '../../../widgets/layouts/max_width_body.dart';
class ClassSettingsPageView extends StatelessWidget {
final ClassSettingsController controller;
- const ClassSettingsPageView({Key? key, required this.controller})
- : super(key: key);
+ const ClassSettingsPageView({super.key, required this.controller});
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_analytics_button.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_analytics_button.dart
index 0bc4c288f..1ac293494 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/class_analytics_button.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/class_analytics_button.dart
@@ -1,12 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
class ClassAnalyticsButton extends StatelessWidget {
- const ClassAnalyticsButton({Key? key}) : super(key: key);
+ const ClassAnalyticsButton({super.key});
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart
index 05df04a89..0d6779e82 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart
@@ -1,21 +1,18 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_details/chat_details.dart';
class ClassDescriptionButton extends StatelessWidget {
final Room room;
final ChatDetailsController controller;
const ClassDescriptionButton({
- Key? key,
+ super.key,
required this.room,
required this.controller,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_details_toggle_add_students_tile.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_details_toggle_add_students_tile.dart
index 156e53383..051824659 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/class_details_toggle_add_students_tile.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/class_details_toggle_add_students_tile.dart
@@ -1,17 +1,14 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import '../../../../pages/chat_details/chat_details.dart';
class SpaceDetailsToggleAddStudentsTile extends StatelessWidget {
const SpaceDetailsToggleAddStudentsTile({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final ChatDetailsController controller;
@@ -32,9 +29,11 @@ class SpaceDetailsToggleAddStudentsTile extends StatelessWidget {
Icons.add,
),
),
- trailing: Icon(controller.displayAddStudentOptions
- ? Icons.keyboard_arrow_down_outlined
- : Icons.keyboard_arrow_right_outlined),
+ trailing: Icon(
+ controller.displayAddStudentOptions
+ ? Icons.keyboard_arrow_down_outlined
+ : Icons.keyboard_arrow_right_outlined,
+ ),
onTap: controller.toggleAddStudentOptions,
);
}
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_invitation_buttons.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_invitation_buttons.dart
index e9e907d10..8c1cb0a6c 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/class_invitation_buttons.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/class_invitation_buttons.dart
@@ -1,15 +1,12 @@
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
import 'package:universal_html/html.dart' as html;
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/constants/url_query_parameter_keys.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
@@ -19,8 +16,7 @@ import '../../../../widgets/avatar.dart';
class ClassInvitationButtons extends StatelessWidget {
final String roomId;
- const ClassInvitationButtons({Key? key, required this.roomId})
- : super(key: key);
+ const ClassInvitationButtons({super.key, required this.roomId});
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_name_button.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_name_button.dart
index c8879b0c5..7d4229e90 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/class_name_button.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/class_name_button.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_details/chat_details.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
@@ -13,10 +10,10 @@ class ClassNameButton extends StatelessWidget {
final Room room;
final ChatDetailsController controller;
const ClassNameButton({
- Key? key,
+ super.key,
required this.room,
required this.controller,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_settings_button.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_settings_button.dart
index 291e21aa4..3915d0ca0 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/class_settings_button.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/class_settings_button.dart
@@ -1,12 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
class ClassSettingsButton extends StatelessWidget {
- const ClassSettingsButton({Key? key}) : super(key: key);
+ const ClassSettingsButton({super.key});
// final PangeaController _pangeaController = MatrixState.pangeaController;
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_show_edit_dialog.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_show_edit_dialog.dart
index c6f65b54b..d18d09c39 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/class_show_edit_dialog.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/class_show_edit_dialog.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
@@ -20,7 +18,7 @@ void showEditFieldDialog(BuildContext context, String title) async {
// initialText: room.topic,
minLines: 1,
maxLines: 4,
- )
+ ),
],
);
if (input == null) return;
@@ -30,7 +28,10 @@ void showEditFieldDialog(BuildContext context, String title) async {
future: () async => null,
);
if (success.error == null) {
- ScaffoldMessenger.of(context).showSnackBar(SnackBar(
- content: Text(L10n.of(context)!.groupDescriptionHasBeenChanged)));
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text(L10n.of(context)!.groupDescriptionHasBeenChanged),
+ ),
+ );
}
}
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/delete_class_tile.dart b/lib/pangea/pages/class_settings/p_class_widgets/delete_class_tile.dart
index c1e8c9771..7e3fc3af6 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/delete_class_tile.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/delete_class_tile.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/utils/delete_room.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pangea/pages/class_settings/p_class_widgets/room_rules_editor.dart b/lib/pangea/pages/class_settings/p_class_widgets/room_rules_editor.dart
index 0f5555fe9..c9e157e12 100644
--- a/lib/pangea/pages/class_settings/p_class_widgets/room_rules_editor.dart
+++ b/lib/pangea/pages/class_settings/p_class_widgets/room_rules_editor.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/class_model.dart';
import '../../../../config/app_config.dart';
import '../../../../widgets/matrix.dart';
@@ -18,9 +15,12 @@ class RoomRulesEditor extends StatefulWidget {
final bool startOpen;
final bool showAdd;
- const RoomRulesEditor(
- {Key? key, this.roomId, this.startOpen = true, this.showAdd = false})
- : super(key: key);
+ const RoomRulesEditor({
+ super.key,
+ this.roomId,
+ this.startOpen = true,
+ this.showAdd = false,
+ });
@override
RoomRulesState createState() => RoomRulesState();
@@ -161,14 +161,18 @@ class RoomRulesState extends State {
onChanged: (value) {
updatePermission(() {
rules.setLanguageToolSetting(
- setting, value.toInt());
+ setting,
+ value.toInt(),
+ );
});
},
divisions: 2,
max: 2,
min: 0,
label: rules.languageToolPermissionsText(
- context, setting),
+ context,
+ setting,
+ ),
),
),
],
diff --git a/lib/pangea/pages/connect/p_sso_button.dart b/lib/pangea/pages/connect/p_sso_button.dart
index 42226bb85..835d0454e 100644
--- a/lib/pangea/pages/connect/p_sso_button.dart
+++ b/lib/pangea/pages/connect/p_sso_button.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_svg/svg.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/homeserver_picker/homeserver_picker.dart';
import 'package:fluffychat/widgets/matrix.dart';
@@ -22,10 +19,10 @@ class PangeaSsoButton extends StatelessWidget {
final IdentityProvider identityProvider;
final void Function()? onPressed;
const PangeaSsoButton({
- Key? key,
+ super.key,
required this.identityProvider,
this.onPressed,
- }) : super(key: key);
+ });
ButtonInfo getButtonInfo(BuildContext context) {
switch (identityProvider.id) {
diff --git a/lib/pangea/pages/exchange/add_exchange_to_class.dart b/lib/pangea/pages/exchange/add_exchange_to_class.dart
index 477ac303b..eb5e7d59a 100644
--- a/lib/pangea/pages/exchange/add_exchange_to_class.dart
+++ b/lib/pangea/pages/exchange/add_exchange_to_class.dart
@@ -1,17 +1,14 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
-// Project imports:
import 'package:fluffychat/pangea/widgets/class/add_class_and_invite.dart';
import 'package:fluffychat/pangea/widgets/class/add_space_toggles.dart';
import 'package:fluffychat/widgets/matrix.dart';
class AddExchangeToClass extends StatefulWidget {
- const AddExchangeToClass({Key? key}) : super(key: key);
+ const AddExchangeToClass({super.key});
@override
AddExchangeToClassState createState() => AddExchangeToClassState();
diff --git a/lib/pangea/pages/find_partner/find_partner.dart b/lib/pangea/pages/find_partner/find_partner.dart
index bd37c899a..18fc71307 100644
--- a/lib/pangea/pages/find_partner/find_partner.dart
+++ b/lib/pangea/pages/find_partner/find_partner.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/language_model.dart';
import 'package:fluffychat/pangea/models/user_model.dart';
import '../../../widgets/matrix.dart';
@@ -14,7 +11,7 @@ import '../../repo/user_repo.dart';
import 'find_partner_view.dart';
class FindPartner extends StatefulWidget {
- const FindPartner({Key? key}) : super(key: key);
+ const FindPartner({super.key});
@override
State createState() => FindPartnerController();
diff --git a/lib/pangea/pages/find_partner/find_partner_view.dart b/lib/pangea/pages/find_partner/find_partner_view.dart
index b96a6b917..bbb163a69 100644
--- a/lib/pangea/pages/find_partner/find_partner_view.dart
+++ b/lib/pangea/pages/find_partner/find_partner_view.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:country_picker/country_picker.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as matrix;
-// Project imports:
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pangea/models/user_model.dart';
import 'package:fluffychat/pangea/widgets/common/list_placeholder.dart';
@@ -20,7 +17,7 @@ import 'find_partner.dart';
class FindPartnerView extends StatelessWidget {
final FindPartnerController controller;
- const FindPartnerView(this.controller, {Key? key}) : super(key: key);
+ const FindPartnerView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@@ -127,9 +124,9 @@ class FindPartnerView extends StatelessWidget {
class ExpandedContainer extends StatelessWidget {
const ExpandedContainer({
- Key? key,
+ super.key,
required this.body,
- }) : super(key: key);
+ });
final Widget body;
@@ -146,9 +143,9 @@ class ExpandedContainer extends StatelessWidget {
class ProfileSearchTextField extends StatelessWidget {
const ProfileSearchTextField({
- Key? key,
+ super.key,
required this.controller,
- }) : super(key: key);
+ });
final FindPartnerController controller;
@@ -175,8 +172,8 @@ class ProfileSearchTextField extends StatelessWidget {
class PageTitleText extends StatelessWidget {
const PageTitleText({
- Key? key,
- }) : super(key: key);
+ super.key,
+ });
@override
Widget build(BuildContext context) {
@@ -197,10 +194,10 @@ class PageTitleText extends StatelessWidget {
class LanguageSelectionRow extends StatelessWidget {
const LanguageSelectionRow({
- Key? key,
+ super.key,
required this.controller,
required this.isSource,
- }) : super(key: key);
+ });
final FindPartnerController controller;
final bool isSource;
@@ -248,10 +245,10 @@ class UserProfileEntry extends StatelessWidget {
final FindPartnerController controller;
const UserProfileEntry({
- Key? key,
+ super.key,
required this.pangeaProfile,
required this.controller,
- }) : super(key: key);
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/new_class/new_class.dart b/lib/pangea/pages/new_class/new_class.dart
index 30d5ae0de..55b7d083d 100644
--- a/lib/pangea/pages/new_class/new_class.dart
+++ b/lib/pangea/pages/new_class/new_class.dart
@@ -1,18 +1,14 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as sdk;
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/pages/new_class/new_class_view.dart';
import 'package:fluffychat/pangea/utils/class_code.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
@@ -22,7 +18,7 @@ import '../../widgets/space/class_settings.dart';
import '../class_settings/p_class_widgets/room_rules_editor.dart';
class NewClass extends StatefulWidget {
- const NewClass({Key? key}) : super(key: key);
+ const NewClass({super.key});
@override
NewClassController createState() => NewClassController();
diff --git a/lib/pangea/pages/new_class/new_class_view.dart b/lib/pangea/pages/new_class/new_class_view.dart
index e40cc08ce..13796e2d8 100644
--- a/lib/pangea/pages/new_class/new_class_view.dart
+++ b/lib/pangea/pages/new_class/new_class_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/pages/new_class/new_class.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
@@ -18,7 +15,7 @@ class NewSpaceView extends StatelessWidget {
final NewClassController controller;
// Pangea#
- const NewSpaceView(this.controller, {Key? key}) : super(key: key);
+ const NewSpaceView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/p_user_age/p_user_age.dart b/lib/pangea/pages/p_user_age/p_user_age.dart
index 699dd2fcf..415379309 100644
--- a/lib/pangea/pages/p_user_age/p_user_age.dart
+++ b/lib/pangea/pages/p_user_age/p_user_age.dart
@@ -1,15 +1,11 @@
-// Dart imports:
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:intl/intl.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/age_limits.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/pages/p_user_age/p_user_age_view.dart';
@@ -20,7 +16,7 @@ import '../../utils/bot_name.dart';
import '../../utils/error_handler.dart';
class PUserAge extends StatefulWidget {
- const PUserAge({Key? key}) : super(key: key);
+ const PUserAge({super.key});
@override
PUserAgeController createState() => PUserAgeController();
diff --git a/lib/pangea/pages/p_user_age/p_user_age_view.dart b/lib/pangea/pages/p_user_age/p_user_age_view.dart
index b4f5e9e49..dd0b16a95 100644
--- a/lib/pangea/pages/p_user_age/p_user_age_view.dart
+++ b/lib/pangea/pages/p_user_age/p_user_age_view.dart
@@ -1,17 +1,14 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:intl/intl.dart';
-// Project imports:
import 'package:fluffychat/pangea/pages/p_user_age/p_user_age.dart';
import '../../../widgets/layouts/login_scaffold.dart';
class PUserAgeView extends StatelessWidget {
final PUserAgeController controller;
- const PUserAgeView(this.controller, {Key? key}) : super(key: key);
+ const PUserAgeView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/settings_learning/settings_learning.dart b/lib/pangea/pages/settings_learning/settings_learning.dart
index 49554c3e3..f699fc7b5 100644
--- a/lib/pangea/pages/settings_learning/settings_learning.dart
+++ b/lib/pangea/pages/settings_learning/settings_learning.dart
@@ -1,16 +1,13 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/pages/settings_learning/settings_learning_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
class SettingsLearning extends StatefulWidget {
- const SettingsLearning({Key? key}) : super(key: key);
+ const SettingsLearning({super.key});
@override
SettingsLearningController createState() => SettingsLearningController();
diff --git a/lib/pangea/pages/settings_learning/settings_learning_view.dart b/lib/pangea/pages/settings_learning/settings_learning_view.dart
index cdc394a4c..657ee0770 100644
--- a/lib/pangea/pages/settings_learning/settings_learning_view.dart
+++ b/lib/pangea/pages/settings_learning/settings_learning_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/class_model.dart';
import 'package:fluffychat/pangea/pages/settings_learning/settings_learning.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
@@ -17,7 +14,7 @@ import '../../../config/app_config.dart';
class SettingsLearningView extends StatelessWidget {
final SettingsLearningController controller;
- const SettingsLearningView(this.controller, {Key? key}) : super(key: key);
+ const SettingsLearningView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/settings_subscription/change_subscription.dart b/lib/pangea/pages/settings_subscription/change_subscription.dart
index e1dde3de3..8a57a317f 100644
--- a/lib/pangea/pages/settings_subscription/change_subscription.dart
+++ b/lib/pangea/pages/settings_subscription/change_subscription.dart
@@ -1,12 +1,9 @@
-// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-// Package imports:
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/pages/settings_subscription/settings_subscription.dart';
import 'package:fluffychat/pangea/widgets/subscription/subscription_buttons.dart';
diff --git a/lib/pangea/pages/settings_subscription/settings_subscription.dart b/lib/pangea/pages/settings_subscription/settings_subscription.dart
index ddd67ff87..349e3eade 100644
--- a/lib/pangea/pages/settings_subscription/settings_subscription.dart
+++ b/lib/pangea/pages/settings_subscription/settings_subscription.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:url_launcher/url_launcher_string.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
@@ -17,7 +13,7 @@ import 'package:fluffychat/pangea/utils/subscription_app_id.dart';
import 'package:fluffychat/widgets/matrix.dart';
class SubscriptionManagement extends StatefulWidget {
- const SubscriptionManagement({Key? key}) : super(key: key);
+ const SubscriptionManagement({super.key});
@override
SubscriptionManagementController createState() =>
diff --git a/lib/pangea/pages/settings_subscription/settings_subscription_view.dart b/lib/pangea/pages/settings_subscription/settings_subscription_view.dart
index dbcdf4166..708bd8d66 100644
--- a/lib/pangea/pages/settings_subscription/settings_subscription_view.dart
+++ b/lib/pangea/pages/settings_subscription/settings_subscription_view.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:intl/intl.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
import 'package:fluffychat/pangea/pages/settings_subscription/change_subscription.dart';
@@ -16,7 +13,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class SettingsSubscriptionView extends StatelessWidget {
final SubscriptionManagementController controller;
final PangeaController pangeaController = MatrixState.pangeaController;
- SettingsSubscriptionView(this.controller, {Key? key}) : super(key: key);
+ SettingsSubscriptionView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@@ -87,7 +84,7 @@ class SettingsSubscriptionView extends StatelessWidget {
controller: controller,
subscriptionController:
pangeaController.subscriptionController,
- )
+ ),
],
),
),
@@ -103,8 +100,8 @@ class ManagementNotAvailableWarning extends StatelessWidget {
const ManagementNotAvailableWarning({
required this.controller,
required this.subscriptionController,
- Key? key,
- }) : super(key: key);
+ super.key,
+ });
@override
Widget build(BuildContext context) {
diff --git a/lib/pangea/pages/sign_up/signup.dart b/lib/pangea/pages/sign_up/signup.dart
index dafe65b70..33c4b1788 100644
--- a/lib/pangea/pages/sign_up/signup.dart
+++ b/lib/pangea/pages/sign_up/signup.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
-// Project imports:
import 'package:fluffychat/pangea/pages/sign_up/signup_view.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import 'package:fluffychat/pangea/utils/firebase_analytics.dart';
@@ -13,7 +10,7 @@ import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/matrix.dart';
class SignupPage extends StatefulWidget {
- const SignupPage({Key? key}) : super(key: key);
+ const SignupPage({super.key});
@override
SignupPageController createState() => SignupPageController();
diff --git a/lib/pangea/pages/sign_up/signup_view.dart b/lib/pangea/pages/sign_up/signup_view.dart
index 57d65df2f..ce1e18c0d 100644
--- a/lib/pangea/pages/sign_up/signup_view.dart
+++ b/lib/pangea/pages/sign_up/signup_view.dart
@@ -1,11 +1,11 @@
// Flutter imports:
-// Project imports:
-import 'package:fluffychat/pangea/widgets/signup/tos_checkbox.dart';
-import 'package:fluffychat/widgets/layouts/login_scaffold.dart';
+
import 'package:flutter/material.dart';
-// Package imports:
+
import 'package:flutter_gen/gen_l10n/l10n.dart';
+import 'package:fluffychat/pangea/widgets/signup/tos_checkbox.dart';
+import 'package:fluffychat/widgets/layouts/login_scaffold.dart';
import 'signup.dart';
class SignupPageView extends StatelessWidget {
diff --git a/lib/pangea/repo/class_analytics_repo.dart b/lib/pangea/repo/class_analytics_repo.dart
index 20152df7f..fae8fe3b5 100644
--- a/lib/pangea/repo/class_analytics_repo.dart
+++ b/lib/pangea/repo/class_analytics_repo.dart
@@ -13,10 +13,12 @@
class PClassAnalyticsRepo {
/// deprecated in favor of new analytics
static Future repoGetAnalyticsByIds(
- String accessToken, String timeSpan,
- {List? classIds,
- List? userIds,
- List? chatIds}) async {
+ String accessToken,
+ String timeSpan, {
+ List? classIds,
+ List? userIds,
+ List? chatIds,
+ }) async {
// if (!AnalyticsUtil.isValidSpan(timeSpan)) throw "Invalid span";
// final Requests req = Requests(
diff --git a/lib/pangea/repo/class_repo.dart b/lib/pangea/repo/class_repo.dart
index 858cf7cac..f6a92c924 100644
--- a/lib/pangea/repo/class_repo.dart
+++ b/lib/pangea/repo/class_repo.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/class_email_invite_model.dart';
import 'package:fluffychat/pangea/models/class_model.dart';
import '../network/requests.dart';
@@ -35,7 +31,9 @@ class PClassRepo {
//Question for Lala: In this widget, controller, repo framework, where are
// errors handled? How are they passed?
static Future getClassByCode(
- String classCode, String accessToken) async {
+ String classCode,
+ String accessToken,
+ ) async {
final Requests req =
Requests(baseUrl: PApiUrls.baseAPI, accessToken: accessToken);
final Response res =
@@ -53,8 +51,11 @@ class PClassRepo {
static searchClass(String text) async {}
- static sendEmailToJoinClass(List data, String roomId,
- String teacherName) async {}
+ static sendEmailToJoinClass(
+ List data,
+ String roomId,
+ String teacherName,
+ ) async {}
static inviteAction(BuildContext context, String id, String roomId) async {}
diff --git a/lib/pangea/repo/contextualized_translation_repo.dart b/lib/pangea/repo/contextualized_translation_repo.dart
index 21aede9fc..c2ffe1853 100644
--- a/lib/pangea/repo/contextualized_translation_repo.dart
+++ b/lib/pangea/repo/contextualized_translation_repo.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../config/environment.dart';
@@ -98,8 +95,9 @@ class ContextTranslationResponseModel {
if (trans.isEmpty) {
Sentry.addBreadcrumb(
Breadcrumb(
- message: "ContextTranslationResponseModel with empty translations",
- data: {"response": json}),
+ message: "ContextTranslationResponseModel with empty translations",
+ data: {"response": json},
+ ),
);
}
diff --git a/lib/pangea/repo/exchange_repo.dart b/lib/pangea/repo/exchange_repo.dart
index 131dbbeaa..a4b78112c 100644
--- a/lib/pangea/repo/exchange_repo.dart
+++ b/lib/pangea/repo/exchange_repo.dart
@@ -1,15 +1,15 @@
-// Flutter imports:
import 'package:flutter/material.dart';
class PExchangeRepo {
static fetchExchangeClassInfo(String exchangePangeaId) async {}
static saveExchangeRecord(
- String requestFromClass,
- String requestToClass,
- String requestTeacher,
- String requestToClassAuthor,
- String exchangePangeaId) async {}
+ String requestFromClass,
+ String requestToClass,
+ String requestTeacher,
+ String requestToClassAuthor,
+ String exchangePangeaId,
+ ) async {}
static exchangeRejectRequest(String roomId, String teacherName) async {}
@@ -27,5 +27,8 @@ class PExchangeRepo {
}) async {}
static isExchange(
- BuildContext context, String accessToken, String exchangeId) async {}
+ BuildContext context,
+ String accessToken,
+ String exchangeId,
+ ) async {}
}
diff --git a/lib/pangea/repo/full_text_translation_repo.dart b/lib/pangea/repo/full_text_translation_repo.dart
index 0968eaf94..a781b4b0d 100644
--- a/lib/pangea/repo/full_text_translation_repo.dart
+++ b/lib/pangea/repo/full_text_translation_repo.dart
@@ -1,12 +1,9 @@
//Question for Jordan - is this for an individual token or could it be a span?
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import '../config/environment.dart';
import '../constants/model_keys.dart';
import '../network/requests.dart';
@@ -58,7 +55,7 @@ class FullTextTranslationRequestModel {
ModelKey.tgtLang: tgtLang,
ModelKey.userL2: userL2,
ModelKey.userL1: userL1,
- ModelKey.deepL: deepL
+ ModelKey.deepL: deepL,
};
}
diff --git a/lib/pangea/repo/igc_repo.dart b/lib/pangea/repo/igc_repo.dart
index ead9322e1..068a009e8 100644
--- a/lib/pangea/repo/igc_repo.dart
+++ b/lib/pangea/repo/igc_repo.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/models/language_detection_model.dart';
import 'package:fluffychat/pangea/models/lemma.dart';
@@ -17,8 +14,10 @@ import '../network/requests.dart';
import '../network/urls.dart';
class IgcRepo {
- static Future getIGC(String? accessToken,
- {required IGCRequestBody igcRequest}) async {
+ static Future getIGC(
+ String? accessToken, {
+ required IGCRequestBody igcRequest,
+ }) async {
final Requests req = Requests(
accessToken: accessToken,
choreoApiKey: Environment.choreoApiKey,
@@ -53,21 +52,26 @@ class IgcRepo {
lemmas: [Lemma(form: "be", text: "be", saveVocab: true)],
),
PangeaToken(
- text: PangeaTokenText(content: "a", offset: 8, length: 1),
- hasInfo: false,
- lemmas: []),
+ text: PangeaTokenText(content: "a", offset: 8, length: 1),
+ hasInfo: false,
+ lemmas: [],
+ ),
PangeaToken(
- text: PangeaTokenText(content: "sample", offset: 10, length: 6),
- hasInfo: false,
- lemmas: []),
+ text: PangeaTokenText(content: "sample", offset: 10, length: 6),
+ hasInfo: false,
+ lemmas: [],
+ ),
PangeaToken(
- text: PangeaTokenText(content: "text", offset: 17, length: 4),
- hasInfo: false,
- lemmas: []),
+ text: PangeaTokenText(content: "text", offset: 17, length: 4),
+ hasInfo: false,
+ lemmas: [],
+ ),
],
matches: [
PangeaMatch(
- match: spanDataRepomockSpan, status: PangeaMatchStatus.open),
+ match: spanDataRepomockSpan,
+ status: PangeaMatchStatus.open,
+ ),
],
originalInput: "This be a sample text",
fullTextCorrection: "This is a sample text",
diff --git a/lib/pangea/repo/interactive_translation_repo.dart b/lib/pangea/repo/interactive_translation_repo.dart
index f68a8e8ec..b46db4b75 100644
--- a/lib/pangea/repo/interactive_translation_repo.dart
+++ b/lib/pangea/repo/interactive_translation_repo.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import '../models/custom_input_translation_model.dart';
import '../models/it_response_model.dart';
@@ -14,10 +11,12 @@ import '../network/urls.dart';
class ITRepo {
static Future customInputTranslate(
- CustomInputRequestModel initalText) async {
+ CustomInputRequestModel initalText,
+ ) async {
final Requests req = Requests(
- baseUrl: PApiUrls.choreoBaseApi,
- choreoApiKey: Environment.choreoApiKey);
+ baseUrl: PApiUrls.choreoBaseApi,
+ choreoApiKey: Environment.choreoApiKey,
+ );
final Response res =
await req.post(url: PApiUrls.firstStep, body: initalText.toJson());
@@ -27,10 +26,12 @@ class ITRepo {
}
static Future systemChoiceTranslate(
- SystemChoiceRequestModel subseqText) async {
+ SystemChoiceRequestModel subseqText,
+ ) async {
final Requests req = Requests(
- baseUrl: PApiUrls.choreoBaseApi,
- choreoApiKey: Environment.choreoApiKey);
+ baseUrl: PApiUrls.choreoBaseApi,
+ choreoApiKey: Environment.choreoApiKey,
+ );
final Response res =
await req.post(url: PApiUrls.subseqStep, body: subseqText.toJson());
diff --git a/lib/pangea/repo/language_repo.dart b/lib/pangea/repo/language_repo.dart
index 418fa8e7c..b74b8a030 100644
--- a/lib/pangea/repo/language_repo.dart
+++ b/lib/pangea/repo/language_repo.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:convert';
import 'dart:developer';
-// Flutter imports:
import 'package:flutter/foundation.dart';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/models/language_model.dart';
import 'package:fluffychat/pangea/network/urls.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
diff --git a/lib/pangea/repo/message_service.repo.dart b/lib/pangea/repo/message_service.repo.dart
index 40b9ec4d2..612ee0c61 100644
--- a/lib/pangea/repo/message_service.repo.dart
+++ b/lib/pangea/repo/message_service.repo.dart
@@ -1,14 +1,16 @@
-// Project imports:
import '../config/environment.dart';
import '../network/requests.dart';
import '../network/urls.dart';
class MessageServiceRepo {
static Future sendPayloads(
- MessageServiceModel serviceModel, String messageId) async {
+ MessageServiceModel serviceModel,
+ String messageId,
+ ) async {
final Requests req = Requests(
- baseUrl: PApiUrls.choreoBaseApi,
- choreoApiKey: Environment.choreoApiKey);
+ baseUrl: PApiUrls.choreoBaseApi,
+ choreoApiKey: Environment.choreoApiKey,
+ );
final json = serviceModel.toJson();
json["msg_id"] = messageId;
diff --git a/lib/pangea/repo/similarity_repo.dart b/lib/pangea/repo/similarity_repo.dart
index 7d2e67ef9..9b3786af8 100644
--- a/lib/pangea/repo/similarity_repo.dart
+++ b/lib/pangea/repo/similarity_repo.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import '../network/requests.dart';
import '../network/urls.dart';
diff --git a/lib/pangea/repo/span_data_repo.dart b/lib/pangea/repo/span_data_repo.dart
index 68212a869..878ae5f44 100644
--- a/lib/pangea/repo/span_data_repo.dart
+++ b/lib/pangea/repo/span_data_repo.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/enum/span_choice_type.dart';
import 'package:fluffychat/pangea/enum/span_data_type.dart';
@@ -14,8 +11,10 @@ import '../network/requests.dart';
import '../network/urls.dart';
class SpanDataRepo {
- static Future getSpanDetails(String? accessToken,
- {required SpanDetailsRepoReqAndRes request}) async {
+ static Future getSpanDetails(
+ String? accessToken, {
+ required SpanDetailsRepoReqAndRes request,
+ }) async {
final Requests req = Requests(
accessToken: accessToken,
choreoApiKey: Environment.choreoApiKey,
diff --git a/lib/pangea/repo/subscription_repo.dart b/lib/pangea/repo/subscription_repo.dart
index 856a60dcc..16ea60c4d 100644
--- a/lib/pangea/repo/subscription_repo.dart
+++ b/lib/pangea/repo/subscription_repo.dart
@@ -1,14 +1,10 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:collection/collection.dart';
import 'package:http/http.dart' as http;
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
@@ -19,7 +15,7 @@ class SubscriptionRepo {
static final Map requestHeaders = {
'Content-type': 'application/json',
'Accept': 'application/json',
- 'Authorization': 'Bearer ${Environment.rcKey}'
+ 'Authorization': 'Bearer ${Environment.rcKey}',
};
static Future getAppIds() async {
@@ -65,7 +61,7 @@ class SubscriptionRepo {
final Map stripeHeaders = {
'Content-type': 'application/json',
'Accept': 'application/json',
- 'Authorization': 'Bearer ${Environment.rcStripeKey}'
+ 'Authorization': 'Bearer ${Environment.rcStripeKey}',
};
final String url = "${PApiUrls.rcSubscribers}/$userId";
final http.Response res = await http.get(
@@ -121,12 +117,14 @@ class RCProductsResponseModel {
Map metadata,
) {
return packageDetails['products']['items']
- .map((productDetails) => SubscriptionDetails(
- price: double.parse(metadata['$packageId.price']),
- duration: metadata['$packageId.duration'],
- id: productDetails['product']['store_identifier'],
- appId: productDetails['product']['app_id'],
- ))
+ .map(
+ (productDetails) => SubscriptionDetails(
+ price: double.parse(metadata['$packageId.price']),
+ duration: metadata['$packageId.duration'],
+ id: productDetails['product']['store_identifier'],
+ appId: productDetails['product']['app_id'],
+ ),
+ )
.toList()
.cast();
}
diff --git a/lib/pangea/repo/tokens_repo.dart b/lib/pangea/repo/tokens_repo.dart
index fa8eb0c27..8d47e1a2c 100644
--- a/lib/pangea/repo/tokens_repo.dart
+++ b/lib/pangea/repo/tokens_repo.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../config/environment.dart';
@@ -59,7 +56,7 @@ class TokensRequestModel {
Map toJson() => {
ModelKey.fullText: fullText,
ModelKey.userL1: userL1,
- ModelKey.userL2: userL2
+ ModelKey.userL2: userL2,
};
}
@@ -73,11 +70,12 @@ class TokensResponseModel {
Map json,
) =>
TokensResponseModel(
- tokens: (json[ModelKey.tokens] as Iterable)
- .map(
- (e) => PangeaToken.fromJson(e as Map),
- )
- .toList()
- .cast(),
- lang: json[ModelKey.lang]);
+ tokens: (json[ModelKey.tokens] as Iterable)
+ .map(
+ (e) => PangeaToken.fromJson(e as Map),
+ )
+ .toList()
+ .cast(),
+ lang: json[ModelKey.lang],
+ );
}
diff --git a/lib/pangea/repo/topic_data_repo.dart b/lib/pangea/repo/topic_data_repo.dart
index ccdd18181..9a5def03f 100644
--- a/lib/pangea/repo/topic_data_repo.dart
+++ b/lib/pangea/repo/topic_data_repo.dart
@@ -1,23 +1,20 @@
-// Dart imports:
import 'dart:convert';
-// Flutter imports:
import 'package:flutter/services.dart';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import '../config/environment.dart';
import '../models/chat_topic_model.dart';
-import '../models/lemma.dart';
import '../network/requests.dart';
import '../network/urls.dart';
/// accepts ChatTopic and calls an API for a list of Lemma
class TopicDataRepo {
- static Future generate(String? accessToken,
- {required TopicDataRequest request}) async {
+ static Future generate(
+ String? accessToken, {
+ required TopicDataRequest request,
+ }) async {
final Requests req = Requests(
accessToken: accessToken,
choreoApiKey: Environment.choreoApiKey,
diff --git a/lib/pangea/repo/user_repo.dart b/lib/pangea/repo/user_repo.dart
index 61fd56b8c..452120962 100644
--- a/lib/pangea/repo/user_repo.dart
+++ b/lib/pangea/repo/user_repo.dart
@@ -1,11 +1,8 @@
-// Dart imports:
import 'dart:convert';
import 'dart:developer';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/model_keys.dart';
import '../../widgets/matrix.dart';
import '../models/user_model.dart';
@@ -28,7 +25,7 @@ class PUserRepo {
final Map body = {
ModelKey.userFullName: fullName,
ModelKey.userPangeaUserId: userID,
- ModelKey.userDateOfBirth: dateOfBirth
+ ModelKey.userDateOfBirth: dateOfBirth,
};
final Response res = await req.post(
url: PApiUrls.createUser,
diff --git a/lib/pangea/repo/word_repo.dart b/lib/pangea/repo/word_repo.dart
index 13d9db995..399c620dd 100644
--- a/lib/pangea/repo/word_repo.dart
+++ b/lib/pangea/repo/word_repo.dart
@@ -1,10 +1,7 @@
-// Dart imports:
import 'dart:convert';
-// Package imports:
import 'package:http/http.dart';
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
import '../constants/model_keys.dart';
import '../models/word_data_model.dart';
@@ -20,13 +17,18 @@ class WordRepo {
required String userL2,
}) async {
final Requests req = Requests(
- choreoApiKey: Environment.choreoApiKey, accessToken: accessToken);
- final Response res = await req.post(url: PApiUrls.wordNet, body: {
- ModelKey.word: word,
- ModelKey.fullText: fullText,
- ModelKey.userL1: userL1,
- ModelKey.userL2: userL2,
- });
+ choreoApiKey: Environment.choreoApiKey,
+ accessToken: accessToken,
+ );
+ final Response res = await req.post(
+ url: PApiUrls.wordNet,
+ body: {
+ ModelKey.word: word,
+ ModelKey.fullText: fullText,
+ ModelKey.userL1: userL1,
+ ModelKey.userL2: userL2,
+ },
+ );
final json = jsonDecode(utf8.decode(res.bodyBytes));
diff --git a/lib/pangea/utils/add_to_space.dart b/lib/pangea/utils/add_to_space.dart
index bd6fda71b..92458856c 100644
--- a/lib/pangea/utils/add_to_space.dart
+++ b/lib/pangea/utils/add_to_space.dart
@@ -1,11 +1,8 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pangea/utils/any_state_holder.dart b/lib/pangea/utils/any_state_holder.dart
index e12bb8203..46efff974 100644
--- a/lib/pangea/utils/any_state_holder.dart
+++ b/lib/pangea/utils/any_state_holder.dart
@@ -1,13 +1,9 @@
-// Dart imports:
import 'dart:async';
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:sentry_flutter/sentry_flutter.dart';
-// Project imports:
import '../models/widget_measurement.dart';
class PangeaAnyState {
@@ -21,8 +17,10 @@ class PangeaAnyState {
_layerLinkAndKeys.clear();
}
- LayerLinkAndKey layerLinkAndKey(String transformTargetId,
- [throwErrorIfNotThere = false]) {
+ LayerLinkAndKey layerLinkAndKey(
+ String transformTargetId, [
+ throwErrorIfNotThere = false,
+ ]) {
if (_layerLinkAndKeys[transformTargetId] == null) {
if (throwErrorIfNotThere) {
Sentry.addBreadcrumb(Breadcrumb.fromJson(_layerLinkAndKeys));
diff --git a/lib/pangea/utils/archive_space.dart b/lib/pangea/utils/archive_space.dart
index 4164bfe2b..72f10fae4 100644
--- a/lib/pangea/utils/archive_space.dart
+++ b/lib/pangea/utils/archive_space.dart
@@ -1,7 +1,5 @@
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
diff --git a/lib/pangea/utils/bot_name.dart b/lib/pangea/utils/bot_name.dart
index d400994b8..dc7c0da8f 100644
--- a/lib/pangea/utils/bot_name.dart
+++ b/lib/pangea/utils/bot_name.dart
@@ -1,4 +1,3 @@
-// Project imports:
import 'package:fluffychat/pangea/config/environment.dart';
class BotName {
diff --git a/lib/pangea/utils/bot_style.dart b/lib/pangea/utils/bot_style.dart
index 8531f2be9..8c971b307 100644
--- a/lib/pangea/utils/bot_style.dart
+++ b/lib/pangea/utils/bot_style.dart
@@ -1,7 +1,5 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Project imports:
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
diff --git a/lib/pangea/utils/chat_list_handle_space_tap.dart b/lib/pangea/utils/chat_list_handle_space_tap.dart
index 617e60c99..4ddb76129 100644
--- a/lib/pangea/utils/chat_list_handle_space_tap.dart
+++ b/lib/pangea/utils/chat_list_handle_space_tap.dart
@@ -1,13 +1,10 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pages/chat_list/chat_list.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/widgets/matrix.dart';
diff --git a/lib/pangea/utils/class_chat_power_levels.dart b/lib/pangea/utils/class_chat_power_levels.dart
index 0581445d4..db19bb6ee 100644
--- a/lib/pangea/utils/class_chat_power_levels.dart
+++ b/lib/pangea/utils/class_chat_power_levels.dart
@@ -1,10 +1,7 @@
-// Flutter imports:
import 'package:flutter/material.dart';
-// Package imports:
import 'package:matrix/matrix.dart';
-// Project imports:
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
import '../../widgets/matrix.dart';
import '../constants/class_default_values.dart';
@@ -12,7 +9,9 @@ import '../extensions/pangea_room_extension.dart';
class ClassChatPowerLevels {
static Future