linkEmail method

Future<void> linkEmail(
  1. dynamic context,
  2. dynamic ref
)

Implementation

Future<void> linkEmail(BuildContext context, WidgetRef ref) async {
  if (!formKey.currentState!.validate()) return;
  final account = ref.read(accountProvider);
  EasyLoading.show(status: L10n.of(context).linkingEmailAddress);
  try {
    final emailAddr = emailController.text.trim();
    await account.request3pidManagementTokenViaEmail(emailAddr);
    ref.invalidate(emailAddressesProvider);
    if (!context.mounted) return;
    EasyLoading.showSuccess(L10n.of(context).pleaseCheckYourInbox);
    isLinked.value = true;
  } catch (e) {
    EasyLoading.showToast(
      L10n.of(context).failedToSubmitEmail(e),
      toastPosition: EasyLoadingToastPosition.bottom,
    );
  } finally {
    EasyLoading.dismiss();
    context.goNamed(Routes.uploadAvatar.name);
  }
}