diff --git a/auth/lib/l10n/arb/app_en.arb b/auth/lib/l10n/arb/app_en.arb index b46344f8e82..6b0e95d6509 100644 --- a/auth/lib/l10n/arb/app_en.arb +++ b/auth/lib/l10n/arb/app_en.arb @@ -88,6 +88,8 @@ "useRecoveryKey": "Use recovery key", "incorrectPasswordTitle": "Incorrect password", "welcomeBack": "Welcome back!", + "emailAlreadyRegistered": "Email already registered.", + "emailNotRegistered": "Email not registered.", "madeWithLoveAtPrefix": "made with ❤️ at ", "supportDevs": "Subscribe to ente to support us", "supportDiscount": "Use coupon code \"AUTH\" to get 10% off first year", diff --git a/auth/lib/services/user_service.dart b/auth/lib/services/user_service.dart index 7afb7a4c6e1..222f8d5d628 100644 --- a/auth/lib/services/user_service.dart +++ b/auth/lib/services/user_service.dart @@ -109,7 +109,24 @@ class UserService { } on DioException catch (e) { await dialog.hide(); _logger.info(e); - if (e.response != null && e.response!.statusCode == 403) { + final String? enteErrCode = e.response?.data["code"]; + if (enteErrCode != null && enteErrCode == "USER_ALREADY_REGISTERED") { + unawaited( + showErrorDialog( + context, + context.l10n.oops, + context.l10n.emailAlreadyRegistered, + ), + ); + } else if (enteErrCode != null && enteErrCode == "USER_NOT_REGISTERED") { + unawaited( + showErrorDialog( + context, + context.l10n.oops, + context.l10n.emailNotRegistered, + ), + ); + } else if (e.response != null && e.response!.statusCode == 403) { unawaited( showErrorDialog( context, diff --git a/mobile/lib/generated/intl/messages_en.dart b/mobile/lib/generated/intl/messages_en.dart index 2176fdc967b..af94f25dcb7 100644 --- a/mobile/lib/generated/intl/messages_en.dart +++ b/mobile/lib/generated/intl/messages_en.dart @@ -790,8 +790,12 @@ class MessageLookup extends MessageLookupByLibrary { "Edits to location will only be seen within Ente"), "eligible": MessageLookupByLibrary.simpleMessage("eligible"), "email": MessageLookupByLibrary.simpleMessage("Email"), + "emailAlreadyRegistered": + MessageLookupByLibrary.simpleMessage("Email already registered."), "emailChangedTo": m30, "emailNoEnteAccount": m31, + "emailNotRegistered": + MessageLookupByLibrary.simpleMessage("Email not registered."), "emailVerificationToggle": MessageLookupByLibrary.simpleMessage("Email verification"), "emailYourLogs": diff --git a/mobile/lib/generated/l10n.dart b/mobile/lib/generated/l10n.dart index 9d93c4328f5..85cfa79c986 100644 --- a/mobile/lib/generated/l10n.dart +++ b/mobile/lib/generated/l10n.dart @@ -70,6 +70,26 @@ class S { ); } + /// `Email already registered.` + String get emailAlreadyRegistered { + return Intl.message( + 'Email already registered.', + name: 'emailAlreadyRegistered', + desc: '', + args: [], + ); + } + + /// `Email not registered.` + String get emailNotRegistered { + return Intl.message( + 'Email not registered.', + name: 'emailNotRegistered', + desc: '', + args: [], + ); + } + /// `Email` String get email { return Intl.message( diff --git a/mobile/lib/l10n/intl_en.arb b/mobile/lib/l10n/intl_en.arb index c44cd20753c..345ab541692 100644 --- a/mobile/lib/l10n/intl_en.arb +++ b/mobile/lib/l10n/intl_en.arb @@ -2,6 +2,8 @@ "@@locale ": "en", "enterYourEmailAddress": "Enter your email address", "accountWelcomeBack": "Welcome back!", + "emailAlreadyRegistered": "Email already registered.", + "emailNotRegistered": "Email not registered.", "email": "Email", "cancel": "Cancel", "verify": "Verify", diff --git a/mobile/lib/services/user_service.dart b/mobile/lib/services/user_service.dart index e13cc3e58af..9286af90f6c 100644 --- a/mobile/lib/services/user_service.dart +++ b/mobile/lib/services/user_service.dart @@ -124,7 +124,24 @@ class UserService { } on DioError catch (e) { await dialog.hide(); _logger.info(e); - if (e.response != null && e.response!.statusCode == 403) { + final String? enteErrCode = e.response?.data["code"]; + if (enteErrCode != null && enteErrCode == "USER_ALREADY_REGISTERED") { + unawaited( + showErrorDialog( + context, + context.l10n.oops, + context.l10n.emailAlreadyRegistered, + ), + ); + } else if (enteErrCode != null && enteErrCode == "USER_NOT_REGISTERED") { + unawaited( + showErrorDialog( + context, + context.l10n.oops, + context.l10n.emailNotRegistered, + ), + ); + } else if (e.response != null && e.response!.statusCode == 403) { unawaited( showErrorDialog( context,