refactor: colocate frontend component files
Frontend security / security (push) Successful in 9s
Frontend verify / verify (push) Successful in 5m10s
Conventional commits / commits (pull_request) Successful in 25s
Frontend security / security (pull_request) Successful in 9s
Frontend verify / verify (pull_request) Successful in 5m10s

This commit is contained in:
2026-09-23 08:34:58 +03:00
parent 85fcfe3d07
commit b987fd8e78
190 changed files with 131 additions and 108 deletions
@@ -0,0 +1,41 @@
import { useState } from "react";
import { useSearchParams } from "react-router";
import {
bankPeriod,
useBankCards,
useBankCategories,
useBankSummary,
} from "@/entities/bank-card";
function useCardsPageVm() {
const [params, setParams] = useSearchParams();
const period = bankPeriod(params);
const [archive, setArchive] = useState(false);
const categories = useBankCategories();
const [managingCategories, setManagingCategories] = useState(false);
const [adding, setAdding] = useState(false);
const cards = useBankCards(archive);
const summary = useBankSummary(period);
return {
categories,
managingCategories,
setManagingCategories,
period,
archive,
setArchive,
adding,
setAdding,
cards,
summary,
setPeriod: (value: [string | null, string | null]) => {
if (value[0] && value[1]) setParams({ from: value[0], to: value[1] });
},
items: cards.data?.map((card) => ({
...card,
to: `/cards/${card.id}?${new URLSearchParams(period)}`,
})),
};
}
type CardsPageVm = ReturnType<typeof useCardsPageVm>;
export { type CardsPageVm, useCardsPageVm };