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
	
	 lbarraga
						lbarraga