#110 added extra button in parameters of formscreen
This commit is contained in:
parent
d6b2c17f29
commit
9bc64be1ee
1 changed files with 27 additions and 4 deletions
|
@ -3,6 +3,7 @@ package be.ugent.sel.studeez.screens.timer_form
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import be.ugent.sel.studeez.common.composable.DeleteButton
|
||||||
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
|
import be.ugent.sel.studeez.common.composable.SecondaryScreenTemplate
|
||||||
import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo
|
import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo
|
||||||
import be.ugent.sel.studeez.R.string as AppText
|
import be.ugent.sel.studeez.R.string as AppText
|
||||||
|
@ -12,8 +13,16 @@ fun TimerAddRoute(
|
||||||
popUp: () -> Unit,
|
popUp: () -> Unit,
|
||||||
viewModel: TimerFormViewModel
|
viewModel: TimerFormViewModel
|
||||||
) {
|
) {
|
||||||
TimerFormScreen(popUp = popUp, getTimerInfo = viewModel::getTimerInfo, AppText.add_timer) {
|
|
||||||
viewModel.saveTimer(it, goBack = popUp)
|
|
||||||
|
TimerFormScreen(
|
||||||
|
popUp = popUp,
|
||||||
|
getTimerInfo = viewModel::getTimerInfo,
|
||||||
|
extraButton= { },
|
||||||
|
AppText.add_timer
|
||||||
|
) {
|
||||||
|
viewModel.saveTimer(it, goBack = {popUp(); popUp()})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +31,20 @@ fun TimerEditRoute(
|
||||||
popUp: () -> Unit,
|
popUp: () -> Unit,
|
||||||
viewModel: TimerFormViewModel
|
viewModel: TimerFormViewModel
|
||||||
) {
|
) {
|
||||||
TimerFormScreen(popUp = popUp, getTimerInfo = viewModel::getTimerInfo, AppText.edit_timer) {
|
|
||||||
|
@Composable
|
||||||
|
fun deleteButton() {
|
||||||
|
DeleteButton(text = AppText.delete_subject) {
|
||||||
|
viewModel.deleteTimer(viewModel.getTimerInfo(), popUp)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TimerFormScreen(
|
||||||
|
popUp = popUp,
|
||||||
|
getTimerInfo = viewModel::getTimerInfo,
|
||||||
|
extraButton= { deleteButton() },
|
||||||
|
AppText.edit_timer
|
||||||
|
) {
|
||||||
viewModel.editTimer(it, goBack = popUp)
|
viewModel.editTimer(it, goBack = popUp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,12 +53,13 @@ fun TimerEditRoute(
|
||||||
fun TimerFormScreen(
|
fun TimerFormScreen(
|
||||||
popUp: () -> Unit,
|
popUp: () -> Unit,
|
||||||
getTimerInfo: () -> TimerInfo,
|
getTimerInfo: () -> TimerInfo,
|
||||||
|
extraButton: @Composable () -> Unit,
|
||||||
@StringRes label: Int,
|
@StringRes label: Int,
|
||||||
onConfirmClick: (TimerInfo) -> Unit
|
onConfirmClick: (TimerInfo) -> Unit
|
||||||
) {
|
) {
|
||||||
val timerFormScreen = getTimerInfo().accept(GetTimerFormScreen())
|
val timerFormScreen = getTimerInfo().accept(GetTimerFormScreen())
|
||||||
|
|
||||||
SecondaryScreenTemplate(title = stringResource(id = label), popUp = popUp) {
|
SecondaryScreenTemplate(title = stringResource(id = label), popUp = popUp) {
|
||||||
timerFormScreen(onConfirmClick)
|
timerFormScreen(onConfirmClick, extraButton)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue