verification before payment and email fixes
This commit is contained in:
@@ -15,6 +15,7 @@ import 'package:pweb/widgets/password/hint/short.dart';
|
||||
import 'package:pweb/widgets/password/password.dart';
|
||||
import 'package:pweb/widgets/username.dart';
|
||||
import 'package:pweb/widgets/vspacer.dart';
|
||||
import 'package:pweb/controllers/email.dart';
|
||||
import 'package:pweb/utils/error/snackbar.dart';
|
||||
import 'package:pweb/services/posthog.dart';
|
||||
|
||||
@@ -31,12 +32,11 @@ class LoginForm extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _LoginFormState extends State<LoginForm> {
|
||||
final TextEditingController _usernameController = TextEditingController();
|
||||
final EmailFieldController _emailController = EmailFieldController();
|
||||
final TextEditingController _passwordController = TextEditingController();
|
||||
final _formKey = GlobalKey<FormState>();
|
||||
|
||||
// ValueNotifiers for validation state
|
||||
final ValueNotifier<bool> _isUsernameAcceptable = ValueNotifier<bool>(false);
|
||||
final ValueNotifier<bool> _isPasswordAcceptable = ValueNotifier<bool>(false);
|
||||
|
||||
@override
|
||||
@@ -44,8 +44,7 @@ class _LoginFormState extends State<LoginForm> {
|
||||
super.initState();
|
||||
final initialEmail = widget.initialEmail?.trim();
|
||||
if (initialEmail != null && initialEmail.isNotEmpty) {
|
||||
_usernameController.text = initialEmail;
|
||||
_isUsernameAcceptable.value = true;
|
||||
_emailController.setText(initialEmail);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +53,7 @@ class _LoginFormState extends State<LoginForm> {
|
||||
|
||||
try {
|
||||
final outcome = await provider.login(
|
||||
email: _usernameController.text,
|
||||
email: _emailController.text,
|
||||
password: _passwordController.text,
|
||||
locale: context.read<LocaleProvider>().locale.languageCode,
|
||||
);
|
||||
@@ -74,9 +73,8 @@ class _LoginFormState extends State<LoginForm> {
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_usernameController.dispose();
|
||||
_emailController.dispose();
|
||||
_passwordController.dispose();
|
||||
_isUsernameAcceptable.dispose();
|
||||
_isPasswordAcceptable.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
@@ -93,8 +91,7 @@ class _LoginFormState extends State<LoginForm> {
|
||||
const LoginHeader(),
|
||||
const VSpacer(multiplier: 1.5),
|
||||
UsernameField(
|
||||
controller: _usernameController,
|
||||
onValid: (isValid) => _isUsernameAcceptable.value = isValid,
|
||||
controller: _emailController,
|
||||
),
|
||||
VSpacer(),
|
||||
defaulRulesPasswordField(
|
||||
@@ -105,7 +102,7 @@ class _LoginFormState extends State<LoginForm> {
|
||||
),
|
||||
VSpacer(multiplier: 2.0),
|
||||
ValueListenableBuilder<bool>(
|
||||
valueListenable: _isUsernameAcceptable,
|
||||
valueListenable: _emailController.isValid,
|
||||
builder: (context, isUsernameValid, child) => ValueListenableBuilder<bool>(
|
||||
valueListenable: _isPasswordAcceptable,
|
||||
builder: (context, isPasswordValid, child) => ButtonsRow(
|
||||
|
||||
Reference in New Issue
Block a user