showBlockUserDialog function
Future<void>
showBlockUserDialog( - dynamic context,
- dynamic member
)
Implementation
Future<void> showBlockUserDialog(BuildContext context, Member member) async {
final userId = member.userId().toString();
await showDialog(
context: context,
builder: (BuildContext context) {
final lang = L10n.of(context);
return AlertDialog(
title: Text(lang.blockTitle(userId)),
content: RichText(
textAlign: TextAlign.left,
text: TextSpan(
text: lang.youAreAboutToBlock(userId),
style: Theme.of(context).textTheme.headlineMedium,
children: <TextSpan>[
TextSpan(text: lang.blockInfoText),
TextSpan(text: lang.continueQuestion),
],
),
),
actions: <Widget>[
OutlinedButton(
onPressed: () => Navigator.pop(context),
child: Text(lang.no),
),
ActerPrimaryActionButton(
onPressed: () async {
EasyLoading.show(status: lang.blockingUserProgress);
try {
await member.ignore();
if (!context.mounted) {
EasyLoading.dismiss();
return;
}
EasyLoading.showToast(lang.blockingUserSuccess);
} catch (e, s) {
_log.severe('Failed to block user', e, s);
if (!context.mounted) {
EasyLoading.dismiss();
return;
}
EasyLoading.showError(
lang.blockingUserFailed(e),
duration: const Duration(seconds: 3),
);
}
Navigator.pop(context);
},
child: Text(lang.yes),
),
],
);
},
);
}