diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/LedgerUI.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/LedgerUI.kt index dad2296..2b1c8d1 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/LedgerUI.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/LedgerUI.kt @@ -69,7 +69,10 @@ fun HeaderCard(modifier: Modifier = Modifier, balance: String, onCategoryButton: elevation = 8.dp, shape = RoundedCornerShape(12.dp), clip = false - ) + ), + onClick = { + onCategoryButton() + } ) { Row( modifier = Modifier diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/overview/OverviewCategoryViewModel.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/overview/OverviewCategoryViewModel.kt index 5272fa7..684c5b4 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/overview/OverviewCategoryViewModel.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/overview/OverviewCategoryViewModel.kt @@ -1,6 +1,7 @@ package at.xaxa.ledger.ui.category.overview import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableFloatStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.lifecycle.SavedStateHandle @@ -9,7 +10,6 @@ import androidx.lifecycle.viewModelScope import at.xaxa.ledger.data.EntryRepository import at.xaxa.ledger.data.db.Category.CategoryEntity import at.xaxa.ledger.ui.category.add.CategoryListUIState -import at.xaxa.ledger.ui.category.add.CategoryUIState import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flowOf @@ -24,6 +24,8 @@ class OverviewCategoryViewModel( private val savedStateHandle: SavedStateHandle, private val repository: EntryRepository ) : ViewModel() { + var balance by mutableFloatStateOf(0.0f) + private set // Restrict external modification var categoryUiState by mutableStateOf(CategoryListUIState()) private set @@ -40,4 +42,9 @@ class OverviewCategoryViewModel( } } + fun calculateBalance() { + viewModelScope.launch { + balance = repository.calculateBalance() + } + } }