addEmailAddress method
Future<void>
addEmailAddress( - dynamic context,
- dynamic ref
)
Implementation
Future<void> addEmailAddress(BuildContext context, WidgetRef ref) async {
final account = ref.read(accountProvider);
final newValue = await showDialog<String>(
context: context,
builder: (BuildContext context) => const AddEmailAddr(),
);
if (newValue != null && context.mounted) {
EasyLoading.show(status: L10n.of(context).addingEmailAddress);
try {
await account.request3pidManagementTokenViaEmail(newValue);
ref.invalidate(emailAddressesProvider);
if (!context.mounted) {
EasyLoading.dismiss();
return;
}
EasyLoading.showToast(L10n.of(context).pleaseCheckYourInbox);
} catch (e, s) {
_log.severe('Failed to submit email address', e, s);
if (!context.mounted) {
EasyLoading.dismiss();
return;
}
EasyLoading.showError(
L10n.of(context).failedToSubmitEmail(e),
duration: const Duration(seconds: 3),
);
}
}
}