From 7beb9eb282aaf1020cea6e8d963fe7ef623ff8ec Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 15:40:29 +0200 Subject: [PATCH 01/14] added homescreen to destinations --- .../java/be/ugent/sel/studeez/navigation/StudeezDestinations.kt | 1 + 1 file changed, 1 insertion(+) 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 From 9f3fb9837682db48ca5d9967861271202d554195 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 15:41:42 +0200 Subject: [PATCH 02/14] added homescreen view --- .../main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt 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..af6014f --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt @@ -0,0 +1,2 @@ +package be.ugent.sel.studeez.screens.home + From 94244f5cfe9ba60c84d8200ff3e6494e60f1ac11 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 15:42:30 +0200 Subject: [PATCH 03/14] added home viewmodel --- .../java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt 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..fcd4b23 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt @@ -0,0 +1,4 @@ +package be.ugent.sel.studeez.screens.home + +class HomeViewModel { +} \ No newline at end of file From 17ad4c374b9b3b10519ee3a01df0a641e2599401 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 15:49:00 +0200 Subject: [PATCH 04/14] added hilt viewmodel with button onclick --- .../ugent/sel/studeez/screens/home/HomeViewModel.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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 index fcd4b23..df74ddc 100644 --- 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 @@ -1,4 +1,14 @@ package be.ugent.sel.studeez.screens.home -class HomeViewModel { +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 From 5065b194e8871a62c7c91e2d5a549a9efa2f1fad Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 15:55:37 +0200 Subject: [PATCH 05/14] added homescreen text --- app/src/main/res/values/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6daa9bf..2167f95 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -23,4 +23,7 @@ Check your inbox for the recovery email. Password cannot be empty. + + Start session + From 0b76199d3c9e5924ad1d7f79ab0f19be74dfe049 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 15:57:23 +0200 Subject: [PATCH 06/14] added home --- app/src/main/res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2167f95..01e986c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -24,6 +24,7 @@ Password cannot be empty. + Home Start session From 174c5ad45b2eaecc3d9807e06ed53c7cbbf51f9e Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 16:20:49 +0200 Subject: [PATCH 07/14] #54 added home screen view --- .../sel/studeez/screens/home/HomeScreen.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) 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 index af6014f..64bb7a3 100644 --- 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 @@ -1,2 +1,23 @@ 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.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() +) { + + SecondaryScreenToolbar(title = resources().getString(R.string.home)) { + BasicButton(R.string.start_session, Modifier.basicButton()) { + viewModel.onStartSessionClick(openAndPopUp) + } + } +} \ No newline at end of file From 484b71c7828945a1adbc43bfc0a2b933ddc24ed7 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 16:21:01 +0200 Subject: [PATCH 08/14] #54 added home screen view model --- .../java/be/ugent/sel/studeez/screens/home/HomeViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index df74ddc..f3a5369 100644 --- 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 @@ -9,6 +9,6 @@ import javax.inject.Inject class HomeViewModel @Inject constructor(logService: LogService) : StudeezViewModel(logService) { fun onStartSessionClick(openAndPopUp: (String, String) -> Unit) { - //openAndPopUp(StudeezDestinations.xxx, StudeezDestinations.HOME_SCREEN) + // openAndPopUp(StudeezDestinations.xxx, StudeezDestinations.HOME_SCREEN) } } \ No newline at end of file From aac66923ca40f5b82d461e5892bb2385002a6529 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 16:21:47 +0200 Subject: [PATCH 09/14] #54 user is redirected to homepage after login --- .../java/be/ugent/sel/studeez/screens/log_in/LoginViewModel.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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. } } From b054181486fde111572e69265c7ea2c927cc752c Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 16:22:27 +0200 Subject: [PATCH 10/14] #54 go to homescreen if user is already logged in --- .../be/ugent/sel/studeez/screens/splash/SplashViewModel.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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) } From 23f57b703505c06993212d329bd13a5124a81f8c Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 16:22:58 +0200 Subject: [PATCH 11/14] #54 add homescreen to navgraph --- app/src/main/java/be/ugent/sel/studeez/StudeezApp.kt | 5 +++++ 1 file changed, 5 insertions(+) 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 From 1112cf14d4841e57091778fac6cbdd75e70d24b9 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 16:28:38 +0200 Subject: [PATCH 12/14] #54 secondary toolbar to primary --- .../main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 index 64bb7a3..30dc066 100644 --- 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 @@ -5,6 +5,7 @@ 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 @@ -15,7 +16,7 @@ fun HomeScreen( viewModel: HomeViewModel = hiltViewModel() ) { - SecondaryScreenToolbar(title = resources().getString(R.string.home)) { + PrimaryScreenToolbar(title = resources().getString(R.string.home)) { BasicButton(R.string.start_session, Modifier.basicButton()) { viewModel.onStartSessionClick(openAndPopUp) } From c3abfd896e1d78f0cbd3406a11d4db6a6f40d8c0 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 16:29:10 +0200 Subject: [PATCH 13/14] #54 toolbar takes composable as content --- .../be/ugent/sel/studeez/common/composable/ToolbarComposable.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From d1a21e6894eb93a34bb2dc20f839e2a28aeec755 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 11 Apr 2023 18:39:21 +0200 Subject: [PATCH 14/14] Update app/src/main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt Co-authored-by: Tibo De Peuter --- .../main/java/be/ugent/sel/studeez/screens/home/HomeScreen.kt | 1 + 1 file changed, 1 insertion(+) 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 index 30dc066..56d1b4d 100644 --- 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 @@ -17,6 +17,7 @@ fun HomeScreen( ) { PrimaryScreenToolbar(title = resources().getString(R.string.home)) { + // "Start session" button BasicButton(R.string.start_session, Modifier.basicButton()) { viewModel.onStartSessionClick(openAndPopUp) }