diff --git a/lib/config/routes.dart b/lib/config/routes.dart index ff2b0b55e..3f7a39d9d 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -1,9 +1,5 @@ import 'dart:async'; -import 'package:flutter/cupertino.dart'; - -import 'package:go_router/go_router.dart'; - import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/pages/archive/archive.dart'; import 'package:fluffychat/pages/chat/chat.dart'; @@ -42,6 +38,9 @@ import 'package:fluffychat/widgets/layouts/empty_page.dart'; import 'package:fluffychat/widgets/layouts/two_column_layout.dart'; import 'package:fluffychat/widgets/log_view.dart'; import 'package:fluffychat/widgets/matrix.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:go_router/go_router.dart'; + import '../pangea/pages/analytics/class_analytics/class_analytics.dart'; import '../pangea/pages/analytics/class_list/class_list.dart'; @@ -252,13 +251,23 @@ abstract class AppRoutes { GoRoute( // #Pangea // path: 'newgroup', - path: 'newgroup/:spaceid', + path: 'newgroup', // Pangea# pageBuilder: (context, state) => defaultPageBuilder( context, const NewGroup(), ), redirect: loggedOutRedirect, + routes: [ + GoRoute( + path: ':spaceid', + pageBuilder: (context, state) => defaultPageBuilder( + context, + const NewGroup(), + ), + redirect: loggedOutRedirect, + ), + ], ), GoRoute( path: 'newspace', diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart index 7a47424a9..531049b90 100644 --- a/lib/pages/chat_list/chat_list_body.dart +++ b/lib/pages/chat_list/chat_list_body.dart @@ -1,9 +1,4 @@ -import 'package:flutter/material.dart'; - import 'package:animations/animations.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:matrix/matrix.dart'; - 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'; @@ -15,6 +10,10 @@ import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart'; import 'package:fluffychat/utils/stream_extension.dart'; import 'package:fluffychat/widgets/avatar.dart'; import 'package:fluffychat/widgets/public_room_bottom_sheet.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:matrix/matrix.dart'; + import '../../config/themes.dart'; import '../../widgets/connection_status_header.dart'; import '../../widgets/matrix.dart'; @@ -196,27 +195,16 @@ class ChatListViewBody extends StatelessWidget { if (client.prevBatch != null && rooms.isEmpty && !controller.isSearchMode) ...[ - Padding( - padding: const EdgeInsets.all(32.0), - // #Pangea - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - 'private_chat_wallpaper.png', - height: 256, - ), - ], - ), - // child: Icon( - // CupertinoIcons.chat_bubble_2, - // size: 128, - // color: - // Theme.of(context).colorScheme.onInverseSurface, - // ), - // Pangea# - ), // #Pangea + // Padding( + // padding: const EdgeInsets.all(32.0), + // child: Icon( + // CupertinoIcons.chat_bubble_2, + // size: 128, + // color: + // Theme.of(context).colorScheme.onInverseSurface, + // ), + // ), Center( child: ChatListBodyStartText( controller: controller, diff --git a/lib/pages/chat_list/start_chat_fab.dart b/lib/pages/chat_list/start_chat_fab.dart index 01f0d4165..9daa4c4d7 100644 --- a/lib/pages/chat_list/start_chat_fab.dart +++ b/lib/pages/chat_list/start_chat_fab.dart @@ -1,12 +1,10 @@ import 'dart:core'; -import 'package:flutter/material.dart'; - -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:go_router/go_router.dart'; - import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/pages/chat_list/chat_list.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:go_router/go_router.dart'; class StartChatFloatingActionButton extends StatelessWidget { final ActiveFilter activeFilter; @@ -29,7 +27,7 @@ class StartChatFloatingActionButton extends StatelessWidget { void _onPressed(BuildContext context) { //#Pangea if (controller.activeSpaceId != null) { - context.go('/rooms/newgroup/${controller.activeSpaceId}'); + context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); return; } //Pangea# @@ -43,7 +41,7 @@ class StartChatFloatingActionButton extends StatelessWidget { case ActiveFilter.groups: // #Pangea // context.go('/rooms/newgroup'); - context.go('/rooms/newgroup/${controller.activeSpaceId}'); + context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); // Pangea# break; case ActiveFilter.spaces: diff --git a/lib/widgets/matrix.dart b/lib/widgets/matrix.dart index eb80a052f..aba254349 100644 --- a/lib/widgets/matrix.dart +++ b/lib/widgets/matrix.dart @@ -2,12 +2,19 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - import 'package:adaptive_dialog/adaptive_dialog.dart'; import 'package:collection/collection.dart'; import 'package:desktop_notifications/desktop_notifications.dart'; +import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; +import 'package:fluffychat/pangea/utils/any_state_holder.dart'; +import 'package:fluffychat/utils/client_manager.dart'; +import 'package:fluffychat/utils/localized_exception_extension.dart'; +import 'package:fluffychat/utils/platform_infos.dart'; +import 'package:fluffychat/utils/uia_request_manager.dart'; +import 'package:fluffychat/utils/voip_plugin.dart'; +import 'package:fluffychat/widgets/fluffy_chat_app.dart'; +import 'package:flutter/foundation.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:http/http.dart' as http; @@ -19,14 +26,6 @@ import 'package:shared_preferences/shared_preferences.dart'; import 'package:universal_html/html.dart' as html; import 'package:url_launcher/url_launcher_string.dart'; -import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; -import 'package:fluffychat/pangea/utils/any_state_holder.dart'; -import 'package:fluffychat/utils/client_manager.dart'; -import 'package:fluffychat/utils/localized_exception_extension.dart'; -import 'package:fluffychat/utils/platform_infos.dart'; -import 'package:fluffychat/utils/uia_request_manager.dart'; -import 'package:fluffychat/utils/voip_plugin.dart'; -import 'package:fluffychat/widgets/fluffy_chat_app.dart'; import '../config/app_config.dart'; import '../config/setting_keys.dart'; import '../pages/key_verification/key_verification_dialog.dart'; @@ -409,6 +408,9 @@ class MatrixState extends State with WidgetsBindingObserver { this, onFcmError: (errorMsg, {Uri? link}) async { final result = await showOkCancelAlertDialog( + // #Pangea + useRootNavigator: false, + // Pangea# barrierDismissible: true, context: context, title: L10n.of(context)!.pushNotificationsNotAvailable,