From f1b2040edbd133b120470cede03d660fe760a80e Mon Sep 17 00:00:00 2001 From: krille-chan Date: Fri, 1 Dec 2023 17:58:04 +0100 Subject: [PATCH] fix: Block users --- assets/l10n/intl_en.arb | 24 ++++--------------- lib/config/routes.dart | 12 ++++++---- .../settings_ignore_list_view.dart | 10 ++++---- .../settings_security_view.dart | 2 +- .../user_bottom_sheet/user_bottom_sheet.dart | 5 +++- .../user_bottom_sheet_view.dart | 1 + 6 files changed, 24 insertions(+), 30 deletions(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 63d50cea3..e130b67c2 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -986,26 +986,10 @@ "type": "text", "placeholders": {} }, - "ignore": "Ignore", - "@ignore": { - "type": "text", - "placeholders": {} - }, - "ignoredUsers": "Ignored users", - "@ignoredUsers": { - "type": "text", - "placeholders": {} - }, - "ignoreListDescription": "You can ignore users who are disturbing you. You won't be able to receive any messages or room invites from the users on your personal ignore list.", - "@ignoreListDescription": { - "type": "text", - "placeholders": {} - }, - "ignoreUsername": "Ignore username", - "@ignoreUsername": { - "type": "text", - "placeholders": {} - }, + "block": "block", + "blockedUsers": "Blocked users", + "blockListDescription": "You can block users who are disturbing you. You won't be able to receive any messages or room invites from the users on your personal block list.", + "blockUsername": "Ignore username", "iHaveClickedOnLink": "I have clicked on the link", "@iHaveClickedOnLink": { "type": "text", diff --git a/lib/config/routes.dart b/lib/config/routes.dart index 9d6b837e0..ae4f85c9a 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -281,10 +281,14 @@ abstract class AppRoutes { ), GoRoute( path: 'ignorelist', - pageBuilder: (context, state) => defaultPageBuilder( - context, - const SettingsIgnoreList(), - ), + pageBuilder: (context, state) { + return defaultPageBuilder( + context, + SettingsIgnoreList( + initialUserId: state.extra?.toString(), + ), + ); + }, redirect: loggedOutRedirect, ), GoRoute( 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 8c7be9c4e..79c21eb28 100644 --- a/lib/pages/settings_ignore_list/settings_ignore_list_view.dart +++ b/lib/pages/settings_ignore_list/settings_ignore_list_view.dart @@ -20,10 +20,12 @@ class SettingsIgnoreListView extends StatelessWidget { return Scaffold( appBar: AppBar( leading: const Center(child: BackButton()), - title: Text(L10n.of(context)!.ignoredUsers), + title: Text(L10n.of(context)!.blockedUsers), ), body: MaxWidthBody( + withScrolling: false, child: Column( + mainAxisSize: MainAxisSize.min, children: [ Padding( padding: const EdgeInsets.all(16.0), @@ -39,9 +41,9 @@ class SettingsIgnoreListView extends StatelessWidget { border: const OutlineInputBorder(), hintText: 'bad_guy:domain.abc', prefixText: '@', - labelText: L10n.of(context)!.ignoreUsername, + labelText: L10n.of(context)!.blockUsername, suffixIcon: IconButton( - tooltip: L10n.of(context)!.ignore, + tooltip: L10n.of(context)!.block, icon: const Icon(Icons.done_outlined), onPressed: () => controller.ignoreUser(context), ), @@ -49,7 +51,7 @@ class SettingsIgnoreListView extends StatelessWidget { ), const SizedBox(height: 16), Text( - L10n.of(context)!.ignoreListDescription, + L10n.of(context)!.blockListDescription, style: const TextStyle(color: Colors.orange), ), ], diff --git a/lib/pages/settings_security/settings_security_view.dart b/lib/pages/settings_security/settings_security_view.dart index 6f73d4de3..c7649496b 100644 --- a/lib/pages/settings_security/settings_security_view.dart +++ b/lib/pages/settings_security/settings_security_view.dart @@ -31,7 +31,7 @@ class SettingsSecurityView extends StatelessWidget { ListTile( leading: const Icon(Icons.block_outlined), trailing: const Icon(Icons.chevron_right_outlined), - title: Text(L10n.of(context)!.ignoredUsers), + title: Text(L10n.of(context)!.blockedUsers), onTap: () => context.go('/rooms/settings/security/ignorelist'), ), ListTile( diff --git a/lib/pages/user_bottom_sheet/user_bottom_sheet.dart b/lib/pages/user_bottom_sheet/user_bottom_sheet.dart index cc5b0cf8e..fd34f5c42 100644 --- a/lib/pages/user_bottom_sheet/user_bottom_sheet.dart +++ b/lib/pages/user_bottom_sheet/user_bottom_sheet.dart @@ -237,7 +237,10 @@ class UserBottomSheetController extends State { widget.outerContext.go('/rooms/$roomId'); break; case UserBottomSheetAction.ignore: - context.go('/rooms/settings/security/ignorelist'); + Navigator.of(context).pop(); + final userId = user?.id ?? widget.profile?.userId; + widget.outerContext + .go('/rooms/settings/security/ignorelist', extra: userId); } } 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 8f7420646..874748f86 100644 --- a/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart +++ b/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart @@ -93,6 +93,7 @@ class UserBottomSheetView extends StatelessWidget { padding: const EdgeInsets.only(right: 8.0), child: IconButton( icon: const Icon(Icons.block_outlined), + tooltip: L10n.of(context)!.block, onPressed: () => controller .participantAction(UserBottomSheetAction.ignore), ),