From 9bc64be1ee6657fab3054ca67e1f9463ac3e4950 Mon Sep 17 00:00:00 2001 From: Lukas Barragan Torres Date: Wed, 10 May 2023 11:32:08 +0200 Subject: [PATCH] #110 added extra button in parameters of formscreen --- .../screens/timer_form/TimerFormRoute.kt | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormRoute.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormRoute.kt index 0323dc2..7cef001 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormRoute.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormRoute.kt @@ -3,6 +3,7 @@ package be.ugent.sel.studeez.screens.timer_form import androidx.annotation.StringRes import androidx.compose.runtime.Composable 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.data.local.models.timer_info.TimerInfo import be.ugent.sel.studeez.R.string as AppText @@ -12,8 +13,16 @@ fun TimerAddRoute( popUp: () -> Unit, 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, 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) } } @@ -31,12 +53,13 @@ fun TimerEditRoute( fun TimerFormScreen( popUp: () -> Unit, getTimerInfo: () -> TimerInfo, + extraButton: @Composable () -> Unit, @StringRes label: Int, onConfirmClick: (TimerInfo) -> Unit ) { val timerFormScreen = getTimerInfo().accept(GetTimerFormScreen()) SecondaryScreenTemplate(title = stringResource(id = label), popUp = popUp) { - timerFormScreen(onConfirmClick) + timerFormScreen(onConfirmClick, extraButton) } }