fix: Block users

This commit is contained in:
krille-chan 2023-12-01 17:58:04 +01:00
parent 43e8e0f0d4
commit f1b2040edb
No known key found for this signature in database
6 changed files with 24 additions and 30 deletions

View file

@ -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",

View file

@ -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(

View file

@ -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),
),
],

View file

@ -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(

View file

@ -237,7 +237,10 @@ class UserBottomSheetController extends State<UserBottomSheet> {
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);
}
}

View file

@ -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),
),