intermediate type select screen for add and route to edit instead of add
This commit is contained in:
parent
46109ac4ff
commit
9688426093
4 changed files with 15 additions and 6 deletions
|
@ -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,
|
||||||
|
|
|
@ -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"
|
||||||
|
|
||||||
|
|
|
@ -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())
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Reference in a new issue