From 86c7a0e6a8000222dfc0b8bcccfc3311bcb0e711 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Fri, 5 May 2023 00:01:01 +0200 Subject: [PATCH] *EditScreen -> *FormScreen --- .../screens/timer_add/TimerAddRoute.kt | 40 ----------- .../screens/timer_edit/TimerEditScreen.kt | 63 ----------------- .../GetTimerFormScreen.kt} | 10 +-- .../screens/timer_form/TimerFormRoute.kt | 68 +++++++++++++++++++ .../TimerFormViewModel.kt} | 2 +- .../form_screens/AbstractTimerFormScreen.kt} | 4 +- .../form_screens/BreakTimerFormScreen.kt} | 8 +-- .../form_screens/CustomTimerFormScreen.kt} | 8 +-- .../form_screens/EndlessTimerFormScreen.kt} | 8 +-- .../TimerTypeSelectScreen.kt | 2 +- .../TimerTypeSelectViewModel.kt | 2 +- 11 files changed, 90 insertions(+), 125 deletions(-) delete mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerAddRoute.kt delete mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/TimerEditScreen.kt rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_edit/GetTimerEditScreen.kt => timer_form/GetTimerFormScreen.kt} (68%) create mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormRoute.kt rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_edit/TimerEditViewModel.kt => timer_form/TimerFormViewModel.kt} (94%) rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_edit/editScreens/AbstractTimerEditScreen.kt => timer_form/form_screens/AbstractTimerFormScreen.kt} (94%) rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_edit/editScreens/BreakTimerEditScreen.kt => timer_form/form_screens/BreakTimerFormScreen.kt} (89%) rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_edit/editScreens/CustomTimerEditScreen.kt => timer_form/form_screens/CustomTimerFormScreen.kt} (79%) rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_edit/editScreens/EndlessTimerEditScreen.kt => timer_form/form_screens/EndlessTimerFormScreen.kt} (70%) rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_add => timer_form/timer_type_select}/TimerTypeSelectScreen.kt (96%) rename app/src/main/java/be/ugent/sel/studeez/screens/{timer_add => timer_form/timer_type_select}/TimerTypeSelectViewModel.kt (93%) 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 deleted file mode 100644 index d656aab..0000000 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerAddRoute.kt +++ /dev/null @@ -1,40 +0,0 @@ -package be.ugent.sel.studeez.screens.timer_add - -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 diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/TimerEditScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/TimerEditScreen.kt deleted file mode 100644 index 68aa3a4..0000000 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/TimerEditScreen.kt +++ /dev/null @@ -1,63 +0,0 @@ -package be.ugent.sel.studeez.screens.timer_edit - -import androidx.compose.runtime.Composable -import androidx.compose.ui.res.stringResource -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 - -data class TimerEditActions( - val getTimerInfo: () -> TimerInfo, - val editTimer: (TimerInfo, () -> Unit) -> Unit -) - -fun getTimerEditActions( - viewModel: TimerEditViewModel, - open: (String) -> Unit -): TimerEditActions { - return TimerEditActions( - getTimerInfo = viewModel::getTimerInfo, - editTimer = viewModel::editTimer - ) -} - -@Composable -fun TimerEditRoute( - open: (String) -> Unit, - popUp: () -> Unit, - viewModel: TimerEditViewModel, -) { - - val timerEditActions = getTimerEditActions(viewModel, open) - - SecondaryScreenTemplate(title = stringResource(id = AppText.edit_timer), popUp = popUp) { - - val timerEditScreen = timerEditActions.getTimerInfo().accept(GetTimerEditScreen()) - timerEditScreen { timerInfo -> - timerEditActions.editTimer(timerInfo, popUp) - } - } -} - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/GetTimerEditScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/GetTimerFormScreen.kt similarity index 68% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/GetTimerEditScreen.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/GetTimerFormScreen.kt index b22b775..8a66919 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/GetTimerEditScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/GetTimerFormScreen.kt @@ -1,13 +1,13 @@ -package be.ugent.sel.studeez.screens.timer_edit +package be.ugent.sel.studeez.screens.timer_form.timer_edit import be.ugent.sel.studeez.data.local.models.timer_info.CustomTimerInfo import be.ugent.sel.studeez.data.local.models.timer_info.EndlessTimerInfo import be.ugent.sel.studeez.data.local.models.timer_info.PomodoroTimerInfo import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfoVisitor -import be.ugent.sel.studeez.screens.timer_edit.editScreens.AbstractTimerEditScreen -import be.ugent.sel.studeez.screens.timer_edit.editScreens.BreakTimerEditScreen -import be.ugent.sel.studeez.screens.timer_edit.editScreens.CustomTimerEditScreen -import be.ugent.sel.studeez.screens.timer_edit.editScreens.EndlessTimerEditScreen +import be.ugent.sel.studeez.screens.timer_form.form_screens.AbstractTimerEditScreen +import be.ugent.sel.studeez.screens.timer_form.form_screens.BreakTimerEditScreen +import be.ugent.sel.studeez.screens.timer_form.form_screens.CustomTimerEditScreen +import be.ugent.sel.studeez.screens.timer_form.form_screens.EndlessTimerEditScreen class GetTimerEditScreen: TimerInfoVisitor { 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 new file mode 100644 index 0000000..607116f --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormRoute.kt @@ -0,0 +1,68 @@ +package be.ugent.sel.studeez.screens.timer_form.timer_edit + +import androidx.annotation.StringRes +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.stringResource +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_form.GetTimerFormScreen +import be.ugent.sel.studeez.screens.timer_form.TimerFormViewModel +import java.util.Timer +import be.ugent.sel.studeez.R.string as AppText + +@Composable +fun TimerAddRoute( + popUp: () -> Unit, + viewModel: TimerFormViewModel +) { + TimerFormScreen(popUp = popUp, getTimerInfo = viewModel::getTimerInfo, AppText.add_timer) { + viewModel.saveTimer(it, goBack = popUp) + } +} + +@Composable +fun TimerEditRoute( + popUp: () -> Unit, + viewModel: TimerFormViewModel +) { + TimerFormScreen(popUp = popUp, getTimerInfo = viewModel::getTimerInfo, AppText.edit_timer) { + viewModel.editTimer(it, goBack = popUp) + } +} + +@Composable +fun TimerFormScreen( + popUp: () -> Unit, + getTimerInfo: () -> TimerInfo, + @StringRes label: Int, + onConfirmClick: (TimerInfo) -> Unit +) { + val timerEditScreen = getTimerInfo().accept(GetTimerFormScreen()) + + SecondaryScreenTemplate(title = stringResource(id = label), popUp = popUp) { + timerEditScreen(onConfirmClick) + } +} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/TimerEditViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormViewModel.kt similarity index 94% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/TimerEditViewModel.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormViewModel.kt index b2bb172..4b9a24c 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/TimerEditViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/TimerFormViewModel.kt @@ -1,4 +1,4 @@ -package be.ugent.sel.studeez.screens.timer_edit +package be.ugent.sel.studeez.screens.timer_form.timer_edit import be.ugent.sel.studeez.data.EditTimerState import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/AbstractTimerEditScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/AbstractTimerFormScreen.kt similarity index 94% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/AbstractTimerEditScreen.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/AbstractTimerFormScreen.kt index 6e38938..44043ed 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/AbstractTimerEditScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/AbstractTimerFormScreen.kt @@ -1,4 +1,4 @@ -package be.ugent.sel.studeez.screens.timer_edit.editScreens +package be.ugent.sel.studeez.screens.timer_form.form_screens import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -16,7 +16,7 @@ import be.ugent.sel.studeez.common.ext.basicButton import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo import be.ugent.sel.studeez.R.string as AppText -abstract class AbstractTimerEditScreen(private val timerInfo: TimerInfo) { +abstract class AbstractTimerFormScreen(private val timerInfo: TimerInfo) { @Composable operator fun invoke(onSaveClick: (TimerInfo) -> Unit) { diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/BreakTimerEditScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/BreakTimerFormScreen.kt similarity index 89% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/BreakTimerEditScreen.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/BreakTimerFormScreen.kt index 8b00b94..12d07a4 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/BreakTimerEditScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/BreakTimerFormScreen.kt @@ -1,4 +1,4 @@ -package be.ugent.sel.studeez.screens.timer_edit.editScreens +package be.ugent.sel.studeez.screens.timer_form.form_screens import androidx.compose.runtime.* import androidx.compose.ui.text.input.KeyboardType @@ -11,9 +11,9 @@ import be.ugent.sel.studeez.ui.theme.StudeezTheme import be.ugent.sel.studeez.R.string as AppText -class BreakTimerEditScreen( +class BreakTimerFormScreen( private val breakTimerInfo: PomodoroTimerInfo -): AbstractTimerEditScreen(breakTimerInfo) { +): AbstractTimerFormScreen(breakTimerInfo) { @Composable override fun ExtraFields() { @@ -50,6 +50,6 @@ fun BreakEditScreenPreview() { 5 ) StudeezTheme { - BreakTimerEditScreen(pomodoroTimerInfo).invoke(onSaveClick = {}) + BreakTimerFormScreen(pomodoroTimerInfo).invoke(onSaveClick = {}) } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/CustomTimerEditScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/CustomTimerFormScreen.kt similarity index 79% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/CustomTimerEditScreen.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/CustomTimerFormScreen.kt index f3278d5..27c0657 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/CustomTimerEditScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/CustomTimerFormScreen.kt @@ -1,4 +1,4 @@ -package be.ugent.sel.studeez.screens.timer_edit.editScreens +package be.ugent.sel.studeez.screens.timer_form.form_screens import androidx.compose.runtime.* import androidx.compose.ui.tooling.preview.Preview @@ -7,9 +7,9 @@ import be.ugent.sel.studeez.data.local.models.timer_info.CustomTimerInfo import be.ugent.sel.studeez.ui.theme.StudeezTheme import be.ugent.sel.studeez.R.string as AppText -class CustomTimerEditScreen( +class CustomTimerFormScreen( private val customTimerInfo: CustomTimerInfo - ): AbstractTimerEditScreen(customTimerInfo) { + ): AbstractTimerFormScreen(customTimerInfo) { @Composable override fun ExtraFields() { @@ -29,6 +29,6 @@ class CustomTimerEditScreen( fun CustomEditScreenPreview() { val customTimerInfo = CustomTimerInfo("custom", "my description", 25) StudeezTheme { - CustomTimerEditScreen(customTimerInfo).invoke(onSaveClick = {}) + CustomTimerFormScreen(customTimerInfo).invoke(onSaveClick = {}) } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/EndlessTimerEditScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/EndlessTimerFormScreen.kt similarity index 70% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/EndlessTimerEditScreen.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/EndlessTimerFormScreen.kt index 0e26209..9009fff 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_edit/editScreens/EndlessTimerEditScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/form_screens/EndlessTimerFormScreen.kt @@ -1,13 +1,13 @@ -package be.ugent.sel.studeez.screens.timer_edit.editScreens +package be.ugent.sel.studeez.screens.timer_form.form_screens import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import be.ugent.sel.studeez.data.local.models.timer_info.EndlessTimerInfo import be.ugent.sel.studeez.ui.theme.StudeezTheme -class EndlessTimerEditScreen( +class EndlessTimerFormScreen( endlessTimerInfo: EndlessTimerInfo -): AbstractTimerEditScreen(endlessTimerInfo) { +): AbstractTimerFormScreen(endlessTimerInfo) { } @Preview @@ -18,6 +18,6 @@ fun EndlessEditScreenPreview() { "My endless timer description", ) StudeezTheme { - EndlessTimerEditScreen(endlessTimerInfo).invoke(onSaveClick = {}) + EndlessTimerFormScreen(endlessTimerInfo).invoke(onSaveClick = {}) } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerTypeSelectScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectScreen.kt similarity index 96% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerTypeSelectScreen.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectScreen.kt index f950c23..197f10c 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerTypeSelectScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectScreen.kt @@ -1,4 +1,4 @@ -package be.ugent.sel.studeez.screens.timer_add +package be.ugent.sel.studeez.screens.timer_form.timer_add import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerTypeSelectViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectViewModel.kt similarity index 93% rename from app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerTypeSelectViewModel.kt rename to app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectViewModel.kt index 58d46a1..d2f048b 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/timer_add/TimerTypeSelectViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/timer_form/timer_type_select/TimerTypeSelectViewModel.kt @@ -1,4 +1,4 @@ -package be.ugent.sel.studeez.screens.timer_add +package be.ugent.sel.studeez.screens.timer_form.timer_add import be.ugent.sel.studeez.data.EditTimerState import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo