|
|
@ -13,6 +13,7 @@ import androidx.compose.material3.Scaffold
|
|
|
|
import androidx.compose.material3.Text
|
|
|
|
import androidx.compose.material3.Text
|
|
|
|
import androidx.compose.material3.TextField
|
|
|
|
import androidx.compose.material3.TextField
|
|
|
|
import androidx.compose.runtime.Composable
|
|
|
|
import androidx.compose.runtime.Composable
|
|
|
|
|
|
|
|
import androidx.compose.runtime.collectAsState
|
|
|
|
import androidx.compose.runtime.getValue
|
|
|
|
import androidx.compose.runtime.getValue
|
|
|
|
import androidx.compose.runtime.mutableStateOf
|
|
|
|
import androidx.compose.runtime.mutableStateOf
|
|
|
|
import androidx.compose.runtime.remember
|
|
|
|
import androidx.compose.runtime.remember
|
|
|
@ -27,44 +28,41 @@ import androidx.compose.ui.text.TextStyle
|
|
|
|
import androidx.compose.ui.text.style.TextDecoration
|
|
|
|
import androidx.compose.ui.text.style.TextDecoration
|
|
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
|
|
import androidx.compose.ui.unit.dp
|
|
|
|
import androidx.compose.ui.unit.dp
|
|
|
|
|
|
|
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
|
|
|
import fr.iut.sciencequest.R
|
|
|
|
import fr.iut.sciencequest.R
|
|
|
|
|
|
|
|
import fr.iut.sciencequest.ViewModels.LoginViewModel
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
@Composable
|
|
|
|
fun LoginScreen(goToAccount: () -> Unit, goToHome: () -> Unit) {
|
|
|
|
fun LoginScreen(viewModel: LoginViewModel = viewModel(),
|
|
|
|
|
|
|
|
goToAccount: () -> Unit,
|
|
|
|
|
|
|
|
goToHome: () -> Unit) {
|
|
|
|
Scaffold(
|
|
|
|
Scaffold(
|
|
|
|
topBar = {
|
|
|
|
topBar = {
|
|
|
|
TopBar(goToAccount, goToHome, stringResource(id = R.string.connection))
|
|
|
|
TopBar(goToAccount, goToHome, stringResource(id = R.string.connection))
|
|
|
|
},
|
|
|
|
},
|
|
|
|
) { innerPadding ->
|
|
|
|
) { innerPadding ->
|
|
|
|
LoginContainer(Modifier.padding(innerPadding))
|
|
|
|
LoginContainer(viewModel, Modifier.padding(innerPadding))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
@Composable
|
|
|
|
fun LoginContainer(modifier: Modifier) {
|
|
|
|
fun LoginContainer(viewModel: LoginViewModel,
|
|
|
|
|
|
|
|
modifier: Modifier) {
|
|
|
|
|
|
|
|
val state = viewModel.uiState.collectAsState()
|
|
|
|
Column(
|
|
|
|
Column(
|
|
|
|
modifier = modifier.fillMaxHeight(),
|
|
|
|
modifier = modifier.fillMaxHeight(),
|
|
|
|
horizontalAlignment = Alignment.CenterHorizontally,
|
|
|
|
horizontalAlignment = Alignment.CenterHorizontally,
|
|
|
|
verticalArrangement = Arrangement.Center
|
|
|
|
verticalArrangement = Arrangement.Center
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
val defaultPseudo = stringResource(id = R.string.Pseudo)
|
|
|
|
|
|
|
|
var pseudo by remember {
|
|
|
|
|
|
|
|
mutableStateOf(defaultPseudo)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
val defaultMdp = stringResource(id = R.string.mdp)
|
|
|
|
|
|
|
|
var mdp by remember {
|
|
|
|
|
|
|
|
mutableStateOf(defaultMdp)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Text(text = stringResource(id = R.string.connection))
|
|
|
|
//Text(text = stringResource(id = R.string.connection))
|
|
|
|
TextField(value = pseudo ,
|
|
|
|
TextField(value = state.value.pseudo,
|
|
|
|
onValueChange = { pseudo = it },
|
|
|
|
onValueChange = { viewModel.setPseudo(it) },
|
|
|
|
modifier = Modifier
|
|
|
|
modifier = Modifier
|
|
|
|
.padding(20.dp)
|
|
|
|
.padding(20.dp)
|
|
|
|
.fillMaxWidth()
|
|
|
|
.fillMaxWidth(),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
TextField(value = mdp,
|
|
|
|
TextField(value = state.value.mdp,
|
|
|
|
onValueChange = { mdp = it },
|
|
|
|
onValueChange = { viewModel.setMdp(it) },
|
|
|
|
modifier = Modifier
|
|
|
|
modifier = Modifier
|
|
|
|
.padding(20.dp)
|
|
|
|
.padding(20.dp)
|
|
|
|
.fillMaxWidth()
|
|
|
|
.fillMaxWidth()
|
|
|
@ -82,7 +80,7 @@ fun LoginContainer(modifier: Modifier) {
|
|
|
|
textDecoration = TextDecoration.Underline,
|
|
|
|
textDecoration = TextDecoration.Underline,
|
|
|
|
color = colorResource(id = R.color.purple_200)
|
|
|
|
color = colorResource(id = R.color.purple_200)
|
|
|
|
),
|
|
|
|
),
|
|
|
|
onClick = registerPopup()
|
|
|
|
onClick = { }/*TODO*/ //registerPopup()
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|