confirmationTokenAddress method
Future<void>
confirmationTokenAddress( - dynamic context,
- dynamic ref
)
Implementation
Future<void> confirmationTokenAddress(
BuildContext context,
WidgetRef ref,
) async {
final account = ref.read(accountProvider);
final newValue = await showDialog<EmailConfirm>(
context: context,
builder: (BuildContext context) => const TokenConfirm(),
);
if (!context.mounted) return;
if (newValue == null) return;
EasyLoading.show(status: L10n.of(context).tryingToConfirmToken);
try {
final result = await account.submitTokenFromEmail(
emailAddress,
newValue.token,
newValue.password,
);
if (!context.mounted) {
EasyLoading.dismiss();
return;
}
if (result) {
ref.invalidate(emailAddressesProvider);
EasyLoading.showToast(L10n.of(context).looksGoodAddressConfirmed);
} else {
_log.severe('Invalid token or password');
EasyLoading.showError(
L10n.of(context).invalidTokenOrPassword,
duration: const Duration(seconds: 3),
);
}
} catch (e, s) {
_log.severe('Failed to confirm token', e, s);
if (!context.mounted) {
EasyLoading.dismiss();
return;
}
EasyLoading.showError(
L10n.of(context).failedToConfirmToken(e),
duration: const Duration(seconds: 3),
);
}
}