#22 get tasks from firestore

This commit is contained in:
brreynie 2023-05-02 22:57:35 +02:00
parent e1c05bb0d4
commit 056947e1db
8 changed files with 44 additions and 23 deletions

View file

@ -32,7 +32,7 @@ fun SubjectRoute(
navigationBarActions = navigationBarActions,
addSubject = { viewModel.addSubject() },
getSubjects = viewModel::getSubjects,
onViewSubject = { viewModel.onViewSubject(Subject(), open) },
onViewSubject = { viewModel.onViewSubject(it, open) },
)
}
@ -42,7 +42,7 @@ fun SubjectScreen(
navigationBarActions: NavigationBarActions,
addSubject: () -> Unit,
getSubjects: () -> Flow<List<Subject>>,
onViewSubject: () -> Unit,
onViewSubject: (Subject) -> Unit,
) {
PrimaryScreenTemplate(
title = resources().getString(R.string.tasks),
@ -71,7 +71,7 @@ fun SubjectScreen(
items(subjects.value) {
SubjectEntry(
subject = it,
onViewSubject = onViewSubject,
onViewSubject = { onViewSubject(it) },
)
}
}

View file

@ -1,5 +1,7 @@
package be.ugent.sel.studeez.screens.tasks
import android.util.Log
import be.ugent.sel.studeez.data.SelectedSubject
import be.ugent.sel.studeez.data.local.models.task.Subject
import be.ugent.sel.studeez.domain.LogService
import be.ugent.sel.studeez.domain.SubjectDAO
@ -12,13 +14,13 @@ import javax.inject.Inject
@HiltViewModel
class SubjectViewModel @Inject constructor(
private val subjectDAO: SubjectDAO,
private val selectedSubject: SelectedSubject,
logService: LogService,
) : StudeezViewModel(logService) {
fun addSubject() {
subjectDAO.saveSubject(
Subject(
name = "Test Subject",
tasks = listOf(),
time = 0,
argb_color = 0xFFF44336,
)
@ -30,6 +32,8 @@ class SubjectViewModel @Inject constructor(
}
fun onViewSubject(subject: Subject, open: (String) -> Unit) {
Log.v("MYLOG", subject.id)
selectedSubject.set(subject)
open(StudeezDestinations.TASKS_SCREEN)
}
}

View file

@ -1,25 +1,25 @@
package be.ugent.sel.studeez.screens.tasks
import be.ugent.sel.studeez.data.local.models.task.Subject
import be.ugent.sel.studeez.data.SelectedSubject
import be.ugent.sel.studeez.data.local.models.task.Task
import be.ugent.sel.studeez.domain.LogService
import be.ugent.sel.studeez.domain.TaskDAO
import be.ugent.sel.studeez.screens.StudeezViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOf
import javax.inject.Inject
@HiltViewModel
class TaskViewModel @Inject constructor(
private val taskDAO: TaskDAO,
private val selectedSubject: SelectedSubject,
logService: LogService,
) : StudeezViewModel(logService) {
fun addTask() {
}
fun getTasks() : Flow<List<Task>> {
return taskDAO.getTasks(Subject())
fun getTasks(): Flow<List<Task>> {
return taskDAO.getTasks(selectedSubject())
}
}