From 39c8012137740463d1c30c725092ac1b8919f50a Mon Sep 17 00:00:00 2001 From: Kelrap Date: Mon, 20 May 2024 13:52:14 -0400 Subject: [PATCH 1/3] Archive list does not show spaces/analytics rooms --- lib/pages/archive/archive.dart | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/pages/archive/archive.dart b/lib/pages/archive/archive.dart index a3c35c347..06d80b7df 100644 --- a/lib/pages/archive/archive.dart +++ b/lib/pages/archive/archive.dart @@ -1,13 +1,12 @@ -import 'package:flutter/material.dart'; - import 'package:adaptive_dialog/adaptive_dialog.dart'; +import 'package:fluffychat/pages/archive/archive_view.dart'; +import 'package:fluffychat/pangea/extensions/pangea_room_extension.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:matrix/matrix.dart'; -import 'package:fluffychat/pages/archive/archive_view.dart'; -import 'package:fluffychat/widgets/matrix.dart'; - class Archive extends StatefulWidget { const Archive({super.key}); @@ -20,7 +19,11 @@ class ArchiveController extends State { Future> getArchive(BuildContext context) async { if (archive.isNotEmpty) return archive; - return archive = await Matrix.of(context).client.loadArchive(); + // #Pangea + return archive = (await Matrix.of(context).client.loadArchive()) + .where((e) => (!e.isSpace && !e.isAnalyticsRoom)) + .toList(); + // Pangea# } void forgetRoomAction(int i) async { From 5f839555440df8c33ef5af771457263fbc7ef37d Mon Sep 17 00:00:00 2001 From: Kelrap Date: Mon, 20 May 2024 14:26:18 -0400 Subject: [PATCH 2/3] Archived chats don't show Chat Details or Leave --- lib/pages/archive/archive.dart | 1 + lib/pages/chat/chat_view.dart | 3 +- lib/widgets/chat_settings_popup_menu.dart | 39 ++++++++++++++++------- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/lib/pages/archive/archive.dart b/lib/pages/archive/archive.dart index 06d80b7df..78e735d05 100644 --- a/lib/pages/archive/archive.dart +++ b/lib/pages/archive/archive.dart @@ -20,6 +20,7 @@ class ArchiveController extends State { Future> getArchive(BuildContext context) async { if (archive.isNotEmpty) return archive; // #Pangea + //return archive = await Matrix.of(context).client.loadArchive(); return archive = (await Matrix.of(context).client.loadArchive()) .where((e) => (!e.isSpace && !e.isAnalyticsRoom)) .toList(); diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 57255ffc9..21789f527 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -116,7 +116,8 @@ class ChatView extends StatelessWidget { // #Pangea } else { return [ - ChatSettingsPopupMenu(controller.room, !controller.room.isDirectChat), + ChatSettingsPopupMenu(controller.room, + (!controller.room.isDirectChat && !controller.room.isArchived)), ]; } diff --git a/lib/widgets/chat_settings_popup_menu.dart b/lib/widgets/chat_settings_popup_menu.dart index f10f08ff7..1feadc459 100644 --- a/lib/widgets/chat_settings_popup_menu.dart +++ b/lib/widgets/chat_settings_popup_menu.dart @@ -83,19 +83,34 @@ class ChatSettingsPopupMenuState extends State { ], ), ), - PopupMenuItem( - value: 'leave', - child: Row( - children: [ - // #Pangea - // const Icon(Icons.delete_outlined), - const Icon(Icons.arrow_forward), - // Pangea# - const SizedBox(width: 12), - Text(L10n.of(context)!.leave), - ], + // #Pangea + // PopupMenuItem( + // value: 'leave', + // child: Row( + // children: [ + // // #Pangea + // // const Icon(Icons.delete_outlined), + // const Icon(Icons.arrow_forward), + // // Pangea# + // const SizedBox(width: 12), + // Text(L10n.of(context)!.leave), + // ], + // ), + // ), + if (!widget.room.isArchived) + PopupMenuItem( + value: 'leave', + child: Row( + children: [ + // #Pangea + // const Icon(Icons.delete_outlined), + const Icon(Icons.arrow_forward), + // Pangea# + const SizedBox(width: 12), + Text(L10n.of(context)!.leave), + ], + ), ), - ), // #Pangea if (classSettings != null) PopupMenuItem( From 8c421d80cc82427e4d1579366d0c115c97bfc3b9 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 20 May 2024 14:38:17 -0400 Subject: [PATCH 3/3] adjusted pangea comments --- lib/widgets/chat_settings_popup_menu.dart | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lib/widgets/chat_settings_popup_menu.dart b/lib/widgets/chat_settings_popup_menu.dart index 1feadc459..781b8ab61 100644 --- a/lib/widgets/chat_settings_popup_menu.dart +++ b/lib/widgets/chat_settings_popup_menu.dart @@ -84,20 +84,8 @@ class ChatSettingsPopupMenuState extends State { ), ), // #Pangea - // PopupMenuItem( - // value: 'leave', - // child: Row( - // children: [ - // // #Pangea - // // const Icon(Icons.delete_outlined), - // const Icon(Icons.arrow_forward), - // // Pangea# - // const SizedBox(width: 12), - // Text(L10n.of(context)!.leave), - // ], - // ), - // ), if (!widget.room.isArchived) + // Pangea# PopupMenuItem( value: 'leave', child: Row(