intermediate type select screen for add and route to edit instead of add
This commit is contained in:
parent
46109ac4ff
commit
9688426093
4 changed files with 15 additions and 6 deletions
|
@ -32,6 +32,7 @@ import be.ugent.sel.studeez.screens.sessions.SessionsRoute
|
|||
import be.ugent.sel.studeez.screens.settings.SettingsRoute
|
||||
import be.ugent.sel.studeez.screens.sign_up.SignUpRoute
|
||||
import be.ugent.sel.studeez.screens.splash.SplashRoute
|
||||
import be.ugent.sel.studeez.screens.timer_add.TimerTypeSelectScreen
|
||||
import be.ugent.sel.studeez.screens.timer_edit.TimerEditRoute
|
||||
import be.ugent.sel.studeez.screens.timer_overview.TimerOverviewRoute
|
||||
import be.ugent.sel.studeez.screens.timer_overview.add_timer.AddTimerRoute
|
||||
|
@ -183,6 +184,13 @@ fun StudeezNavGraph(
|
|||
)
|
||||
}
|
||||
|
||||
composable(StudeezDestinations.TIMER_TYPE_CHOOSING_SCREEN) {
|
||||
TimerTypeSelectScreen(
|
||||
open = open,
|
||||
popUp = goBack
|
||||
)
|
||||
}
|
||||
|
||||
composable(StudeezDestinations.SESSION_SCREEN) {
|
||||
SessionRoute(
|
||||
open,
|
||||
|
|
|
@ -19,6 +19,7 @@ object StudeezDestinations {
|
|||
// Studying flow
|
||||
const val TIMER_SELECTION_SCREEN = "timer_selection"
|
||||
const val TIMER_EDIT_SCREEN = "timer_edit"
|
||||
const val TIMER_TYPE_CHOOSING_SCREEN = "timer_type_choosing_screen"
|
||||
const val SESSION_SCREEN = "session"
|
||||
const val SESSION_RECAP = "session_recap"
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ data class TimerOverviewActions(
|
|||
val getUserTimers: () -> Flow<List<TimerInfo>>,
|
||||
val getDefaultTimers: () -> List<TimerInfo>,
|
||||
val onEditClick: (TimerInfo) -> Unit,
|
||||
val onAddClick: () -> Unit,
|
||||
val onAddClick: () -> Unit
|
||||
)
|
||||
|
||||
fun getTimerOverviewActions(
|
||||
|
@ -36,7 +36,7 @@ fun getTimerOverviewActions(
|
|||
getUserTimers = viewModel::getUserTimers,
|
||||
getDefaultTimers = viewModel::getDefaultTimers,
|
||||
onEditClick = { viewModel.update(it, open) },
|
||||
onAddClick = { viewModel.create(open) }
|
||||
onAddClick = { viewModel.onAddClick(open) }
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -48,14 +48,14 @@ fun TimerOverviewRoute(
|
|||
) {
|
||||
TimerOverviewScreen(
|
||||
timerOverviewActions = getTimerOverviewActions(viewModel, open),
|
||||
drawerActions = drawerActions
|
||||
drawerActions = drawerActions,
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun TimerOverviewScreen(
|
||||
timerOverviewActions: TimerOverviewActions,
|
||||
drawerActions: DrawerActions
|
||||
drawerActions: DrawerActions,
|
||||
) {
|
||||
|
||||
val timers = timerOverviewActions.getUserTimers().collectAsState(initial = emptyList())
|
||||
|
|
|
@ -32,8 +32,8 @@ class TimerOverviewViewModel @Inject constructor(
|
|||
open(StudeezDestinations.TIMER_EDIT_SCREEN)
|
||||
}
|
||||
|
||||
fun create(open: (String) -> Unit) {
|
||||
open(StudeezDestinations.ADD_TIMER_SCREEN)
|
||||
fun onAddClick(open: (String) -> Unit) {
|
||||
open(StudeezDestinations.TIMER_TYPE_CHOOSING_SCREEN)
|
||||
}
|
||||
|
||||
fun delete(timerInfo: TimerInfo) =timerDAO.deleteTimer(timerInfo)
|
||||
|
|
Reference in a new issue