chore: finish frontend ESLint migration #18

Enable every plugin recommended preset and replace Biome with ESLint formatting.

Preserve API contracts and JSX whitespace; verify source, tests, builds and tooling.
This commit is contained in:
2026-09-28 16:36:40 +03:00
committed by ksv741
parent 57630102e4
commit 72d7835227
253 changed files with 10059 additions and 8864 deletions
+46 -44
View File
@@ -6,6 +6,8 @@ import {
useResourceQuery,
} from "@/shared/api";
const MIN_STOCK_SEARCH_LENGTH = 2;
type StockPeriod = NonNullable<
NonNullable<
paths["/api/v1/stocks/{uid}/candles"]["get"]["parameters"]["query"]
@@ -14,15 +16,6 @@ type StockPeriod = NonNullable<
const STOCK_STALE_TIME_MS = 30_000;
function useStockSearch(query: string) {
return useResourceQuery({
...apiQueryClient.queryOptions("get", "/api/v1/stocks", {
params: { query: { query } },
}),
enabled: query.length >= 2,
staleTime: STOCK_STALE_TIME_MS,
});
}
function stockQueryOptions(uid: string) {
return {
...apiQueryClient.queryOptions("get", "/api/v1/stocks/{uid}", {
@@ -31,21 +24,9 @@ function stockQueryOptions(uid: string) {
staleTime: STOCK_STALE_TIME_MS,
};
}
function useStocks(uids: string[]) {
const uniqueUids = [...new Set(uids)];
const queries = useAuthenticatedQueries(uniqueUids.map(stockQueryOptions));
return new Map(
queries.map((query, index) => [
uniqueUids[index],
unwrapResourceResult(query).data,
]),
);
}
function useStock(identifier: string) {
const isUid =
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(
const isUid
= /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(
identifier,
);
@@ -62,15 +43,7 @@ function useStock(identifier: string) {
});
return isUid ? byUid : byTicker;
}
function useStockQuote(uid: string) {
return useResourceQuery({
...apiQueryClient.queryOptions("get", "/api/v1/stocks/{uid}/quote", {
params: { path: { uid } },
}),
enabled: Boolean(uid),
staleTime: STOCK_STALE_TIME_MS,
});
}
function useStockCandles(uid: string, period: StockPeriod) {
return useResourceQuery({
...apiQueryClient.queryOptions("get", "/api/v1/stocks/{uid}/candles", {
@@ -80,16 +53,7 @@ function useStockCandles(uid: string, period: StockPeriod) {
staleTime: STOCK_STALE_TIME_MS,
});
}
function useStockPosition(uid: string) {
return useResourceQuery({
meta: { accessGroup: "brokerage" },
...apiQueryClient.queryOptions("get", "/api/v1/stocks/{uid}/position", {
params: { path: { uid } },
}),
enabled: Boolean(uid),
staleTime: STOCK_STALE_TIME_MS,
});
}
function useStockCompany(uid: string) {
return useResourceQuery({
...apiQueryClient.queryOptions("get", "/api/v1/stocks/{uid}/company", {
@@ -109,8 +73,46 @@ function useStockDividends(uid: string) {
staleTime: STOCK_STALE_TIME_MS,
});
}
function useStockPosition(uid: string) {
return useResourceQuery({
meta: { accessGroup: "brokerage" },
...apiQueryClient.queryOptions("get", "/api/v1/stocks/{uid}/position", {
params: { path: { uid } },
}),
enabled: Boolean(uid),
staleTime: STOCK_STALE_TIME_MS,
});
}
function useStockQuote(uid: string) {
return useResourceQuery({
...apiQueryClient.queryOptions("get", "/api/v1/stocks/{uid}/quote", {
params: { path: { uid } },
}),
enabled: Boolean(uid),
staleTime: STOCK_STALE_TIME_MS,
});
}
function useStocks(uids: string[]) {
const uniqueUids = [...new Set(uids)];
const queries = useAuthenticatedQueries(uniqueUids.map(uniqueUid => stockQueryOptions(uniqueUid)));
return new Map(
queries.map((query, index) => [
/* eslint-disable-line security/detect-object-injection -- This is a positional index into the local array, not a user-supplied object key. */ uniqueUids[index],
unwrapResourceResult(query).data,
]),
);
}
function useStockSearch(query: string) {
return useResourceQuery({
...apiQueryClient.queryOptions("get", "/api/v1/stocks", {
params: { query: { query } },
}),
enabled: query.length >= MIN_STOCK_SEARCH_LENGTH,
staleTime: STOCK_STALE_TIME_MS,
});
}
export {
export { MIN_STOCK_SEARCH_LENGTH,
type StockPeriod,
useStock,
useStockCandles,
@@ -118,6 +120,6 @@ export {
useStockDividends,
useStockPosition,
useStockQuote,
useStockSearch,
useStocks,
useStockSearch,
};
+2 -2
View File
@@ -1,4 +1,4 @@
export {
export { MIN_STOCK_SEARCH_LENGTH,
type StockPeriod,
useStock,
useStockCandles,
@@ -6,6 +6,6 @@ export {
useStockDividends,
useStockPosition,
useStockQuote,
useStockSearch,
useStocks,
useStockSearch,
} from "./api/queries";