|
|
|
@ -96,8 +96,8 @@ fun ProfilPage(navFavorite: () -> Unit,
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
|
|
// Titre
|
|
|
|
|
TitlePageComponent(R.string.titleProfile, MaterialTheme.colorScheme.onBackground)
|
|
|
|
|
SpaceHeightComponent(16)
|
|
|
|
|
TitlePageComponent(R.string.titleProfile, MaterialTheme.colorScheme.onBackground)
|
|
|
|
|
SpaceHeightComponent(16)
|
|
|
|
|
|
|
|
|
|
// Image de profil
|
|
|
|
|
ImageProfil(120, currentUserState.id, currentUserVM,currentUserState)
|
|
|
|
@ -142,12 +142,16 @@ fun ImageProfil(size :Int,index: Int, currentUserVM: CurrentUserViewModel, curre
|
|
|
|
|
@Composable
|
|
|
|
|
fun EditEmail(emailState: String, index: Int, currentUserVM: CurrentUserViewModel) {
|
|
|
|
|
var email by remember { mutableStateOf(emailState) }
|
|
|
|
|
var originalEmail by remember { mutableStateOf(emailState) }
|
|
|
|
|
var isEditingEmail by remember { mutableStateOf(false) }
|
|
|
|
|
var emailError by remember { mutableStateOf(false) }
|
|
|
|
|
|
|
|
|
|
fun onDoneEditing() {
|
|
|
|
|
isEditingEmail =!currentUserVM.editEmail(email, index)
|
|
|
|
|
|
|
|
|
|
if (email != originalEmail) {
|
|
|
|
|
isEditingEmail = !currentUserVM.editEmail(email, index)
|
|
|
|
|
} else {
|
|
|
|
|
isEditingEmail = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (isEditingEmail) {
|
|
|
|
@ -155,7 +159,7 @@ fun EditEmail(emailState: String, index: Int, currentUserVM: CurrentUserViewMode
|
|
|
|
|
email = email,
|
|
|
|
|
onEmailChange = { newEmail ->
|
|
|
|
|
email = newEmail
|
|
|
|
|
emailError = !Patterns.EMAIL_ADDRESS.matcher(newEmail).matches() // Validation email
|
|
|
|
|
emailError = !Patterns.EMAIL_ADDRESS.matcher(newEmail).matches()
|
|
|
|
|
},
|
|
|
|
|
onDone = {
|
|
|
|
|
if (!emailError) {
|
|
|
|
@ -202,7 +206,6 @@ fun EmailEditingField(
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
|
fun DisplayEmail(email: String, onEdit: () -> Unit) {
|
|
|
|
|
Row(
|
|
|
|
@ -226,13 +229,19 @@ fun DisplayEmail(email: String, onEdit: () -> Unit) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
|
fun EditUsername(usernameState: String, index: Int, currentUserVM : CurrentUserViewModel) {
|
|
|
|
|
fun EditUsername(usernameState: String, index: Int, currentUserVM: CurrentUserViewModel) {
|
|
|
|
|
var username by remember { mutableStateOf(usernameState) }
|
|
|
|
|
var originalUsername by remember { mutableStateOf(usernameState) }
|
|
|
|
|
var isEditingUsername by remember { mutableStateOf(false) }
|
|
|
|
|
|
|
|
|
|
fun onDoneEditing() {
|
|
|
|
|
isEditingUsername= !currentUserVM.editUsername(username, index)
|
|
|
|
|
if (username != originalUsername) {
|
|
|
|
|
isEditingUsername = !currentUserVM.editUsername(username, index)
|
|
|
|
|
} else {
|
|
|
|
|
isEditingUsername = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (isEditingUsername) {
|
|
|
|
@ -240,7 +249,6 @@ fun EditUsername(usernameState: String, index: Int, currentUserVM : CurrentUserV
|
|
|
|
|
username = username,
|
|
|
|
|
onUsernameChange = { username = it },
|
|
|
|
|
onDone = { onDoneEditing() },
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
|
} else {
|
|
|
|
|
DisplayUsername(username = username, onEdit = { isEditingUsername = true })
|
|
|
|
@ -296,6 +304,7 @@ fun DisplayUsername(username: String, onEdit: () -> Unit) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
|
fun EditPasswd(index: Int, currentUserVM: CurrentUserViewModel) {
|
|
|
|
|
var isEditingPassword by remember { mutableStateOf(false) }
|
|
|
|
@ -418,7 +427,7 @@ fun PasswordTextField(
|
|
|
|
|
fun SaveButton(onClick: () -> Unit) {
|
|
|
|
|
Button(
|
|
|
|
|
onClick = onClick,
|
|
|
|
|
colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.onPrimary),
|
|
|
|
|
colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.background),
|
|
|
|
|
modifier = Modifier.fillMaxWidth()
|
|
|
|
|
) {
|
|
|
|
|
val text = stringResource(id = R.string.ButtonSaveprofile)
|
|
|
|
|