diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerComposable.kt similarity index 79% rename from app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerComposable.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerComposable.kt index 2a484b1..0e3b2c9 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerComposable.kt @@ -1,4 +1,4 @@ -package be.ugent.sel.studeez.common.composable +package be.ugent.sel.studeez.screens.drawer import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* @@ -12,16 +12,17 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.vectorResource -import androidx.compose.ui.tooling.preview.Preview +import androidx.hilt.navigation.compose.hiltViewModel import be.ugent.sel.studeez.R import be.ugent.sel.studeez.resources -import be.ugent.sel.studeez.ui.theme.StudeezTheme @Composable fun Drawer( - onLogoutClick: () -> Unit + openAndPopUp: (String, String) -> Unit, + viewModel: DrawerViewModel = hiltViewModel() ) { + Column(modifier = Modifier.fillMaxSize()) { DrawerEntry( icon = Icons.Default.Home, @@ -33,26 +34,26 @@ fun Drawer( icon = ImageVector.vectorResource(id = R.drawable.ic_timer), text = resources().getString(R.string.timers) ) { - // TODO Go to timers + viewModel.onTimersClick(openAndPopUp) } DrawerEntry( icon = Icons.Default.Settings, text = resources().getString(R.string.settings) ) { - // TODO Go to settings + viewModel.onSettingsClick(openAndPopUp) } DrawerEntry( icon = ImageVector.vectorResource(id = R.drawable.ic_logout), text = resources().getString(R.string.log_out) ) { - onLogoutClick() + viewModel.onLogoutClick(openAndPopUp) } DrawerEntry( icon = Icons.Outlined.Info, text = resources().getString(R.string.about) ) { - // TODO Go to about + viewModel.onAboutClick(openAndPopUp) } } } @@ -78,12 +79,12 @@ fun DrawerEntry( } } -@Preview -@Composable -fun DrawerPreview() { - StudeezTheme { - Drawer( - {} - ) - } -} \ No newline at end of file +//@Preview +//@Composable +//fun DrawerPreview() { +// StudeezTheme { +// Drawer( +// {} +// ) +// } +//} \ 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 new file mode 100644 index 0000000..a8173f8 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/drawer/DrawerViewModel.kt @@ -0,0 +1,22 @@ +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.screens.StudeezViewModel +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class PrimaryScreenViewModel @Inject constructor( + private val accountDAO: AccountDAO, + logService: LogService +) : StudeezViewModel(logService) { + + fun onLogoutClick(openAndPopup: (String, String) -> Unit) { + launchCatching { + accountDAO.signOut() + openAndPopup(StudeezDestinations.LOGIN_SCREEN, StudeezDestinations.HOME_SCREEN) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/NavigationBarComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/navbar/NavigationBarComposable.kt similarity index 100% rename from app/src/main/java/be/ugent/sel/studeez/common/composable/NavigationBarComposable.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/navbar/NavigationBarComposable.kt 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 new file mode 100644 index 0000000..45db344 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/navbar/NavigationBarViewModel.kt @@ -0,0 +1,4 @@ +package be.ugent.sel.studeez.screens.navbar + +class NavigationBarViewModel { +} \ No newline at end of file