Skip to content

Commit 4c05b7d

Browse files
Merge pull request #412 from projectNEWM/sky/login-migration-complete
feat(login): Complete migration of CreateAccount and ResetPassword screens to sharedfeatures
2 parents 56416a2 + 9738b49 commit 4c05b7d

File tree

49 files changed

+274
-1430
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+274
-1430
lines changed

android/app-newm/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,12 @@ dependencies {
117117
implementation(libs.cmp.image.pick.n.crop)
118118
implementation(platform(libs.firebase.bom))
119119
implementation(libs.androidx.material.icons.extended)
120+
implementation(compose.components.resources)
120121
implementation(project(Modules.BARCODE_SCANNER))
121122
implementation(project(Modules.CORE_ANDROID_IMPLEMENTATIONS))
122123
implementation(project(Modules.CORE_RESOURCES))
123124
implementation(project(Modules.CORE_THEME))
124125
implementation(project(Modules.CORE_UI_UTILS))
125-
implementation(project(Modules.LOGIN))
126126
implementation(project(Modules.MUSIC_PLAYER))
127127
implementation(project(Modules.SHARED))
128128
implementation(project(Modules.SHARED_COMPOSE_FEATURES))

android/app-newm/src/main/java/io/newm/HomeActivity.kt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ import io.newm.shared.commonPublic.featureflags.FeatureFlags
5656
import io.newm.shared.config.NewmSharedBuildConfig
5757
import io.newm.sharedfeatures.screens.DevMenuMainScreen
5858
import io.newm.sharedfeatures.screens.FeatureFlagsListScreen
59+
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreen
60+
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreenPresenter
61+
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreenUi
62+
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreenUiState
63+
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountScreen
64+
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountScreenPresenter
65+
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountUi
66+
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountUiState
5967
import io.newm.sharedfeatures.screens.devmenu.DevMenuPresenter
6068
import io.newm.sharedfeatures.screens.devmenu.DevMenuUi
6169
import io.newm.sharedfeatures.screens.devmenu.featureflaglist.FeatureFlagsListPresenter
@@ -217,6 +225,16 @@ class HomeActivity : ComponentActivity() {
217225
}
218226
}
219227

228+
is CreateAccountScreen -> {
229+
ui<CreateAccountUiState> { state, modifier -> CreateAccountUi(state, modifier) }
230+
}
231+
232+
is ResetPasswordScreen -> {
233+
ui<ResetPasswordScreenUiState> { state, modifier ->
234+
ResetPasswordScreenUi(state, eventLogger, modifier)
235+
}
236+
}
237+
220238
is DevMenuMainScreen -> {
221239
ui<DevMenuMainScreen.UiState> { state, modifier -> DevMenuUi(state, modifier) }
222240
}
@@ -278,6 +296,14 @@ class HomeActivity : ComponentActivity() {
278296
inject<StudioPresenter> { parametersOf(navigator) }.value
279297
}
280298

299+
is CreateAccountScreen -> {
300+
inject<CreateAccountScreenPresenter> { parametersOf(navigator) }.value
301+
}
302+
303+
is ResetPasswordScreen -> {
304+
inject<ResetPasswordScreenPresenter> { parametersOf(screen, navigator) }.value
305+
}
306+
281307
is DevMenuMainScreen -> {
282308
inject<DevMenuPresenter> { parametersOf(navigator) }.value
283309
}

android/app-newm/src/main/java/io/newm/screens/profile/ProfileForm.kt

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ import io.newm.core.theme.Gray16
2020
import io.newm.core.theme.Gray23
2121
import io.newm.core.ui.text.TextFieldWithLabel
2222
import io.newm.core.ui.text.formTitleStyle
23-
import io.newm.feature.login.screen.TextFieldState
24-
import io.newm.feature.login.screen.email.Email
25-
import io.newm.feature.login.screen.password.Password
23+
import io.newm.sharedfeatures.screens.auth.login.Password
24+
import io.newm.sharedfeatures.screens.auth.login.TextFieldState
25+
import newm_mobile.sharedfeatures.generated.resources.Res
26+
import newm_mobile.sharedfeatures.generated.resources.profile_form_password_confirm_password
27+
import newm_mobile.sharedfeatures.generated.resources.profile_form_password_current_password
28+
import newm_mobile.sharedfeatures.generated.resources.profile_form_password_new_password
2629

