history filter

This commit is contained in:
revanthkumarJ 2025-09-12 16:49:45 +05:30
parent 55eeb24457
commit ace0f326bc
2 changed files with 13 additions and 2 deletions

View File

@ -252,8 +252,7 @@ fun HistoryScreenBottomSheet(
text = stringResource(Res.string.feature_history_filter_clear_all),
color = KptTheme.colorScheme.primary,
modifier = Modifier.clickable {
onAction(HistoryAction.SetFilter(TransactionType.OTHER))
onAction(HistoryAction.OnFilterClick)
onAction(HistoryAction.ClearFilters)
},
)
}

View File

@ -54,9 +54,20 @@ class HistoryViewModel(
is HistoryAction.OnApplyFilterClick -> handleApplyFilterClick()
is HistoryAction.SetSelectedAccount -> handleSetSelectedAccount(action.account)
HistoryAction.ClearFilters -> handleClearFilters()
}
}
private fun handleClearFilters() {
mutableStateFlow.update {
it.copy(
currentSelectedTransactionType = TransactionType.OTHER,
showFilter = false,
)
}
applyFilter(state.transactions)
}
private fun handleApplyFilterClick() {
val transactions = state.transactionsWithAccounts[state.currentSelectedAccount]
mutableStateFlow.update {
@ -179,6 +190,7 @@ sealed interface HistoryAction {
data object OnFilterClick : HistoryAction
data class SetSelectedAccount(val account: Account) : HistoryAction
data object OnApplyFilterClick : HistoryAction
data object ClearFilters : HistoryAction
sealed interface Internal : HistoryAction {
data class TransactionsLoaded(val result: DataState<Map<Account, List<Transaction>>>) : Internal