From a7135c85a38b7c24610181f3324b40d97ca7cb00 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Thu, 14 Mar 2024 15:45:46 +0200
Subject: [PATCH] Implement view model

---
 .../circles/filter/FilterTimelinesViewModel.kt  | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/core/src/main/java/org/futo/circles/core/feature/circles/filter/FilterTimelinesViewModel.kt b/core/src/main/java/org/futo/circles/core/feature/circles/filter/FilterTimelinesViewModel.kt
index 77beb3bd3..c5c29b9ef 100644
--- a/core/src/main/java/org/futo/circles/core/feature/circles/filter/FilterTimelinesViewModel.kt
+++ b/core/src/main/java/org/futo/circles/core/feature/circles/filter/FilterTimelinesViewModel.kt
@@ -2,14 +2,29 @@ package org.futo.circles.core.feature.circles.filter
 
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
+import org.futo.circles.core.base.SingleEventLiveData
+import org.futo.circles.core.extensions.Response
+import org.futo.circles.core.extensions.launchBg
 import javax.inject.Inject
 
 @HiltViewModel
 class FilterTimelinesViewModel @Inject constructor(
-    dataSource: FilterTimelinesDataSource
+    private val dataSource: FilterTimelinesDataSource
 ) : ViewModel() {
 
     val circleInfoLiveData = dataSource.circleSummaryLiveData
+    val timelinesLiveData = dataSource.timelinesLiveData
+    val updateFilterResultLiveData = SingleEventLiveData<Response<Unit?>>()
 
+    fun saveFilter() {
+        launchBg {
+            val result = dataSource.applyFilter()
+            updateFilterResultLiveData.postValue(result)
+        }
+    }
+
+    fun toggleItemSelected(id: String) {
+        dataSource.toggleItemSelected(id)
+    }
 
 }
\ No newline at end of file
-- 
GitLab