Skip to content

Commit

Permalink
Add screen of change email with states and events
Browse files Browse the repository at this point in the history
  • Loading branch information
oguzsout committed Mar 5, 2024
1 parent 6b08ebd commit 583004a
Show file tree
Hide file tree
Showing 8 changed files with 451 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@ fun NavController.navigateToAuthenticatedUserScreen(
fun NavGraphBuilder.authenticatedUserScreen(
navigateBack: () -> Unit,
navigateToLogin: () -> Unit,
navigateToChangePassword: () -> Unit
) {
navigateToChangePassword: () -> Unit,
navigateToChangeEmail: () -> Unit,

) {
composable(
AuthenticatedUserScreenNavigationRoute
) {
Expand All @@ -30,6 +32,8 @@ fun NavGraphBuilder.authenticatedUserScreen(
},
navigateToChangePassword = {
navigateToChangePassword.invoke()
}, navigateToChangeEmail = {
navigateToChangeEmail.invoke()
}
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,9 @@ fun AuthenticatedUserScreenRoute(
viewModel: AuthenticatedUserViewModel = hiltViewModel(),
navigateBack:() -> Unit,
navigateToLogin: () -> Unit,
navigateToChangePassword: () -> Unit
) {
navigateToChangePassword: () -> Unit,
navigateToChangeEmail: () -> Unit,
) {

val userState by viewModel.userState.collectAsStateWithLifecycle()
val dialogState by viewModel.changeProfilePhotoBottomSheetOpenStat.collectAsStateWithLifecycle()
Expand Down Expand Up @@ -167,6 +168,8 @@ fun AuthenticatedUserScreenRoute(
viewModel.handleUiEvents(AuthenticatedUserEvent.OpenChangeProfileBottomSheet(dialog))
}, onChangePasswordClick = {
navigateToChangePassword.invoke()
}, onChangeEmailClick = {
navigateToChangeEmail.invoke()
},showDialog = dialogState)
}
}
Expand All @@ -183,6 +186,7 @@ fun AuthenticatedUserScreenContent(
onChangeProfilePhotoButtonClick: () -> Unit,
dismissDialog: (Boolean) -> Unit,
onChangePasswordClick: () -> Unit,
onChangeEmailClick: () -> Unit,
showDialog: Boolean
) {
var isGoogleSign by remember {
Expand Down Expand Up @@ -220,9 +224,15 @@ fun AuthenticatedUserScreenContent(
onChangeProfilePhotoClick.invoke(it)
}
)
EditProfileInformationContent(modifier = modifier, onChangePasswordClick = {
onChangePasswordClick.invoke()
})
EditProfileInformationContent(
modifier = modifier,
onChangePasswordClick = {
onChangePasswordClick.invoke()
},
onChangeEmailClick = {
onChangeEmailClick.invoke()
}
)
}
ChangeProfilePhotoDialog(userInfos = userScreenState, modifier = modifier, profilePhotoUri = profilePhotoUri ,isOpen = showDialog, onDismiss = {
dismissDialog.invoke(false)
Expand Down Expand Up @@ -399,7 +409,11 @@ fun AuthenticatedUserWelcomeCard(
}

@Composable
fun EditProfileInformationContent(modifier: Modifier,onChangePasswordClick: () -> Unit) {
fun EditProfileInformationContent(
modifier: Modifier,
onChangePasswordClick: () -> Unit,
onChangeEmailClick: () -> Unit
) {
val scope = rememberCoroutineScope()
val profileOptionsList = immutableListOf(
MenuRow(
Expand Down Expand Up @@ -438,7 +452,7 @@ fun EditProfileInformationContent(modifier: Modifier,onChangePasswordClick: () -

},
openEditEmail = {

onChangeEmailClick.invoke()
}, openChangePassword = {
onChangePasswordClick.invoke()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.oguzdogdu.walliescompose.features.authenticateduser.changeemail

import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable

const val ChangeEmailScreenNavigationRoute = "change_email_screen_route"

fun NavController.navigateToChangeEmailScreen(
navOptions: NavOptions? = null,
) {
this.navigate(ChangeEmailScreenNavigationRoute, navOptions)
}

fun NavGraphBuilder.changeEmailScreen(
navigateBack: () -> Unit,
) {
composable(
ChangeEmailScreenNavigationRoute
) {
ChangeEmailScreenRoute(navigateBack = {
navigateBack.invoke()
})
}
}
Loading

0 comments on commit 583004a

Please sign in to comment.