From 5af744e45d9f81c05709393b87d15bba69c29cd6 Mon Sep 17 00:00:00 2001 From: Renaud BEURET Date: Tue, 12 Mar 2024 15:25:44 +0100 Subject: [PATCH] =?UTF-8?q?[ADD]=20Page=20login=20avec=20text=20input=20r?= =?UTF-8?q?=C3=A9actif?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/iut/sciencequest/navigation/NavHost.kt | 7 +- .../fr/iut/sciencequest/view/AccountScreen.kt | 4 +- .../java/fr/iut/sciencequest/view/Login.kt | 70 +++++++++++++++++++ .../java/fr/iut/sciencequest/view/TopBar.kt | 3 +- android/app/src/main/res/values/strings.xml | 4 ++ 5 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 android/app/src/main/java/fr/iut/sciencequest/view/Login.kt diff --git a/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt b/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt index e0381ee..b3e696b 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt @@ -8,6 +8,7 @@ import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import fr.iut.sciencequest.view.AccountScreen import fr.iut.sciencequest.view.HomeScreen +import fr.iut.sciencequest.view.LoginScreen @Composable @@ -17,7 +18,7 @@ fun NavHost() { NavHost( modifier = Modifier.fillMaxSize(), navController = navController, - startDestination = "home" + startDestination = "login" ) { composable(route = "home") { HomeScreen(goToAccount = { @@ -38,5 +39,9 @@ fun NavHost() { } ) } + + composable(route = "login") { + LoginScreen() + } } } \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/AccountScreen.kt b/android/app/src/main/java/fr/iut/sciencequest/view/AccountScreen.kt index 423f913..92ad21b 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/AccountScreen.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/AccountScreen.kt @@ -5,13 +5,15 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import fr.iut.sciencequest.R @Composable fun AccountScreen(goToAccount: () -> Unit, goToHome: () -> Unit) { Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome) - Text(text = "Account") + Text(text = stringResource(id = R.string.Compte)) } } diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/Login.kt b/android/app/src/main/java/fr/iut/sciencequest/view/Login.kt new file mode 100644 index 0000000..f804cff --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/view/Login.kt @@ -0,0 +1,70 @@ +package fr.iut.sciencequest.view + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.FlowRowScopeInstance.align +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Button +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TextField +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.input.TextInputService +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp +import fr.iut.sciencequest.R +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun LoginScreen() { + Scaffold( + topBar = { + TopBar(goToAccount = { /*TODO*/ }, goToHome = { /*TODO*/ }) + }, + ) { innerPadding -> + LoginContainer(innerPadding) + } +} + +@Composable +fun LoginContainer(innerPadding : PaddingValues) { + Column( + modifier = Modifier.padding(innerPadding) + ) { + 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)) + TextField(value = pseudo , + onValueChange = { pseudo = it }, + modifier = Modifier.padding(20.dp) + ) + TextField(value = mdp, + onValueChange = { mdp = it }, + modifier = Modifier.padding(Dp(20f)) + ) + + Button(onClick = { /*TODO*/ }, + modifier = Modifier.padding(Dp(20f)), + ) { + Text(text = stringResource(id = R.string.connection)) + } + } +} + diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/TopBar.kt b/android/app/src/main/java/fr/iut/sciencequest/view/TopBar.kt index 78a7c3b..3df9a67 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/TopBar.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/TopBar.kt @@ -11,6 +11,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import fr.iut.sciencequest.R @@ -20,7 +21,7 @@ fun TopBar(goToAccount: () -> Unit, goToHome: () -> Unit, modifier: Modifier? = FilledIconButton(onClick = { goToHome() }) { Image(painter = painterResource(id = R.drawable.menu), contentDescription = "Menu") } - Text(text = "Science Quest") + Text(text = stringResource(id = R.string.app_name)) FilledIconButton(onClick = { goToAccount() }) { Image(painter = painterResource(id = R.drawable.account_circle_outline), contentDescription = "Account") } diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index ce04038..44e9471 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,4 +1,8 @@ ScienceQuest AccountActivity + Connection + Pseudo + Mot de passe + Compte \ No newline at end of file