#14 Basic navigation around the app

This commit is contained in:
Tibo De Peuter 2023-04-15 10:00:21 +02:00
parent 13140d4e3c
commit e4066dedd7
6 changed files with 60 additions and 5 deletions

View file

@ -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)
}
}

View file

@ -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) {

View file

@ -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
}
}

View file

@ -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) {
}