feat: implement enhanced transaction filtering capabilities with support for account and category filters, improving data visibility and user interaction

This commit is contained in:
Julien Froidefond
2025-11-29 19:19:21 +01:00
parent 921ee4a5f0
commit 5195f4adad
5 changed files with 234 additions and 47 deletions

View File

@@ -14,7 +14,7 @@ import { CategoryFilterCombobox } from "@/components/ui/category-filter-combobox
import { AccountFilterCombobox } from "@/components/ui/account-filter-combobox";
import { CategoryIcon } from "@/components/ui/category-icon";
import { Search, X, Filter, Wallet } from "lucide-react";
import type { Account, Category, Folder } from "@/lib/types";
import type { Account, Category, Folder, Transaction } from "@/lib/types";
interface TransactionFiltersProps {
searchQuery: string;
@@ -28,6 +28,8 @@ interface TransactionFiltersProps {
accounts: Account[];
folders: Folder[];
categories: Category[];
transactionsForAccountFilter?: Transaction[]; // Filtered by categories, search, reconciled (not accounts)
transactionsForCategoryFilter?: Transaction[]; // Filtered by accounts, search, reconciled (not categories)
}
export function TransactionFilters({
@@ -42,6 +44,8 @@ export function TransactionFilters({
accounts,
folders,
categories,
transactionsForAccountFilter,
transactionsForCategoryFilter,
}: TransactionFiltersProps) {
return (
<Card>
@@ -65,6 +69,7 @@ export function TransactionFilters({
value={selectedAccounts}
onChange={onAccountsChange}
className="w-[200px]"
filteredTransactions={transactionsForAccountFilter}
/>
<CategoryFilterCombobox
@@ -72,6 +77,7 @@ export function TransactionFilters({
value={selectedCategories}
onChange={onCategoriesChange}
className="w-[220px]"
filteredTransactions={transactionsForCategoryFilter}
/>
<Select value={showReconciled} onValueChange={onReconciledChange}>