mirror of
https://github.com/krille-chan/fluffychat
synced 2024-10-10 03:43:41 +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",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"ignore": "Ignore",
|
"block": "block",
|
||||||
"@ignore": {
|
"blockedUsers": "Blocked users",
|
||||||
"type": "text",
|
"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.",
|
||||||
"placeholders": {}
|
"blockUsername": "Ignore username",
|
||||||
},
|
|
||||||
"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": {}
|
|
||||||
},
|
|
||||||
"iHaveClickedOnLink": "I have clicked on the link",
|
"iHaveClickedOnLink": "I have clicked on the link",
|
||||||
"@iHaveClickedOnLink": {
|
"@iHaveClickedOnLink": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|
|
@ -281,10 +281,14 @@ abstract class AppRoutes {
|
||||||
),
|
),
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: 'ignorelist',
|
path: 'ignorelist',
|
||||||
pageBuilder: (context, state) => defaultPageBuilder(
|
pageBuilder: (context, state) {
|
||||||
context,
|
return defaultPageBuilder(
|
||||||
const SettingsIgnoreList(),
|
context,
|
||||||
),
|
SettingsIgnoreList(
|
||||||
|
initialUserId: state.extra?.toString(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
redirect: loggedOutRedirect,
|
redirect: loggedOutRedirect,
|
||||||
),
|
),
|
||||||
GoRoute(
|
GoRoute(
|
||||||
|
|
|
@ -20,10 +20,12 @@ class SettingsIgnoreListView extends StatelessWidget {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
leading: const Center(child: BackButton()),
|
leading: const Center(child: BackButton()),
|
||||||
title: Text(L10n.of(context)!.ignoredUsers),
|
title: Text(L10n.of(context)!.blockedUsers),
|
||||||
),
|
),
|
||||||
body: MaxWidthBody(
|
body: MaxWidthBody(
|
||||||
|
withScrolling: false,
|
||||||
child: Column(
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(16.0),
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
@ -39,9 +41,9 @@ class SettingsIgnoreListView extends StatelessWidget {
|
||||||
border: const OutlineInputBorder(),
|
border: const OutlineInputBorder(),
|
||||||
hintText: 'bad_guy:domain.abc',
|
hintText: 'bad_guy:domain.abc',
|
||||||
prefixText: '@',
|
prefixText: '@',
|
||||||
labelText: L10n.of(context)!.ignoreUsername,
|
labelText: L10n.of(context)!.blockUsername,
|
||||||
suffixIcon: IconButton(
|
suffixIcon: IconButton(
|
||||||
tooltip: L10n.of(context)!.ignore,
|
tooltip: L10n.of(context)!.block,
|
||||||
icon: const Icon(Icons.done_outlined),
|
icon: const Icon(Icons.done_outlined),
|
||||||
onPressed: () => controller.ignoreUser(context),
|
onPressed: () => controller.ignoreUser(context),
|
||||||
),
|
),
|
||||||
|
@ -49,7 +51,7 @@ class SettingsIgnoreListView extends StatelessWidget {
|
||||||
),
|
),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
Text(
|
Text(
|
||||||
L10n.of(context)!.ignoreListDescription,
|
L10n.of(context)!.blockListDescription,
|
||||||
style: const TextStyle(color: Colors.orange),
|
style: const TextStyle(color: Colors.orange),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -31,7 +31,7 @@ class SettingsSecurityView extends StatelessWidget {
|
||||||
ListTile(
|
ListTile(
|
||||||
leading: const Icon(Icons.block_outlined),
|
leading: const Icon(Icons.block_outlined),
|
||||||
trailing: const Icon(Icons.chevron_right_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'),
|
onTap: () => context.go('/rooms/settings/security/ignorelist'),
|
||||||
),
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
|
|
|
@ -237,7 +237,10 @@ class UserBottomSheetController extends State<UserBottomSheet> {
|
||||||
widget.outerContext.go('/rooms/$roomId');
|
widget.outerContext.go('/rooms/$roomId');
|
||||||
break;
|
break;
|
||||||
case UserBottomSheetAction.ignore:
|
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),
|
padding: const EdgeInsets.only(right: 8.0),
|
||||||
child: IconButton(
|
child: IconButton(
|
||||||
icon: const Icon(Icons.block_outlined),
|
icon: const Icon(Icons.block_outlined),
|
||||||
|
tooltip: L10n.of(context)!.block,
|
||||||
onPressed: () => controller
|
onPressed: () => controller
|
||||||
.participantAction(UserBottomSheetAction.ignore),
|
.participantAction(UserBottomSheetAction.ignore),
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in a new issue