feat(android): implement auth screens, onboarding flow, and account setup
- Add AuthRepository with EncryptedSharedPreferences and OkHttp API calls - Add AuthViewModel with login/signup/reset/Google Sign-In flows - Create auth screens: AuthScreen, LoginScreen, SignupScreen, ForgotPasswordScreen, ResetPasswordScreen, BiometricAuthScreen - Create onboarding screens with HorizontalPager: PlanSelection, WatchlistSetup, FamilyInvite, Complete (with checkmark animation) - Wire auth state to navigation: unauthenticated→auth, new→onboarding, authenticated→dashboard - Add PasswordStrength utility with tests - Add dependencies: security-crypto, biometric, play-services-auth, okhttp, gson, lottie-compose, material-icons-core - Add unit tests: 23 tests passing for AuthViewModel and PasswordStrength
This commit is contained in:
@@ -10,6 +10,13 @@ navigationCompose = "2.7.7"
|
||||
kotlin = "2.2.10"
|
||||
composeBom = "2025.12.00"
|
||||
coilCompose = "2.7.0"
|
||||
securityCrypto = "1.1.0-alpha06"
|
||||
biometric = "1.2.0-alpha05"
|
||||
playServicesAuth = "21.0.0"
|
||||
okhttp = "4.12.0"
|
||||
gson = "2.10.1"
|
||||
lottieCompose = "6.4.0"
|
||||
coroutinesTest = "1.7.3"
|
||||
|
||||
[libraries]
|
||||
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||||
@@ -29,6 +36,13 @@ androidx-compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-te
|
||||
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
|
||||
androidx-compose-material3-adaptive-navigation-suite = { group = "androidx.compose.material3", name = "material3-adaptive-navigation-suite" }
|
||||
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coilCompose" }
|
||||
androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "securityCrypto" }
|
||||
androidx-biometric = { group = "androidx.biometric", name = "biometric", version.ref = "biometric" }
|
||||
play-services-auth = { group = "com.google.android.gms", name = "play-services-auth", version.ref = "playServicesAuth" }
|
||||
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
|
||||
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
|
||||
lottie-compose = { group = "com.airbnb.android", name = "lottie-compose", version.ref = "lottieCompose" }
|
||||
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutinesTest" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
|
||||
Reference in New Issue
Block a user