refactor: simplify auth and instrument pages
Frontend verify / commits (pull_request) Successful in 24s
Frontend verify / security (pull_request) Failing after 9s
Frontend verify / verify (pull_request) Skipped

This commit is contained in:
2026-09-29 05:45:08 +03:00
parent 32a77860c8
commit b404c1802a
38 changed files with 644 additions and 790 deletions
@@ -0,0 +1,41 @@
import { useSearchParams } from "react-router";
import type { OperationCategory } from "@/entities/broker-operation";
const instrumentPeriods = ["month", "halfYear", "year", "all"] as const;
function useInstrumentParameters(incomeFilter: "coupons" | "dividends") {
const [parameters, setParameters] = useSearchParams();
const period = instrumentPeriods.find(
value => value === parameters.get("period"),
) ?? "month";
const filters: { categories: OperationCategory[]; value: string }[] = [
{ categories: [], value: "all" },
{ categories: ["trade"], value: "trades" },
{ categories: ["income"], value: incomeFilter },
{ categories: ["tax", "fee", "transfer", "other"], value: "other" },
];
const { categories, value: filter } = filters.find(
item => item.value === parameters.get("events"),
) ?? filters[0];
const setParameter = (key: string, value: string) => {
const next = new URLSearchParams(parameters);
next.set(key, value);
setParameters(next, { replace: true });
};
return {
categories,
filter,
period,
search: parameters.size > 0 ? `?${parameters.toString()}` : "",
setFilter: (value: string) => setParameter("events", value),
setPeriod: (value: string) => setParameter("period", value),
};
}
export { instrumentPeriods, useInstrumentParameters };