added timer add route
This commit is contained in:
parent
24fe1b4f78
commit
11e7990ee9
1 changed files with 37 additions and 1 deletions
|
@ -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) }
|
||||
}
|
||||
}
|
Reference in a new issue