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 9934467..fb3aeb2 100644 --- a/app/src/main/java/be/ugent/sel/studeez/StudeezApp.kt +++ b/app/src/main/java/be/ugent/sel/studeez/StudeezApp.kt @@ -20,6 +20,7 @@ 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.log_in.LoginScreen +import be.ugent.sel.studeez.screens.profile.ProfileScreen import be.ugent.sel.studeez.screens.sign_up.SignUpScreen import be.ugent.sel.studeez.screens.splash.SplashScreen import be.ugent.sel.studeez.ui.theme.StudeezTheme @@ -99,4 +100,14 @@ fun NavGraphBuilder.studeezGraph(appState: StudeezAppstate) { composable(StudeezDestinations.HOME_SCREEN) { HomeScreen(open, openAndPopUp) } + + // TODO Tasks screen + // TODO Sessions screen + + composable(StudeezDestinations.PROFILE_SCREEN) { + ProfileScreen(open, openAndPopUp) + } + + // TODO Timers screen + // TODO Settings screen } \ No newline at end of file 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 3ac8d47..a042da1 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,6 +4,12 @@ object StudeezDestinations { const val SPLASH_SCREEN = "splash" const val SIGN_UP_SCREEN = "signup" const val LOGIN_SCREEN = "login" - const val HOME_SCREEN = "home" + const val HOME_SCREEN = "home" +// const val TASKS_SCREEN = "tasks" +// const val SESSIONS_SCREEN = "sessions" + const val PROFILE_SCREEN = "profile" + +// const val TIMERS_SCREEN = "timers" +// const val SETTINGS_SCREEN = "settings" } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerViewModel.kt index dbf3eed..641321c 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerViewModel.kt @@ -3,6 +3,7 @@ package be.ugent.sel.studeez.screens.drawer 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.screens.StudeezViewModel import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject @@ -14,7 +15,7 @@ class DrawerViewModel @Inject constructor( ) : StudeezViewModel(logService) { fun onHomeButtonClick(open: (String) -> Unit) { - // TODO + open(HOME_SCREEN) } fun onTimersClick(open: (String) -> Unit) { @@ -25,10 +26,10 @@ class DrawerViewModel @Inject constructor( // TODO } - fun onLogoutClick(openAndPopup: (String, String) -> Unit) { + fun onLogoutClick(openAndPopUp: (String, String) -> Unit) { launchCatching { accountDAO.signOut() - openAndPopup(StudeezDestinations.LOGIN_SCREEN, StudeezDestinations.HOME_SCREEN) + openAndPopUp(StudeezDestinations.LOGIN_SCREEN, StudeezDestinations.HOME_SCREEN) } } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/navbar/NavigationBarViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/navbar/NavigationBarViewModel.kt index a62de2d..1814d84 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/navbar/NavigationBarViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/navbar/NavigationBarViewModel.kt @@ -3,6 +3,7 @@ package be.ugent.sel.studeez.screens.navbar 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.PROFILE_SCREEN import be.ugent.sel.studeez.screens.StudeezViewModel import dagger.hilt.android.lifecycle.HiltViewModel @@ -15,7 +16,7 @@ class NavigationBarViewModel @Inject constructor( ) : StudeezViewModel(logService) { fun onHomeClick(open: (String) -> Unit) { - // TODO + open(HOME_SCREEN) } fun onTasksClick(open: (String) -> Unit) { diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt new file mode 100644 index 0000000..ed3297a --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileScreen.kt @@ -0,0 +1,23 @@ +package be.ugent.sel.studeez.screens.profile + +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.hilt.navigation.compose.hiltViewModel +import be.ugent.sel.studeez.common.composable.PrimaryScreenTemplate +import be.ugent.sel.studeez.resources +import be.ugent.sel.studeez.R.string as AppText + +@Composable +fun ProfileScreen( + open: (String) -> Unit, + openAndPopUp: (String, String) -> Unit, + viewModel: ProfileViewModel = hiltViewModel() +) { + PrimaryScreenTemplate( + title = resources().getString(AppText.profile), + open = open, + openAndPopUp = openAndPopUp + ) { + Text(text = "This is your profile!") // TODO + } +} \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileViewModel.kt new file mode 100644 index 0000000..47286cc --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/ProfileViewModel.kt @@ -0,0 +1,13 @@ +package be.ugent.sel.studeez.screens.profile + +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 ProfileViewModel @Inject constructor( + logService: LogService +) : StudeezViewModel(logService) { + +} \ No newline at end of file