import 'package:ente_auth/l10n/l10n.dart'; import 'package:ente_auth/services/user_service.dart'; import 'package:ente_auth/utils/dialog_util.dart'; import 'package:ente_auth/utils/email_util.dart'; import 'package:flutter/material.dart'; class ChangeEmailDialog extends StatefulWidget { const ChangeEmailDialog({super.key}); @override State createState() => _ChangeEmailDialogState(); } class _ChangeEmailDialogState extends State { String _email = ""; @override Widget build(BuildContext context) { final l10n = context.l10n; return AlertDialog( title: Text(l10n.enterEmailHint), content: SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ TextFormField( decoration: InputDecoration( hintText: l10n.email, hintStyle: const TextStyle( color: Colors.white30, ), contentPadding: const EdgeInsets.all(12), ), onChanged: (value) { setState(() { _email = value; }); }, autocorrect: false, keyboardType: TextInputType.emailAddress, initialValue: _email, autofocus: true, ), ], ), ), actions: [ TextButton( child: Text( l10n.cancel, style: const TextStyle( color: Colors.redAccent, ), ), onPressed: () { Navigator.pop(context); }, ), TextButton( child: Text( l10n.verify, style: const TextStyle( color: Colors.purple, ), ), onPressed: () { if (!isValidEmail(_email)) { showErrorDialog( context, l10n.invalidEmailTitle, l10n.invalidEmailMessage, ); return; } UserService.instance.sendOtt(context, _email, isChangeEmail: true); }, ), ], ); } }