From 11e7990ee9feffddbaa67121d8724f98ecde4c63 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Thu, 4 May 2023 22:54:51 +0200 Subject: [PATCH] added timer add route --- .../screens/timer_add/TimerAddRoute.kt | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerAddRoute.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerAddRoute.kt index dbf0f30..d656aab 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerAddRoute.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerAddRoute.kt @@ -1,4 +1,40 @@ package be.ugent.sel.studeez.screens.timer_add -class TimerAddRoute { +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.stringResource +import be.ugent.sel.studeez.R +import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate +import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo +import be.ugent.sel.studeez.screens.timer_edit.GetTimerEditScreen +import be.ugent.sel.studeez.screens.timer_edit.TimerEditViewModel + +data class TimerEditActions( + val getTimerInfo: () -> TimerInfo, + val saveTimer: (TimerInfo) -> Unit +) + +fun getTimerAddActions( + viewModel: TimerEditViewModel, + goBack: () -> Unit +): TimerEditActions { + return TimerEditActions( + getTimerInfo = viewModel::getTimerInfo, + saveTimer = { timerInfo -> viewModel.saveTimer(timerInfo, goBack) } + ) +} + +@Composable +fun TimerAddRoute( + open: (String) -> Unit, + popUp: () -> Unit, + viewModel: TimerEditViewModel, +) { + + val timerEditActions = getTimerAddActions(viewModel, goBack = popUp) + + SecondaryScreenTemplate(title = stringResource(id = R.string.edit_timer), popUp = popUp) { + + val timerEditScreen = timerEditActions.getTimerInfo().accept(GetTimerEditScreen()) + timerEditScreen { timerEditActions.saveTimer(it) } + } } \ No newline at end of file