Skip to content

Commit 1183ab6

Browse files
committed
Codi JC41 - Botò de submit del login amb el onClick
1 parent 27a9106 commit 1183ab6

File tree

1 file changed

+25
-6
lines changed
  • app/src/main/java/es/cibernarium/jetpackcomposeapp/pantalles

1 file changed

+25
-6
lines changed

app/src/main/java/es/cibernarium/jetpackcomposeapp/pantalles/LoginScreen.kt

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package es.cibernarium.jetpackcomposeapp.pantalles
22

3+
import android.util.Log
34
import androidx.compose.foundation.layout.Arrangement
45
import androidx.compose.foundation.layout.Column
56
import androidx.compose.foundation.layout.fillMaxSize
@@ -19,6 +20,7 @@ import androidx.compose.material3.Text
1920
import androidx.compose.runtime.Composable
2021
import androidx.compose.runtime.MutableState
2122
import androidx.compose.runtime.mutableStateOf
23+
import androidx.compose.runtime.remember
2224
import androidx.compose.runtime.saveable.rememberSaveable
2325
import androidx.compose.ui.Alignment
2426
import androidx.compose.ui.Modifier
@@ -48,6 +50,8 @@ fun LoginScreen(navController: NavController){
4850
isCreateAccount = false
4951
){
5052
email, clau ->
53+
//Afegim un log per saber si és submiteja el login
54+
Log.d("Refugios Libres","Loguejant amb $email i $clau")
5155
}
5256
} else {
5357
Text(text = "Crea un compte")
@@ -77,6 +81,12 @@ fun UserForm(
7781
val clauVisible = rememberSaveable {
7882
mutableStateOf(false)
7983
}
84+
//Crearem una variable per saber si tots els camps són vàlids
85+
val valid = remember(email.value,clau.value){
86+
//Obtenim el valor, eliminem espais en blanc i validem que no està buit
87+
email.value.trim().isNotEmpty() &&
88+
clau.value.trim().isNotEmpty()
89+
}
8090
//Crearem una columna perque estigui situat en vertical
8191
Column (horizontalAlignment = Alignment.CenterHorizontally){
8292
EmailInput(
@@ -88,21 +98,30 @@ fun UserForm(
8898
clauVisible = clauVisible
8999
)
90100
SubmitButton(
91-
textId = if(isCreateAccount) "Crear compte" else "Login"
92-
)
101+
textId = if(isCreateAccount) "Crear compte" else "Login",
102+
//Rebem el valor de si els camps estàn ok de la variable valid
103+
inputValid = valid
104+
){
105+
//Invoquem la funció onDone() per a quan estigui tot gestioni el formulari
106+
onDone(email.value.trim(),clau.value.trim())
107+
}
93108
}
94109
}
95110

96111
@Composable
97112
fun SubmitButton(
98-
textId: String
113+
textId: String,
114+
//Rebem el valor de inputValid
115+
inputValid: Boolean,
116+
//Desenvolupem la acció onClick
117+
onClic: ()->Unit
99118
) {
100-
Button(onClick = {
101-
},
119+
Button(onClick = onClic, //També aqui enllaçem amb el onClic
102120
modifier = Modifier
103121
.padding(3.dp)
104122
.fillMaxWidth(),
105-
shape = CircleShape
123+
shape = CircleShape,
124+
enabled = inputValid //Habilitem el botò segons si inputValid és true
106125
){
107126
Text(text = textId,
108127
modifier = Modifier

0 commit comments

Comments
 (0)