From dd72177f7ddbe3fbd44e66010a7a87818877a8c7 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Thu, 12 Jun 2025 11:26:47 -0400 Subject: [PATCH 1/2] Adds delete button to space view menu --- lib/pages/chat_list/space_view.dart | 44 ++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index 9ad564215..bfcabd8d6 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -15,6 +15,7 @@ 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'; import 'package:fluffychat/pangea/chat_settings/constants/pangea_room_types.dart'; +import 'package:fluffychat/pangea/chat_settings/widgets/delete_space_dialog.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; import 'package:fluffychat/pangea/onboarding/onboarding.dart'; @@ -375,6 +376,23 @@ class _SpaceViewState extends State { if (!mounted) return; if (success.error != null) return; widget.onBack(); + // #Pangea + case SpaceActions.delete: + if (space == null) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(L10n.of(context).oopsSomethingWentWrong)), + ); + return; + } + final resp = await showDialog( + context: context, + builder: (_) => DeleteSpaceDialog(space: space), + ); + + if (resp == true) { + context.go("/rooms?spaceId=clear"); + } + // Pangea# } } @@ -662,12 +680,33 @@ class _SpaceViewState extends State { child: Row( mainAxisSize: MainAxisSize.min, children: [ - const Icon(Icons.delete_outlined), + // #Pangea + // const Icon(Icons.delete_outlined), + const Icon(Icons.logout_outlined), + // Pangea# const SizedBox(width: 12), Text(L10n.of(context).leave), ], ), ), + // #Pangea + if (Matrix.of(context) + .client + .getRoomById(widget.spaceId) + ?.isRoomAdmin ?? + false) + PopupMenuItem( + value: SpaceActions.delete, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon(Icons.delete_outlined), + const SizedBox(width: 12), + Text(L10n.of(context).delete), + ], + ), + ), + // Pangea# ], ), ], @@ -978,4 +1017,7 @@ enum SpaceActions { settings, invite, leave, + // #Pangea + delete, + // Pangea# } From cdf81276b25817aca301ed4d63a2402c0914f03a Mon Sep 17 00:00:00 2001 From: ggurdin Date: Thu, 12 Jun 2025 11:36:33 -0400 Subject: [PATCH 2/2] chore: delete button styling --- lib/pages/chat_list/space_view.dart | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index bfcabd8d6..b38c42b70 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -700,9 +700,20 @@ class _SpaceViewState extends State { child: Row( mainAxisSize: MainAxisSize.min, children: [ - const Icon(Icons.delete_outlined), + Icon( + Icons.delete_outlined, + color: + Theme.of(context).colorScheme.onErrorContainer, + ), const SizedBox(width: 12), - Text(L10n.of(context).delete), + Text( + L10n.of(context).delete, + style: TextStyle( + color: Theme.of(context) + .colorScheme + .onErrorContainer, + ), + ), ], ), ),