diff --git a/app/src/main/java/be/ugent/sel/studeez/StudeezApp.kt b/app/src/main/java/be/ugent/sel/studeez/StudeezApp.kt
index 0467234..4058628 100644
--- a/app/src/main/java/be/ugent/sel/studeez/StudeezApp.kt
+++ b/app/src/main/java/be/ugent/sel/studeez/StudeezApp.kt
@@ -18,6 +18,7 @@ import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import be.ugent.sel.studeez.common.snackbar.SnackbarManager
import be.ugent.sel.studeez.navigation.StudeezDestinations
+import be.ugent.sel.studeez.screens.home.HomeScreen
import be.ugent.sel.studeez.screens.sign_in.LoginScreen
import be.ugent.sel.studeez.screens.sign_up.SignUpScreen
import be.ugent.sel.studeez.screens.splash.SplashScreen
@@ -86,4 +87,8 @@ fun NavGraphBuilder.studeezGraph(appState: StudeezAppstate) {
composable(StudeezDestinations.SIGN_UP_SCREEN) {
SignUpScreen(openAndPopUp = { route, popUp -> appState.navigateAndPopUp(route, popUp) })
}
+
+ composable(StudeezDestinations.HOME_SCREEN) {
+ HomeScreen(openAndPopUp = { route, popUp -> appState.navigateAndPopUp(route, popUp) })
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/ToolbarComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/ToolbarComposable.kt
index 9002bf9..2ed16c6 100644
--- a/app/src/main/java/be/ugent/sel/studeez/common/composable/ToolbarComposable.kt
+++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/ToolbarComposable.kt
@@ -14,7 +14,7 @@ import be.ugent.sel.studeez.ui.theme.StudeezTheme
// Contains floatingActionButton and bottom bar, used in the main four screens.
fun PrimaryScreenToolbar(
title: String,
- content: (PaddingValues) -> Unit
+ content: @Composable (PaddingValues) -> Unit
) {
Scaffold(
// Everything at the top of the screen
diff --git a/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezDestinations.kt b/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezDestinations.kt
index 861b0a3..3ac8d47 100644
--- a/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezDestinations.kt
+++ b/app/src/main/java/be/ugent/sel/studeez/navigation/StudeezDestinations.kt
@@ -4,5 +4,6 @@ object StudeezDestinations {
const val SPLASH_SCREEN = "splash"
const val SIGN_UP_SCREEN = "signup"
const val LOGIN_SCREEN = "login"
+ const val HOME_SCREEN = "home"
}
\ No newline at end of file
diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt
new file mode 100644
index 0000000..56d1b4d
--- /dev/null
+++ b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt
@@ -0,0 +1,25 @@
+package be.ugent.sel.studeez.screens.home
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.hilt.navigation.compose.hiltViewModel
+import be.ugent.sel.studeez.R
+import be.ugent.sel.studeez.common.composable.BasicButton
+import be.ugent.sel.studeez.common.composable.PrimaryScreenToolbar
+import be.ugent.sel.studeez.common.composable.SecondaryScreenToolbar
+import be.ugent.sel.studeez.common.ext.basicButton
+import be.ugent.sel.studeez.resources
+
+@Composable
+fun HomeScreen(
+ openAndPopUp: (String, String) -> Unit,
+ viewModel: HomeViewModel = hiltViewModel()
+) {
+
+ PrimaryScreenToolbar(title = resources().getString(R.string.home)) {
+ // "Start session" button
+ BasicButton(R.string.start_session, Modifier.basicButton()) {
+ viewModel.onStartSessionClick(openAndPopUp)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt
new file mode 100644
index 0000000..f3a5369
--- /dev/null
+++ b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt
@@ -0,0 +1,14 @@
+package be.ugent.sel.studeez.screens.home
+
+import be.ugent.sel.studeez.domain.LogService
+import be.ugent.sel.studeez.screens.StudeezViewModel
+import dagger.hilt.android.lifecycle.HiltViewModel
+import javax.inject.Inject
+
+@HiltViewModel
+class HomeViewModel @Inject constructor(logService: LogService) : StudeezViewModel(logService) {
+
+ fun onStartSessionClick(openAndPopUp: (String, String) -> Unit) {
+ // openAndPopUp(StudeezDestinations.xxx, StudeezDestinations.HOME_SCREEN)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginViewModel.kt
index 075be2f..268fa91 100644
--- a/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginViewModel.kt
+++ b/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginViewModel.kt
@@ -6,6 +6,7 @@ import be.ugent.sel.studeez.common.snackbar.SnackbarManager
import be.ugent.sel.studeez.domain.AccountDAO
import be.ugent.sel.studeez.domain.LogService
import be.ugent.sel.studeez.navigation.StudeezDestinations
+import be.ugent.sel.studeez.navigation.StudeezDestinations.HOME_SCREEN
import be.ugent.sel.studeez.navigation.StudeezDestinations.LOGIN_SCREEN
import be.ugent.sel.studeez.navigation.StudeezDestinations.SIGN_UP_SCREEN
import be.ugent.sel.studeez.screens.StudeezViewModel
@@ -47,7 +48,7 @@ class LoginViewModel @Inject constructor(
launchCatching {
accountDAO.signInWithEmailAndPassword(email, password)
- openAndPopUp(SIGN_UP_SCREEN, LOGIN_SCREEN) // Is not reached when error occurs.
+ openAndPopUp(HOME_SCREEN, LOGIN_SCREEN) // Is not reached when error occurs.
}
}
diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt
index e617fff..6f0f18c 100644
--- a/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt
+++ b/app/src/main/java/be/ugent/sel/studeez/screens/splash/SplashViewModel.kt
@@ -19,8 +19,7 @@ class SplashViewModel @Inject constructor(
showError.value = false
if (accountDAO.hasUser) {
- // TODO this should go to the home page
- openAndPopUp(StudeezDestinations.SIGN_UP_SCREEN, StudeezDestinations.SPLASH_SCREEN)
+ openAndPopUp(StudeezDestinations.HOME_SCREEN, StudeezDestinations.SPLASH_SCREEN)
} else{
openAndPopUp(StudeezDestinations.SIGN_UP_SCREEN, StudeezDestinations.SPLASH_SCREEN)
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6daa9bf..01e986c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -23,4 +23,8 @@
Check your inbox for the recovery email.
Password cannot be empty.
+
+ Home
+ Start session
+