diff --git a/Project/android/app/src/main/java/sae/android/sae_2a/MainActivity.kt b/Project/android/app/src/main/java/sae/android/sae_2a/MainActivity.kt index 515b978..9f041b8 100644 --- a/Project/android/app/src/main/java/sae/android/sae_2a/MainActivity.kt +++ b/Project/android/app/src/main/java/sae/android/sae_2a/MainActivity.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import sae.android.sae_2a.ui.theme.SAE_2ATheme -import sae.android.sae_2a.screen.HomeScreen +import sae.android.sae_2a.ui.screen.MyApp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -26,7 +26,7 @@ class MainActivity : ComponentActivity() { color = MaterialTheme.colorScheme.background ) { Greeting("Android") - HomeScreen() + MyApp() } } } diff --git a/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/HomeScreen.kt b/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/HomeScreen.kt index 7a5f6a5..496f649 100644 --- a/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/HomeScreen.kt +++ b/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/HomeScreen.kt @@ -1,6 +1,5 @@ -package sae.android.sae_2a.screen +package sae.android.sae_2a.ui.screen -import android.content.res.Resources.Theme import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -24,11 +23,29 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController import sae.android.sae_2a.R +import sae.android.sae_2a.game.VocabularyScreen +import sae.android.sae_2a.ui.screen.RegisterScreen + -@Preview @Composable -fun HomeScreen(){ +fun MyApp() { + val navController = rememberNavController() + NavHost(navController, startDestination = "HomeScreen") { + composable("HomeScreen") { HomeScreen( NavigateToRegister = { navController.navigate("RegisterScreen")} ,NavigateToLogin = { navController.navigate("VocabularyScreen") }) } + composable("VocabularyScreen") { VocabularyScreen(onNavigateToList = { navController.navigate("HomeScreen") }) } + composable("RegisterScreen") { RegisterScreen(NavigateToApp = { navController.navigate("VocabularyScreen") }) } + + } +} + + +@Composable +fun HomeScreen(NavigateToRegister: () -> Unit,NavigateToLogin: () -> Unit ){ + Surface(modifier = Modifier .wrapContentWidth(align = Alignment.CenterHorizontally) @@ -38,31 +55,35 @@ fun HomeScreen(){ .background(color = Color.Gray) .wrapContentWidth(align = Alignment.CenterHorizontally)){ Image( - painter = painterResource(id = R.drawable.ic_launcher_foreground), + painter = painterResource(id = R.drawable.logo), contentDescription = "Description de l'image", modifier = Modifier - .size(width = 200.dp, height = 200.dp) - .padding(16.dp) + .wrapContentWidth(align = Alignment.CenterHorizontally) + .width(800.dp) + .padding(40.dp) + .size(width = 200.dp, height = 200.dp) ) - Text(text ="InEnglishPlease", color = Color.White, fontSize = 18.sp, fontWeight = FontWeight(1000) , modifier = Modifier - .padding(30.dp) + Text(text ="InEnglishPlease", color = Color.White, fontSize = 30.sp, fontWeight = FontWeight(1000) , modifier = Modifier + .padding(40.dp) .wrapContentHeight(align = Alignment.Top) .wrapContentWidth(align = Alignment.CenterHorizontally) .align(alignment = Alignment.CenterHorizontally)) - Button( onClick = { /*TODO*/ }, modifier = Modifier + Button( onClick = { NavigateToLogin() }, modifier = Modifier - .padding(15.dp) - .width(130.dp) + .padding(30.dp) + .width(150.dp) + .height(80.dp) .align(alignment = Alignment.CenterHorizontally)) { - Text(text = "Login", fontSize = 16.sp) + Text(text = "Login", fontSize = 20.sp) } - Button(onClick = { /*TODO*/ },modifier = Modifier - .padding(15.dp) - .width(130.dp) + Button(onClick = { NavigateToRegister() },modifier = Modifier + .padding(30.dp) + .width(150.dp) + .height(80.dp) .align(alignment = Alignment.CenterHorizontally)) { - Text(text = "Register", fontSize = 16.sp) + Text(text = "Register", fontSize = 20.sp) } } } diff --git a/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/RegisterScreen.kt b/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/RegisterScreen.kt new file mode 100644 index 0000000..c2c4e81 --- /dev/null +++ b/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/RegisterScreen.kt @@ -0,0 +1,92 @@ +package sae.android.sae_2a.ui.screen + + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.layout.wrapContentWidth +import androidx.compose.material3.Button +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.TextField +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import sae.android.sae_2a.R + + +@Composable +fun RegisterScreen(NavigateToApp: () -> Unit ) { + var name by remember { mutableStateOf("") } + var password by remember { mutableStateOf("") } + + Surface(modifier = Modifier + .wrapContentWidth(align = Alignment.CenterHorizontally) + .wrapContentHeight(align = Alignment.CenterVertically) + .fillMaxSize(),) { + Column(modifier = Modifier + .background(color = Color.White) + .wrapContentWidth(align = Alignment.CenterHorizontally)) { + + Image( + painter = painterResource(id = R.drawable.logo2), + contentDescription = "Description de l'image", + modifier = Modifier + .wrapContentWidth(align = Alignment.CenterHorizontally) + .width(800.dp) + .padding(40.dp) + .size(width = 200.dp, height = 200.dp) + ) + + + TextField( + value = name, + onValueChange = { name = it }, + label = { Text("Name") }, + modifier = Modifier.padding(20.dp) + .wrapContentWidth(align = Alignment.CenterHorizontally) + .align(alignment = Alignment.CenterHorizontally) + ) + + TextField( + value = password, + onValueChange = { password = it }, + label = { Text("Name") }, + modifier = Modifier.padding(20.dp) + .wrapContentWidth(align = Alignment.CenterHorizontally) + .align(alignment = Alignment.CenterHorizontally) + ) + + + Button(onClick = { NavigateToApp() },modifier = Modifier + .padding(30.dp) + .width(150.dp) + .height(80.dp) + .align(alignment = Alignment.CenterHorizontally) + ) { + Text("Register", fontWeight = FontWeight(1000), fontSize = 24.sp) + } + + } + + } + + +} + diff --git a/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/VocabularyListScreen.kt b/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/VocabularyListScreen.kt index f608a49..86c93f0 100644 --- a/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/VocabularyListScreen.kt +++ b/Project/android/app/src/main/java/sae/android/sae_2a/ui/screen/VocabularyListScreen.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.unit.sp import sae.android.sae_2a.R @Composable -fun VocabularyScreen(){ +fun VocabularyScreen(onNavigateToList: () -> Unit){ val vocabulary = listOf( Vocabulary("test","Autheur", hashMapOf("Fromage" to "Cheese", "Pomme" to "Apple")), Vocabulary("test2","Autheur2", hashMapOf("Fromage" to "Cheese", "Pomme" to "Apple")) diff --git a/Project/android/app/src/main/res/drawable/logo.png b/Project/android/app/src/main/res/drawable/logo.png new file mode 100644 index 0000000..0f9d343 Binary files /dev/null and b/Project/android/app/src/main/res/drawable/logo.png differ diff --git a/Project/android/app/src/main/res/drawable/logo2.png b/Project/android/app/src/main/res/drawable/logo2.png new file mode 100644 index 0000000..31b7832 Binary files /dev/null and b/Project/android/app/src/main/res/drawable/logo2.png differ