intermediate type select screen for add and route to edit instead of add

This commit is contained in:
Lukas Barragan Torres 2023-05-04 10:27:20 +02:00
parent 46109ac4ff
commit 9688426093
4 changed files with 15 additions and 6 deletions

View file

@ -32,6 +32,7 @@ import be.ugent.sel.studeez.screens.sessions.SessionsRoute
import be.ugent.sel.studeez.screens.settings.SettingsRoute import be.ugent.sel.studeez.screens.settings.SettingsRoute
import be.ugent.sel.studeez.screens.sign_up.SignUpRoute import be.ugent.sel.studeez.screens.sign_up.SignUpRoute
import be.ugent.sel.studeez.screens.splash.SplashRoute import be.ugent.sel.studeez.screens.splash.SplashRoute
import be.ugent.sel.studeez.screens.timer_add.TimerTypeSelectScreen
import be.ugent.sel.studeez.screens.timer_edit.TimerEditRoute import be.ugent.sel.studeez.screens.timer_edit.TimerEditRoute
import be.ugent.sel.studeez.screens.timer_overview.TimerOverviewRoute import be.ugent.sel.studeez.screens.timer_overview.TimerOverviewRoute
import be.ugent.sel.studeez.screens.timer_overview.add_timer.AddTimerRoute import be.ugent.sel.studeez.screens.timer_overview.add_timer.AddTimerRoute
@ -183,6 +184,13 @@ fun StudeezNavGraph(
) )
} }
composable(StudeezDestinations.TIMER_TYPE_CHOOSING_SCREEN) {
TimerTypeSelectScreen(
open = open,
popUp = goBack
)
}
composable(StudeezDestinations.SESSION_SCREEN) { composable(StudeezDestinations.SESSION_SCREEN) {
SessionRoute( SessionRoute(
open, open,

View file

@ -19,6 +19,7 @@ object StudeezDestinations {
// Studying flow // Studying flow
const val TIMER_SELECTION_SCREEN = "timer_selection" const val TIMER_SELECTION_SCREEN = "timer_selection"
const val TIMER_EDIT_SCREEN = "timer_edit" const val TIMER_EDIT_SCREEN = "timer_edit"
const val TIMER_TYPE_CHOOSING_SCREEN = "timer_type_choosing_screen"
const val SESSION_SCREEN = "session" const val SESSION_SCREEN = "session"
const val SESSION_RECAP = "session_recap" const val SESSION_RECAP = "session_recap"

View file

@ -25,7 +25,7 @@ data class TimerOverviewActions(
val getUserTimers: () -> Flow<List<TimerInfo>>, val getUserTimers: () -> Flow<List<TimerInfo>>,
val getDefaultTimers: () -> List<TimerInfo>, val getDefaultTimers: () -> List<TimerInfo>,
val onEditClick: (TimerInfo) -> Unit, val onEditClick: (TimerInfo) -> Unit,
val onAddClick: () -> Unit, val onAddClick: () -> Unit
) )
fun getTimerOverviewActions( fun getTimerOverviewActions(
@ -36,7 +36,7 @@ fun getTimerOverviewActions(
getUserTimers = viewModel::getUserTimers, getUserTimers = viewModel::getUserTimers,
getDefaultTimers = viewModel::getDefaultTimers, getDefaultTimers = viewModel::getDefaultTimers,
onEditClick = { viewModel.update(it, open) }, onEditClick = { viewModel.update(it, open) },
onAddClick = { viewModel.create(open) } onAddClick = { viewModel.onAddClick(open) }
) )
} }
@ -48,14 +48,14 @@ fun TimerOverviewRoute(
) { ) {
TimerOverviewScreen( TimerOverviewScreen(
timerOverviewActions = getTimerOverviewActions(viewModel, open), timerOverviewActions = getTimerOverviewActions(viewModel, open),
drawerActions = drawerActions drawerActions = drawerActions,
) )
} }
@Composable @Composable
fun TimerOverviewScreen( fun TimerOverviewScreen(
timerOverviewActions: TimerOverviewActions, timerOverviewActions: TimerOverviewActions,
drawerActions: DrawerActions drawerActions: DrawerActions,
) { ) {
val timers = timerOverviewActions.getUserTimers().collectAsState(initial = emptyList()) val timers = timerOverviewActions.getUserTimers().collectAsState(initial = emptyList())

View file

@ -32,8 +32,8 @@ class TimerOverviewViewModel @Inject constructor(
open(StudeezDestinations.TIMER_EDIT_SCREEN) open(StudeezDestinations.TIMER_EDIT_SCREEN)
} }
fun create(open: (String) -> Unit) { fun onAddClick(open: (String) -> Unit) {
open(StudeezDestinations.ADD_TIMER_SCREEN) open(StudeezDestinations.TIMER_TYPE_CHOOSING_SCREEN)
} }
fun delete(timerInfo: TimerInfo) =timerDAO.deleteTimer(timerInfo) fun delete(timerInfo: TimerInfo) =timerDAO.deleteTimer(timerInfo)