2730
@Composable
2831
fun ProfileForm(
@@ -39,15 +42,17 @@ fun ProfileForm(
3942
Box(modifier = Modifier.clip(RoundedCornerShape(8.dp)).background(Gray16)) {
4043
Column(modifier = Modifier.padding(top = 12.dp, start = 12.dp, end = 12.dp)) {
4144
if (canUserEditName) {
42-
Email(
43-
label = R.string.profile_form_first_name,
44-
emailState = firstName,
45-
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
45+
TextFieldWithLabel(
46+
labelResId = R.string.profile_form_first_name,
47+
value = firstName.text,
48+
onValueChange = { firstName.text = it },
49+
textfieldBackgroundColor = Gray16,
4650
)
47-
Email(
48-
label = R.string.profile_form_last_name,
49-
emailState = lastName,
50-
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
51+
TextFieldWithLabel(
52+
labelResId = R.string.profile_form_last_name,
53+
value = lastName.text,
54+
onValueChange = { lastName.text = it },
55+
textfieldBackgroundColor = Gray16,
5156
)
5257
} else {
5358
TextFieldWithLabel(
@@ -83,18 +88,23 @@ fun ProfileForm(
8388
)
8489
Spacer(modifier = Modifier.height(16.dp))
8590
Password(
86-
label = R.string.profile_form_password_current_password,
87-
passwordState = currentPasswordState,
91+
label = Res.string.profile_form_password_current_password,
92+
passwordState =
93+
currentPasswordState
94+
as io.newm.sharedfeatures.screens.auth.login.PasswordState,
8895
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
8996
)
9097
Password(
91-
label = R.string.profile_form_password_new_password,
92-
passwordState = newPasswordState,
98+
label = Res.string.profile_form_password_new_password,
99+
passwordState =
100+
newPasswordState as io.newm.sharedfeatures.screens.auth.login.PasswordState,
93101
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
94102
)
95103
Password(
96-
label = R.string.profile_form_password_confirm_password,
97-
passwordState = confirmNewPasswordState,
104+
label = Res.string.profile_form_password_confirm_password,
105+
passwordState =
106+
confirmNewPasswordState
107+
as io.newm.sharedfeatures.screens.auth.login.PasswordState,
98108
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
99109
)
100110
}

android/app-newm/src/main/java/io/newm/screens/profile/edit/ProfileEditPresenter.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ import com.slack.circuit.runtime.internal.rememberStableCoroutineScope
1313
import com.slack.circuit.runtime.presenter.Presenter
1414
import io.newm.Logout
1515
import io.newm.core.resources.R
16-
import io.newm.feature.login.screen.TextFieldState
17-
import io.newm.feature.login.screen.password.isPasswordValid
18-
import io.newm.feature.login.screen.password.passwordValidationError
1916
import io.newm.screens.Screen.PrivacyPolicy
2017
import io.newm.screens.Screen.TermsOfService
2118
import io.newm.screens.profile.OnBack
@@ -36,6 +33,9 @@ import io.newm.shared.commonPublic.usecases.ConnectWalletUseCase
3633
import io.newm.shared.commonPublic.usecases.HasWalletConnectionsUseCase
3734
import io.newm.shared.commonPublic.usecases.UpdateProfilePictureUseCase
3835
import io.newm.shared.commonPublic.usecases.UserDetailsUseCase
36+
import io.newm.sharedfeatures.screens.auth.login.PasswordState
37+
import io.newm.sharedfeatures.screens.auth.login.TextFieldState
38+
import io.newm.sharedfeatures.screens.auth.login.isPasswordValid
3939
import io.newm.utils.toTempFile
4040
import kotlinx.coroutines.launch
4141

@@ -81,11 +81,11 @@ class ProfileEditPresenter(
8181
val lastNameState =
8282
remember(profile?.lastName) { TextFieldState(profile?.lastName.orEmpty()) }
8383

84-
val currentPasswordState = remember { TextFieldState() }
84+
val currentPasswordState = remember { PasswordState() }
8585

86-
val newPasswordState = remember { TextFieldState() }
86+
val newPasswordState = remember { PasswordState() }
8787

88-
val confirmPasswordState = remember { TextFieldState() }
88+
val confirmPasswordState = remember { PasswordState() }
8989

9090
var errorMessage by remember { mutableStateOf<String?>(null) }
9191

@@ -268,7 +268,7 @@ class ProfileEditPresenter(
268268
lastNameState: TextFieldState,
269269
): String? {
270270
if (newPasswordState.text.isNotEmpty() && isPasswordValid(newPasswordState.text).not()) {
271-
return passwordValidationError(context)
271+
return context.getString(R.string.password_validation_error_message)
272272
}
273273

274274
if (

android/app-newm/src/main/java/io/newm/screens/profile/edit/ProfileEditUi.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import io.newm.core.resources.R
3434
import io.newm.core.theme.NewmTheme
3535
import io.newm.core.ui.LoadingScreen
3636
import io.newm.core.ui.buttons.PrimaryButton
37-
import io.newm.feature.login.screen.TextFieldState
3837
import io.newm.screens.profile.OnBack
3938
import io.newm.screens.profile.OnBottomSheetVisible
4039
import io.newm.screens.profile.OnLogout
@@ -53,6 +52,7 @@ import io.newm.screens.profile.edit.ProfileEditUiState.Loading
5352
import io.newm.shared.commonPublic.models.User
5453
import io.newm.shared.commonPublic.models.canEditName
5554
import io.newm.shared.commonPublic.models.mocks.mockUsers
55+
import io.newm.sharedfeatures.screens.auth.login.TextFieldState
5656
import kotlinx.coroutines.launch
5757
import network.chaintech.cmpimagepickncrop.CMPImagePickNCropDialog
5858

android/app-newm/src/main/java/io/newm/screens/profile/edit/ProfileEditUiState.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package io.newm.screens.profile.edit
22

33
import com.slack.circuit.runtime.CircuitUiState
4-
import io.newm.feature.login.screen.TextFieldState
54
import io.newm.screens.profile.ProfileEditUiEvent
5+
import io.newm.sharedfeatures.screens.auth.login.TextFieldState
66

77
sealed class ProfileEditUiState : CircuitUiState {
88
data object Loading : ProfileEditUiState()

android/features/login/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

android/features/login/build.gradle.kts

Lines changed: 0 additions & 73 deletions
This file was deleted.

android/features/login/lint-baseline.xml

Lines changed: 0 additions & 37 deletions
This file was deleted.

android/features/login/src/androidMain/kotlin/io/newm/feature/login/screen/NewArtistBackground.kt

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)