Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion android/app-newm/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,12 @@ dependencies {
implementation(libs.cmp.image.pick.n.crop)
implementation(platform(libs.firebase.bom))
implementation(libs.androidx.material.icons.extended)
implementation(compose.components.resources)
implementation(project(Modules.BARCODE_SCANNER))
implementation(project(Modules.CORE_ANDROID_IMPLEMENTATIONS))
implementation(project(Modules.CORE_RESOURCES))
implementation(project(Modules.CORE_THEME))
implementation(project(Modules.CORE_UI_UTILS))
implementation(project(Modules.LOGIN))
implementation(project(Modules.MUSIC_PLAYER))
implementation(project(Modules.SHARED))
implementation(project(Modules.SHARED_COMPOSE_FEATURES))
Expand Down
26 changes: 26 additions & 0 deletions android/app-newm/src/main/java/io/newm/HomeActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@ import io.newm.shared.commonPublic.featureflags.FeatureFlags
import io.newm.shared.config.NewmSharedBuildConfig
import io.newm.sharedfeatures.screens.DevMenuMainScreen
import io.newm.sharedfeatures.screens.FeatureFlagsListScreen
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreen
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreenPresenter
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreenUi
import io.newm.sharedfeatures.screens.auth.resetpassword.ResetPasswordScreenUiState
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountScreen
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountScreenPresenter
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountUi
import io.newm.sharedfeatures.screens.auth.signup.CreateAccountUiState
import io.newm.sharedfeatures.screens.devmenu.DevMenuPresenter
import io.newm.sharedfeatures.screens.devmenu.DevMenuUi
import io.newm.sharedfeatures.screens.devmenu.featureflaglist.FeatureFlagsListPresenter
Expand Down Expand Up @@ -217,6 +225,16 @@ class HomeActivity : ComponentActivity() {
}
}

is CreateAccountScreen -> {
ui<CreateAccountUiState> { state, modifier -> CreateAccountUi(state, modifier) }
}

is ResetPasswordScreen -> {
ui<ResetPasswordScreenUiState> { state, modifier ->
ResetPasswordScreenUi(state, eventLogger, modifier)
}
}

is DevMenuMainScreen -> {
ui<DevMenuMainScreen.UiState> { state, modifier -> DevMenuUi(state, modifier) }
}
Expand Down Expand Up @@ -278,6 +296,14 @@ class HomeActivity : ComponentActivity() {
inject<StudioPresenter> { parametersOf(navigator) }.value
}

is CreateAccountScreen -> {
inject<CreateAccountScreenPresenter> { parametersOf(navigator) }.value
}

is ResetPasswordScreen -> {
inject<ResetPasswordScreenPresenter> { parametersOf(screen, navigator) }.value
}

