start task now goes to timer selection screen
This commit is contained in:
parent
33b8a32330
commit
1eff33a6db
4 changed files with 22 additions and 6 deletions
|
@ -32,6 +32,7 @@ fun TaskEntry(
|
|||
task: Task,
|
||||
onCheckTask: (Boolean) -> Unit,
|
||||
onDeleteTask: () -> Unit,
|
||||
onStartTask: () -> Unit
|
||||
) {
|
||||
Card(
|
||||
modifier = Modifier
|
||||
|
@ -95,6 +96,7 @@ fun TaskEntry(
|
|||
modifier = Modifier
|
||||
.padding(end = 5.dp),
|
||||
) {
|
||||
onStartTask()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +112,7 @@ fun TaskEntryPreview() {
|
|||
name = "Test Task",
|
||||
completed = false,
|
||||
),
|
||||
{}, {},
|
||||
{}, {}, {}
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -122,7 +124,7 @@ fun CompletedTaskEntryPreview() {
|
|||
name = "Test Task",
|
||||
completed = true,
|
||||
),
|
||||
{}, {},
|
||||
{}, {}, {},
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -134,6 +136,6 @@ fun OverflowTaskEntryPreview() {
|
|||
name = "Test Taskkkkkkkkkkkkkkkkkkkkkkkkkkk",
|
||||
completed = false,
|
||||
),
|
||||
{}, {},
|
||||
{}, {}, {}
|
||||
)
|
||||
}
|
|
@ -1,7 +1,9 @@
|
|||
package be.ugent.sel.studeez.screens.session
|
||||
|
||||
import be.ugent.sel.studeez.data.SelectedTask
|
||||
import be.ugent.sel.studeez.data.SelectedTimerState
|
||||
import be.ugent.sel.studeez.data.SessionReportState
|
||||
import be.ugent.sel.studeez.data.local.models.task.Task
|
||||
import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer
|
||||
import be.ugent.sel.studeez.domain.LogService
|
||||
import be.ugent.sel.studeez.navigation.StudeezDestinations
|
||||
|
@ -13,17 +15,18 @@ import javax.inject.Inject
|
|||
class SessionViewModel @Inject constructor(
|
||||
private val selectedTimerState: SelectedTimerState,
|
||||
private val sessionReportState: SessionReportState,
|
||||
private val selectedTask: SelectedTask,
|
||||
logService: LogService
|
||||
) : StudeezViewModel(logService) {
|
||||
|
||||
private val task : String = "No task selected" // placeholder for tasks implementation
|
||||
private val task : Task = selectedTask()
|
||||
|
||||
fun getTimer() : FunctionalTimer {
|
||||
return selectedTimerState.selectedTimer!!
|
||||
}
|
||||
|
||||
fun getTask(): String {
|
||||
return task
|
||||
return task.name
|
||||
}
|
||||
|
||||
fun endSession(openAndPopUp: (String, String) -> Unit) {
|
||||
|
|
|
@ -30,6 +30,7 @@ data class TaskActions(
|
|||
val deleteTask: (Task) -> Unit,
|
||||
val onCheckTask: (Task, Boolean) -> Unit,
|
||||
val editSubject: () -> Unit,
|
||||
val startTask: (Task) -> Unit
|
||||
)
|
||||
|
||||
fun getTaskActions(viewModel: TaskViewModel, open: (String) -> Unit): TaskActions {
|
||||
|
@ -39,7 +40,8 @@ fun getTaskActions(viewModel: TaskViewModel, open: (String) -> Unit): TaskAction
|
|||
getSubject = viewModel::getSelectedSubject,
|
||||
deleteTask = viewModel::deleteTask,
|
||||
onCheckTask = { task, isChecked -> viewModel.toggleTaskCompleted(task, isChecked) },
|
||||
editSubject = { viewModel.editSubject(open) }
|
||||
editSubject = { viewModel.editSubject(open) },
|
||||
startTask = { task -> viewModel.startTask(task, open) }
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -75,6 +77,7 @@ fun TaskScreen(
|
|||
task = it,
|
||||
onCheckTask = { isChecked -> taskActions.onCheckTask(it, isChecked) },
|
||||
onDeleteTask = { taskActions.deleteTask(it) },
|
||||
onStartTask = { taskActions.startTask(it) }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -108,6 +111,7 @@ fun TaskScreenPreview() {
|
|||
{},
|
||||
{ _, _ -> run {} },
|
||||
{},
|
||||
{}
|
||||
)
|
||||
)
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package be.ugent.sel.studeez.screens.tasks
|
||||
|
||||
import be.ugent.sel.studeez.data.SelectedSubject
|
||||
import be.ugent.sel.studeez.data.SelectedTask
|
||||
import be.ugent.sel.studeez.data.local.models.task.Subject
|
||||
import be.ugent.sel.studeez.data.local.models.task.Task
|
||||
import be.ugent.sel.studeez.domain.LogService
|
||||
|
@ -17,6 +18,7 @@ class TaskViewModel @Inject constructor(
|
|||
private val taskDAO: TaskDAO,
|
||||
private val subjectDAO: SubjectDAO,
|
||||
private val selectedSubject: SelectedSubject,
|
||||
private val selectedTask: SelectedTask,
|
||||
logService: LogService,
|
||||
) : StudeezViewModel(logService) {
|
||||
fun addTask(open: (String) -> Unit) {
|
||||
|
@ -47,4 +49,9 @@ class TaskViewModel @Inject constructor(
|
|||
fun editSubject(open: (String) -> Unit) {
|
||||
open(StudeezDestinations.EDIT_SUBJECT_FORM)
|
||||
}
|
||||
|
||||
fun startTask(task: Task, open: (String) -> Unit) {
|
||||
selectedTask.set(task)
|
||||
open(StudeezDestinations.TIMER_SELECTION_SCREEN)
|
||||
}
|
||||
}
|
Reference in a new issue