mirror of
https://github.com/krille-chan/fluffychat
synced 2024-10-10 02:23:37 +00:00
fix: Block users
This commit is contained in:
parent
43e8e0f0d4
commit
f1b2040edb
6 changed files with 24 additions and 30 deletions
|
@ -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",
|
||||
|
|
|
@ -281,10 +281,14 @@ abstract class AppRoutes {
|
|||
),
|
||||
GoRoute(
|
||||
path: 'ignorelist',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
pageBuilder: (context, state) {
|
||||
return defaultPageBuilder(
|
||||
context,
|
||||
const SettingsIgnoreList(),
|
||||
SettingsIgnoreList(
|
||||
initialUserId: state.extra?.toString(),
|
||||
),
|
||||
);
|
||||
},
|
||||
redirect: loggedOutRedirect,
|
||||
),
|
||||
GoRoute(
|
||||
|
|
|
@ -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),
|
||||
),
|
||||
],
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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),
|
||||
),
|
||||
|
|
Loading…
Reference in a new issue