diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/components/VisibleIconPasswordComponent.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/components/VisibleIconPasswordComponent.kt new file mode 100644 index 0000000..cc502b9 --- /dev/null +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/components/VisibleIconPasswordComponent.kt @@ -0,0 +1,28 @@ +package com.example.what_the_fantasy.ui.components + +import androidx.compose.foundation.layout.size +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.example.what_the_fantasy.R + +@Composable +fun VisibleIconPasswordComponent(passwordVisible : Boolean){ + Icon( + painterResource( + if(passwordVisible){ + R.drawable.password_visible + } + else{ + R.drawable.password_no_visible + } + ), + contentDescription = "visible", + modifier = Modifier + .size(20.dp), + tint = MaterialTheme.colorScheme.primary + ) +} \ No newline at end of file diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt index 7a14869..ac18a16 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt @@ -39,6 +39,7 @@ import com.example.what_the_fantasy.data.services.IServices import com.example.what_the_fantasy.ui.components.ErrorMessageProfileComponent import com.example.what_the_fantasy.ui.components.SpaceHeightComponent import com.example.what_the_fantasy.ui.components.TitlePageComponent +import com.example.what_the_fantasy.ui.components.VisibleIconPasswordComponent import com.example.what_the_fantasy.ui.components.hashPassword import com.example.what_the_fantasy.ui.theme.colorBackground import com.example.what_the_fantasy.ui.theme.gradienBox @@ -117,6 +118,7 @@ fun PassWdTextField(textpasswdResId : Int, password : String, onValueChange: (St visualTransformation = if (passwordVisible) VisualTransformation.None else PasswordVisualTransformation(), trailingIcon = { IconButton(onClick = { passwordVisible = !passwordVisible }) { + VisibleIconPasswordComponent(passwordVisible) } }, shape = RoundedCornerShape(16.dp) diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt index 46893a8..a4f3eda 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt @@ -53,6 +53,7 @@ import com.example.what_the_fantasy.ui.components.ErrorMessageProfileComponent import com.example.what_the_fantasy.ui.components.NavBar import com.example.what_the_fantasy.ui.components.SpaceHeightComponent import com.example.what_the_fantasy.ui.components.TitlePageComponent +import com.example.what_the_fantasy.ui.components.VisibleIconPasswordComponent import com.example.what_the_fantasy.ui.theme.gradienBox @Composable @@ -315,6 +316,7 @@ fun EditPasswd(index: Int, service: IServices) { confirmPassword = it passwordError = newPassword != it // Vérifier si les mots de passe correspondent }, + passwordVisible = passwordVisible, onPasswordVisibilityChange = { passwordVisible = it }, passwordError = passwordError, @@ -327,6 +329,7 @@ fun EditPasswd(index: Int, service: IServices) { } else { DisplayPassword(onEdit = { isEditingPassword = true }) // Afficher l'option pour modifier le mot de passe } + } @Composable @@ -400,7 +403,7 @@ fun PasswordTextField( visualTransformation = if (passwordVisible) VisualTransformation.None else PasswordVisualTransformation(), trailingIcon = { IconButton(onClick = { onPasswordVisibilityChange(!passwordVisible) }) { - // Ajout d'une icône pour montrer/masquer le mot de passe + VisibleIconPasswordComponent(passwordVisible) } }, isError = isError diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt index 314e7b7..b1b38a1 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt @@ -1,6 +1,5 @@ package com.example.what_the_fantasy.ui.screens -import android.util.Log import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box @@ -8,6 +7,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.KeyboardOptions @@ -18,6 +18,7 @@ import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -30,6 +31,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.PasswordVisualTransformation @@ -38,21 +40,17 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel import com.example.what_the_fantasy.R +import com.example.what_the_fantasy.data.model.Image import com.example.what_the_fantasy.ui.components.SpaceHeightComponent import com.example.what_the_fantasy.ui.components.TitlePageComponent import com.example.what_the_fantasy.ui.theme.colorBackground import com.example.what_the_fantasy.ui.theme.gradienBox import com.example.what_the_fantasy.ui.components.ErrorMessageProfileComponent -import com.example.what_the_fantasy.ui.states.SignInUserState +import com.example.what_the_fantasy.ui.components.VisibleIconPasswordComponent import com.example.what_the_fantasy.ui.viewModels.SignInUserViewModel @Composable fun SignUpPage(navControllerLogin: () -> Unit) { - var username by remember { mutableStateOf("") } - var email by remember { mutableStateOf("") } - var password by remember { mutableStateOf("") } - var confirmPassword by remember { mutableStateOf("") } - val signInUserVM : SignInUserViewModel = viewModel() val signInState by signInUserVM.userState.collectAsState() @@ -156,7 +154,7 @@ fun PassWdTextFieldSign(textpasswdResId : Int, passwd: String, onValueChange: (S IconButton(onClick = { passwordVisible = !passwordVisible }) { - Icon(imageVector = Icons.Default.Check, contentDescription = "Valider") + VisibleIconPasswordComponent(passwordVisible) } }, shape = RoundedCornerShape(16.dp) @@ -181,7 +179,7 @@ fun PassWdConfirmTextFieldSign(textpasswdResId : Int,confirmPassword: String, on visualTransformation = if (passwordVisible) VisualTransformation.None else PasswordVisualTransformation(), trailingIcon = { IconButton(onClick = {passwordVisible = !passwordVisible}) { - Icon(imageVector = Icons.Default.Check, contentDescription = "Valider") + VisibleIconPasswordComponent(passwordVisible) } }, shape = RoundedCornerShape(16.dp) diff --git a/What_The_Fantasy/app/src/main/res/drawable/password_no_visible.xml b/What_The_Fantasy/app/src/main/res/drawable/password_no_visible.xml new file mode 100644 index 0000000..0487de8 --- /dev/null +++ b/What_The_Fantasy/app/src/main/res/drawable/password_no_visible.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/What_The_Fantasy/app/src/main/res/drawable/password_visible.xml b/What_The_Fantasy/app/src/main/res/drawable/password_visible.xml new file mode 100644 index 0000000..b966f2a --- /dev/null +++ b/What_The_Fantasy/app/src/main/res/drawable/password_visible.xml @@ -0,0 +1,14 @@ + + + +