feat(cards): filter operations by date range

This commit is contained in:
2026-09-12 21:52:13 +03:00
parent 8e58c016d2
commit 9bb385b9f0
7 changed files with 188 additions and 47 deletions
+20 -5
View File
@@ -57,7 +57,13 @@ function useBankCategories() {
function useBankOperations(
id: string | undefined,
query: { month: string; page: number; limit?: number | "all" },
query: {
month?: string;
from?: string;
to?: string;
page: number;
limit?: number | "all";
},
) {
const all = query.limit === "all";
const params = {
@@ -84,6 +90,8 @@ function useBankOperations(
previousQuery?.queryKey.length === 3 &&
previous?.path?.id === id &&
previous?.query?.month === query.month &&
previous?.query?.from === query.from &&
previous?.query?.to === query.to &&
previous?.query?.limit === query.limit
? previousData
: undefined;
@@ -105,7 +113,7 @@ function useBankOperations(
if (!data.hasNext) return { ...data, items, page: 1, hasNext: false };
}
},
enabled: Boolean(id && query.month),
enabled: Boolean(id && (query.month || (query.from && query.to))),
});
}
@@ -134,13 +142,20 @@ function sortBankSummary(data: BankSummary): BankSummary {
};
}
function useBankSummary(month: string, cardId?: string) {
function useBankSummary(
period: string | { from: string; to: string },
cardId?: string,
) {
const query =
typeof period === "string"
? { month: period, cardId }
: { ...period, cardId };
return useAuthenticatedQuery({
...apiQueryClient.queryOptions("get", "/api/v1/bank-cards/summary", {
params: { query: { month, cardId } },
params: { query },
}),
select: sortBankSummary,
enabled: Boolean(month),
enabled: Boolean(period),
});
}