feat: SMS OTP phone auth + mandatory phone verification gate
- MyUser: add isPhoneVerified field (from is_phone_verified in API) - ApiUserRepository: signInWithPhoneNumber calls POST /auth/send-otp, verifyOTP calls POST /auth/phone, linkWithOTP calls POST /auth/verify-phone Added updateFcmToken and changePassword methods - AuthBloc: remove Firebase PhoneVerificationService, use repository OTP flow - app_view.dart: gate authenticated users without verified phone to PhoneVerifyRequiredScreen before showing HomeScreen - welcome_screen.dart: full redesign with gradient header, logo, integrated OTP flow (phone → code in same screen), 60s resend timer - PhoneVerifyRequiredScreen: new screen for users who need to verify phone Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
38beca4b4f
commit
2c5b237890
@@ -13,6 +13,7 @@ class MyUser extends Equatable {
|
||||
final String? gender;
|
||||
final ProState proState;
|
||||
final String? token;
|
||||
final bool isPhoneVerified;
|
||||
|
||||
const MyUser({
|
||||
required this.id,
|
||||
@@ -26,6 +27,7 @@ class MyUser extends Equatable {
|
||||
this.gender,
|
||||
required this.proState,
|
||||
this.token,
|
||||
this.isPhoneVerified = false,
|
||||
});
|
||||
|
||||
get drawerLabel => email != null && email!.isNotEmpty
|
||||
@@ -47,6 +49,7 @@ class MyUser extends Equatable {
|
||||
gender: '',
|
||||
proState: ProState.inactive,
|
||||
token: '',
|
||||
isPhoneVerified: false,
|
||||
);
|
||||
|
||||
/// Modify MyUser parameters
|
||||
@@ -62,6 +65,7 @@ class MyUser extends Equatable {
|
||||
String? gender,
|
||||
ProState? proState,
|
||||
String? token,
|
||||
bool? isPhoneVerified,
|
||||
}) {
|
||||
return MyUser(
|
||||
id: id ?? this.id,
|
||||
@@ -75,6 +79,7 @@ class MyUser extends Equatable {
|
||||
gender: gender ?? this.gender,
|
||||
proState: proState ?? this.proState,
|
||||
token: token ?? this.token,
|
||||
isPhoneVerified: isPhoneVerified ?? this.isPhoneVerified,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -129,5 +134,6 @@ class MyUser extends Equatable {
|
||||
gender,
|
||||
proState,
|
||||
token,
|
||||
isPhoneVerified,
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user