updateDisplayName method

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

Implementation

Future<void> updateDisplayName(
  BuildContext context,
  WidgetRef ref,
) async {
  final TextEditingController newName = TextEditingController();
  final avatarInfo = ref.read(accountAvatarInfoProvider);
  newName.text = avatarInfo.displayName ?? '';

  final newText = await showDialog<String>(
    context: context,
    builder: (BuildContext context) =>
        ChangeDisplayName(currentName: avatarInfo.displayName),
  );

  if (!context.mounted) return;
  if (newText == null) return;

  EasyLoading.show(status: L10n.of(context).updatingDisplayName);
  await ref.read(accountProvider).setDisplayName(newText);
  ref.invalidate(accountProvider);

  if (!context.mounted) {
    EasyLoading.dismiss();
    return;
  }
  EasyLoading.showToast(L10n.of(context).displayNameUpdateSubmitted);
}