is DevMenuMainScreen -> {
inject<DevMenuPresenter> { parametersOf(navigator) }.value
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,12 @@ import io.newm.core.theme.Gray16
import io.newm.core.theme.Gray23
import io.newm.core.ui.text.TextFieldWithLabel
import io.newm.core.ui.text.formTitleStyle
import io.newm.feature.login.screen.TextFieldState
import io.newm.feature.login.screen.email.Email
import io.newm.feature.login.screen.password.Password
import io.newm.sharedfeatures.screens.auth.login.Password
import io.newm.sharedfeatures.screens.auth.login.TextFieldState
import newm_mobile.sharedfeatures.generated.resources.Res
import newm_mobile.sharedfeatures.generated.resources.profile_form_password_confirm_password
import newm_mobile.sharedfeatures.generated.resources.profile_form_password_current_password
import newm_mobile.sharedfeatures.generated.resources.profile_form_password_new_password

@Composable
fun ProfileForm(
Expand All @@ -39,15 +42,17 @@ fun ProfileForm(
Box(modifier = Modifier.clip(RoundedCornerShape(8.dp)).background(Gray16)) {
Column(modifier = Modifier.padding(top = 12.dp, start = 12.dp, end = 12.dp)) {
if (canUserEditName) {
Email(
label = R.string.profile_form_first_name,
emailState = firstName,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
TextFieldWithLabel(
labelResId = R.string.profile_form_first_name,
value = firstName.text,
onValueChange = { firstName.text = it },
textfieldBackgroundColor = Gray16,
)
Email(
label = R.string.profile_form_last_name,
emailState = lastName,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
TextFieldWithLabel(
labelResId = R.string.profile_form_last_name,
value = lastName.text,
onValueChange = { lastName.text = it },
textfieldBackgroundColor = Gray16,
)
} else {
TextFieldWithLabel(
Expand Down Expand Up @@ -83,18 +88,23 @@ fun ProfileForm(
)
Spacer(modifier = Modifier.height(16.dp))
Password(
label = R.string.profile_form_password_current_password,
passwordState = currentPasswordState,
label = Res.string.profile_form_password_current_password,
passwordState =
currentPasswordState
as io.newm.sharedfeatures.screens.auth.login.PasswordState,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
)
Password(
label = R.string.profile_form_password_new_password,
passwordState = newPasswordState,
label = Res.string.profile_form_password_new_password,
passwordState =
newPasswordState as io.newm.sharedfeatures.screens.auth.login.PasswordState,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
)
Password(
label = R.string.profile_form_password_confirm_password,
passwordState = confirmNewPasswordState,
label = Res.string.profile_form_password_confirm_password,
passwordState =
confirmNewPasswordState
as io.newm.sharedfeatures.screens.auth.login.PasswordState,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ import com.slack.circuit.runtime.internal.rememberStableCoroutineScope
import com.slack.circuit.runtime.presenter.Presenter
import io.newm.Logout
import io.newm.core.resources.R
import io.newm.feature.login.screen.TextFieldState
import io.newm.feature.login.screen.password.isPasswordValid
import io.newm.feature.login.screen.password.passwordValidationError
import io.newm.screens.Screen.PrivacyPolicy
import io.newm.screens.Screen.TermsOfService
import io.newm.screens.profile.OnBack
Expand All @@ -36,6 +33,9 @@ import io.newm.shared.commonPublic.usecases.ConnectWalletUseCase
import io.newm.shared.commonPublic.usecases.HasWalletConnectionsUseCase
import io.newm.shared.commonPublic.usecases.UpdateProfilePictureUseCase
import io.newm.shared.commonPublic.usecases.UserDetailsUseCase
import io.newm.sharedfeatures.screens.auth.login.PasswordState
import io.newm.sharedfeatures.screens.auth.login.TextFieldState
import io.newm.sharedfeatures.screens.auth.login.isPasswordValid
import io.newm.utils.toTempFile
import kotlinx.coroutines.launch

Expand Down Expand Up @@ -81,11 +81,11 @@ class ProfileEditPresenter(
val lastNameState =
remember(profile?.lastName) { TextFieldState(profile?.lastName.orEmpty()) }

val currentPasswordState = remember { TextFieldState() }
val currentPasswordState = remember { PasswordState() }

val newPasswordState = remember { TextFieldState() }
val newPasswordState = remember { PasswordState() }

val confirmPasswordState = remember { TextFieldState() }
val confirmPasswordState = remember { PasswordState() }

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

Expand Down Expand Up @@ -268,7 +268,7 @@ class ProfileEditPresenter(
lastNameState: TextFieldState,
): String? {
if (newPasswordState.text.isNotEmpty() && isPasswordValid(newPasswordState.text).not()) {
return passwordValidationError(context)
return context.getString(R.string.password_validation_error_message)
}

if (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import io.newm.core.resources.R
import io.newm.core.theme.NewmTheme
import io.newm.core.ui.LoadingScreen
import io.newm.core.ui.buttons.PrimaryButton
import io.newm.feature.login.screen.TextFieldState
import io.newm.screens.profile.OnBack
import io.newm.screens.profile.OnBottomSheetVisible
import io.newm.screens.profile.OnLogout
Expand All @@ -53,6 +52,7 @@ import io.newm.screens.profile.edit.ProfileEditUiState.Loading
import io.newm.shared.commonPublic.models.User
import io.newm.shared.commonPublic.models.canEditName
import io.newm.shared.commonPublic.models.mocks.mockUsers
import io.newm.sharedfeatures.screens.auth.login.TextFieldState
import kotlinx.coroutines.launch
import network.chaintech.cmpimagepickncrop.CMPImagePickNCropDialog

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package io.newm.screens.profile.edit

import com.slack.circuit.runtime.CircuitUiState
import io.newm.feature.login.screen.TextFieldState
import io.newm.screens.profile.ProfileEditUiEvent
import io.newm.sharedfeatures.screens.auth.login.TextFieldState

sealed class ProfileEditUiState : CircuitUiState {
data object Loading : ProfileEditUiState()
Expand Down
1 change: 0 additions & 1 deletion android/features/login/.gitignore

This file was deleted.

73 changes: 0 additions & 73 deletions android/features/login/build.gradle.kts

This file was deleted.

37 changes: 0 additions & 37 deletions android/features/login/lint-baseline.xml

This file was deleted.

This file was deleted.

This file was deleted.

Loading