diff --git a/Project/android/app/src/main/java/sae/android/sae_2a/data/Screen.kt b/Project/android/app/src/main/java/sae/android/sae_2a/data/Screen.kt
new file mode 100644
index 0000000..34ec444
--- /dev/null
+++ b/Project/android/app/src/main/java/sae/android/sae_2a/data/Screen.kt
@@ -0,0 +1,23 @@
+package sae.android.sae_2a.data
+
+import androidx.annotation.StringRes
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.AccountBox
+import androidx.compose.material.icons.filled.Home
+import androidx.compose.material.icons.filled.Menu
+import androidx.compose.ui.graphics.vector.ImageVector
+import sae.android.sae_2a.R
+
+sealed class Screen(val route: String, @StringRes val resourceId: Int, val image: ImageVector) {
+ object Profile : Screen("profile", R.string.profilePicture, Icons.Filled.AccountBox )
+ object Home : Screen("profileScreen", R.string.home, Icons.Filled.Home )
+ object VocabularyList : Screen("VocabularyListScreen", R.string.voc_image_description, Icons.Filled.Menu)
+ object Game : Screen("GameScreen", R.string.game ,Icons.Filled.Home)
+ object Register : Screen("RegisterScreen", R.string.register,Icons.Filled.Home )
+ object Login : Screen("LoginScreen", R.string.logIn , Icons.Filled.Home)
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/Project/android/app/src/main/java/sae/android/sae_2a/view/HomeScreen.kt b/Project/android/app/src/main/java/sae/android/sae_2a/view/HomeScreen.kt
index 3ac4b34..25cf34a 100644
--- a/Project/android/app/src/main/java/sae/android/sae_2a/view/HomeScreen.kt
+++ b/Project/android/app/src/main/java/sae/android/sae_2a/view/HomeScreen.kt
@@ -12,8 +12,6 @@ import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
import androidx.compose.material.BottomNavigation
import androidx.compose.material.BottomNavigationItem
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material3.Button
import androidx.compose.material3.Icon
import androidx.compose.material3.Scaffold
@@ -37,11 +35,13 @@ import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import sae.android.sae_2a.R
+import sae.android.sae_2a.data.Screen
import sae.android.sae_2a.game.VocabularyScreen
val items = listOf(
+ Screen.Game,
Screen.VocabularyList,
- Screen.Game
+ Screen.Profile
)
@@ -50,44 +50,49 @@ val items = listOf(
fun MyApp() {
val navController = rememberNavController()
Scaffold(
- bottomBar = {
- BottomNavigation {
- val navBackStackEntry by navController.currentBackStackEntryAsState()
- val currentDestination = navBackStackEntry?.destination
- items.forEach { screen ->
- BottomNavigationItem(
- label = { Text(stringResource(screen.resourceId)) },
- selected = currentDestination?.hierarchy?.any { it.route == screen.route } == true,
- onClick = {
- navController.navigate(screen.route) {
- popUpTo(navController.graph.findStartDestination().id) {
- saveState = true
- }
- launchSingleTop = true
- restoreState = true
- }
- },
- icon = {
- Icon(
- Icons.Filled.Favorite, contentDescription = null
- )
- })
- }
- }
- }
- ){ innerPadding ->
- NavHost(navController, startDestination = Screen.Home.route, Modifier.padding(innerPadding)) {
- composable(Screen.Home.route) { HomeScreen( NavigateToRegister = { navController.navigate(Screen.Register.route)} ,NavigateToLogin = { navController.navigate(Screen.Game.route) }) }
- composable(Screen.VocabularyList.route) { VocabularyScreen(onNavigateToList = { navController.popBackStack() }) }
- composable(Screen.Register.route) { RegisterScreen(NavigateToApp = { navController.navigate(Screen.VocabularyList.route) }) }
- composable(Screen.Game.route){ GameScreen() {
- } }
-
-
+ bottomBar = {
+ val navBackStackEntry by navController.currentBackStackEntryAsState()
+ val currentDestination = navBackStackEntry?.destination
+ if (currentDestination?.route !in listOf(Screen.Home.route, Screen.Login.route , Screen.Register.route)) {
+ BottomNavigation {
+ items.forEach { screen ->
+ BottomNavigationItem(
+ modifier = Modifier
+ .background(Color.Gray),
+ label = { Text(stringResource(screen.resourceId)) },
+ selected = currentDestination?.hierarchy?.any { it.route == screen.route } == true,
+ onClick = {
+ navController.navigate(screen.route) {
+ popUpTo(navController.graph.findStartDestination().id) {
+ saveState = true
+ }
+ launchSingleTop = true
+ restoreState = true
+ }
+ },
+ icon = {
+ Icon(
+ screen.image , contentDescription = null
+ )
+ })
+ }
+ }
+ }
+ }
+ ) { innerPadding ->
+ NavHost(navController, startDestination = Screen.Home.route, Modifier.padding(innerPadding)) {
+ composable(Screen.Home.route) { HomeScreen(NavigateToRegister = { navController.navigate(
+ Screen.Register.route) }, NavigateToLogin = { navController.navigate(Screen.Login.route) }) }
+ composable(Screen.VocabularyList.route) { VocabularyScreen(onNavigateToList = { navController.popBackStack() }) }
+ composable(Screen.Register.route) { RegisterScreen(NavigateToApp = { navController.navigate(
+ Screen.VocabularyList.route) }) }
+ composable(Screen.Game.route){ GameScreen() {} }
+ composable(Screen.Login.route){LoginScreen(onLoginClicked = { _, _ -> })}
+ composable(Screen.Profile.route){profileScreen()}
+ }
}
-
-}
}
+
@Composable
fun HomeScreen(NavigateToRegister: () -> Unit,NavigateToLogin: () -> Unit ){
diff --git a/Project/android/app/src/main/java/sae/android/sae_2a/view/Screen.kt b/Project/android/app/src/main/java/sae/android/sae_2a/view/Screen.kt
deleted file mode 100644
index 81cc02b..0000000
--- a/Project/android/app/src/main/java/sae/android/sae_2a/view/Screen.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package sae.android.sae_2a.view
-
-import androidx.annotation.StringRes
-import sae.android.sae_2a.R
-
-sealed class Screen(val route: String, @StringRes val resourceId: Int) {
- object Profile : Screen("profile", R.string.profilePicture)
- object Home : Screen("HomeScreen", R.string.home)
- object VocabularyList : Screen("VocabularyListScreen", R.string.voc_image_description)
- object Game : Screen("GameScreen", R.string.game)
- object Register : Screen("RegisterScreen", R.string.register)
-
-
-
-
-}
\ No newline at end of file
diff --git a/Project/android/app/src/main/res/values/strings.xml b/Project/android/app/src/main/res/values/strings.xml
index b933d62..8b56d0e 100644
--- a/Project/android/app/src/main/res/values/strings.xml
+++ b/Project/android/app/src/main/res/values/strings.xml
@@ -6,7 +6,7 @@
Log Out
Sign In
Password
- Picture representing vocabulary
+ Vocabulary
Created by\u0020
Unknown
Profile Picture