From ea2fcfd1f85e31146d1a61c4609af5e8dffe64ff Mon Sep 17 00:00:00 2001 From: firekat Date: Thu, 19 Mar 2026 14:03:48 +0300 Subject: [PATCH] update screens signUp and signIn --- .../com/example/testkmp/data/FakeDatabase.kt | 30 ------------------- .../testkmp/data/FakeRepositoryImpl.kt | 18 ++++++++--- .../com/example/testkmp/domain/models/Task.kt | 13 ++++++-- .../domain/repositories/DatabaseRepository.kt | 2 +- .../usecases/GetTasksInCategoryUseCase.kt | 2 +- .../testkmp/presentation/HomeViewModel.kt | 7 ++++- 6 files changed, 32 insertions(+), 40 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeDatabase.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeDatabase.kt index 4c99ae4..fc69536 100644 --- a/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeDatabase.kt +++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeDatabase.kt @@ -4,40 +4,10 @@ import com.example.testkmp.domain.models.Categories import com.example.testkmp.domain.models.Task class FakeDatabase { - val list = listOf( - Task("dddd", "", "", ""), - Task("gtgddd", "", "", ""), - Task("dddsd", "", "", ""), - Task("ddytyfdd", "", "", ""), - Task("dddds", "", "", ""), - Task("dddd", "", "", ""), - Task("dddd", "", "", ""), - Task("dddd", "", "", ""), - Task("dddsd", "", "", ""), - Task("ddytyfdd", "", "", ""), - Task("dddds", "", "", ""), - Task("dddd", "", "", ""), - Task("dddd", "", "", ""), - Task("dddd", "", "", ""), - Task("dddsd", "", "", ""), - Task("ddytyfdd", "", "", ""), - Task("dddds", "", "", ""), - Task("dddd", "", "", ""), - Task("dddd", "", "", ""), - Task("dddd", "", "", ""), - ) val categories = listOf( Categories(0, name = "Домашние дела", description = "Описание", userId = ""), Categories(1, name ="В колледже", description ="Описание", userId = ""), Categories(0, name ="На тренировке", description = "Описание", userId = ""), ) - - val listTaskInCat = listOf( - Task("ddytyfdd", "ddytyfdd", "", ""), - Task("dddds", "dddds", "", ""), - Task("dddd", "dddd", "", ""), - Task("dddd", "влылвыллвы", "", ""), - Task("dddd", "dddd", "", ""), - ) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeRepositoryImpl.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeRepositoryImpl.kt index 21741c2..2c439ef 100644 --- a/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeRepositoryImpl.kt +++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/data/FakeRepositoryImpl.kt @@ -10,10 +10,11 @@ import kotlinx.coroutines.withContext class FakeRepositoryImpl : DatabaseRepository { - val db = FakeDatabase() + //val db = FakeDatabase() override fun getTasksList(): List { - return db.list + return emptyList() + //return db.list } override suspend fun getCategoriesList(userId: String): List { @@ -29,8 +30,17 @@ class FakeRepositoryImpl : DatabaseRepository { } } - override fun getTasksInCategory(category: Categories): List { - return db.listTaskInCat + override suspend fun getTasksInCategory(category: Categories): List { + return withContext(Dispatchers.IO) { + supabase + .from("tasks") + .select { + filter { + Task::category_id eq category.id + } + } + .decodeList() + } } override suspend fun addCategory(category: Categories) { diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/models/Task.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/models/Task.kt index c04add7..e5ce1d3 100644 --- a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/models/Task.kt +++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/models/Task.kt @@ -1,8 +1,15 @@ package com.example.testkmp.domain.models +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable data class Task( - val id: String, + val id: Long? = null, + @SerialName("created_at") + val createdAt: String? = null, val name: String, - val description: String, - val catId: String + val description: String? = null, + @SerialName("category_id") + val category_id: Long ) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/DatabaseRepository.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/DatabaseRepository.kt index 062ba70..cce8329 100644 --- a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/DatabaseRepository.kt +++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/DatabaseRepository.kt @@ -12,6 +12,6 @@ interface DatabaseRepository { suspend fun getCategoriesList(userId: String) : List - fun getTasksInCategory(category: Categories) : List + suspend fun getTasksInCategory(category: Categories) : List } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/usecases/GetTasksInCategoryUseCase.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/usecases/GetTasksInCategoryUseCase.kt index d6db5c0..34bcb5d 100644 --- a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/usecases/GetTasksInCategoryUseCase.kt +++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/usecases/GetTasksInCategoryUseCase.kt @@ -8,7 +8,7 @@ class GetTasksInCategoryUseCase( private val repository: DatabaseRepository ) { - operator fun invoke(category: Categories) : List { + suspend operator fun invoke(category: Categories) : List { return repository.getTasksInCategory(category) } diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/HomeViewModel.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/HomeViewModel.kt index 043d90a..28e2f0f 100644 --- a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/HomeViewModel.kt +++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/HomeViewModel.kt @@ -10,6 +10,7 @@ import com.example.testkmp.domain.usecases.GetAllCategoriesUseCase import com.example.testkmp.domain.usecases.GetAllTasksUseCase import com.example.testkmp.domain.usecases.GetTasksInCategoryUseCase import io.github.jan.supabase.auth.auth +import kotlinx.coroutines.async import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch @@ -47,7 +48,11 @@ class HomeViewModel( } fun loadTasksInCategory(category: Categories) : List { - return getTasksInCategoryUseCase(category) + var result = listOf() + viewModelScope.launch { + result = getTasksInCategoryUseCase(category) + } + return result }