LoginV2 changes

This commit is contained in:
Neeraj Gupta 2023-07-24 11:43:17 +05:30
parent 4ad2627b8b
commit 37ce8a55db
2 changed files with 27 additions and 4 deletions

View file

@ -1,10 +1,13 @@
import 'package:email_validator/email_validator.dart';
import 'package:ente_auth/core/configuration.dart';
import 'package:ente_auth/core/errors.dart';
import "package:ente_auth/l10n/l10n.dart";
import 'package:ente_auth/services/user_service.dart';
import 'package:ente_auth/ui/account/login_pwd_verification_page.dart';
import 'package:ente_auth/ui/common/dynamic_fab.dart';
import 'package:ente_auth/ui/common/web_page.dart';
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import "package:styled_text/styled_text.dart";
class LoginPage extends StatefulWidget {
@ -19,6 +22,7 @@ class _LoginPageState extends State<LoginPage> {
bool _emailIsValid = false;
String? _email;
Color? _emailInputFieldColor;
final Logger _logger = Logger('_LoginPageState');
@override
void initState() {
@ -55,10 +59,27 @@ class _LoginPageState extends State<LoginPage> {
isKeypadOpen: isKeypadOpen,
isFormValid: _emailIsValid,
buttonText: context.l10n.logInLabel,
onPressedFunction: () {
onPressedFunction: () async {
UserService.instance.setEmail(_email!);
UserService.instance
.sendOtt(context, _email!, isCreateAccountScreen: false);
try {
final attr = await UserService.instance.getSrpAttributes(_email!);
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return LoginPasswordVerificationPage(
srpAttributes: attr,
);
},
),
);
}
catch (e) {
if(e is! SrpSetupNotCompleteError) {
_logger.warning('Error getting SRP attributes', e);
}
await UserService.instance
.sendOtt(context, _email!, isCreateAccountScreen: false);
}
FocusScope.of(context).unfocus();
},
),

View file

@ -1,5 +1,6 @@
import 'package:ente_auth/core/configuration.dart';
import 'package:ente_auth/l10n/l10n.dart';
import 'package:ente_auth/models/key_gen_result.dart';
import 'package:ente_auth/services/user_service.dart';
import 'package:ente_auth/ui/account/recovery_key_page.dart';
import 'package:ente_auth/ui/common/dynamic_fab.dart';
@ -399,7 +400,7 @@ class _PasswordEntryPageState extends State<PasswordEntryPage> {
createProgressDialog(context, l10n.generatingEncryptionKeysTitle);
await dialog.show();
try {
final result = await Configuration.instance.generateKey(password);
final KeyGenResult result = await Configuration.instance.generateKey(password);
Configuration.instance.setVolatilePassword(null);
await dialog.hide();
onDone() async {
@ -408,6 +409,7 @@ class _PasswordEntryPageState extends State<PasswordEntryPage> {
try {
await UserService.instance.setAttributes(result);
await dialog.hide();
Configuration.instance.setVolatilePassword(null);
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(
builder: (BuildContext context) {