Форматирование под ESLint + Prettier, зелёный make check (#31)

npm run format: порядок импортов (biome) в CompanyGroupsList.tsx, Prettier в
пяти файлах; правки только оформления. make check: eslint 0 ошибок
(19 предупреждений), vitest 324/324, build ок.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-10-19 11:27:10 +04:00
parent 681697f728
commit 5b13b74a7a
6 changed files with 44 additions and 49 deletions

View File

@ -1,4 +1,4 @@
import { useCallback, useMemo, useRef, useState } from "react"; import { useCallback, useMemo, useRef, useState } from 'react';
type Options = { type Options = {
/** высота одного элемента в px (фиксированная) */ /** высота одного элемента в px (фиксированная) */
@ -17,18 +17,13 @@ export function useVirtualList<T>(items: T[], options: Options) {
const totalHeight = items.length * itemHeight; const totalHeight = items.length * itemHeight;
const startIndex = Math.max( const startIndex = Math.max(0, Math.floor(scrollTop / itemHeight) - overscan);
0,
Math.floor(scrollTop / itemHeight) - overscan,
);
const endIndex = Math.min( const endIndex = Math.min(items.length, Math.ceil((scrollTop + containerHeight) / itemHeight) + overscan);
items.length,
Math.ceil((scrollTop + containerHeight) / itemHeight) + overscan,
);
const visibleItems = useMemo( const visibleItems = useMemo(
() => items.slice(startIndex, endIndex).map((item, i) => ({ () =>
items.slice(startIndex, endIndex).map((item, i) => ({
item, item,
index: startIndex + i, index: startIndex + i,
})), })),

View File

@ -243,7 +243,7 @@ export function CatalogueJurTable({ outside_group, tabsComponent }: CatalogueJur
<ColumnSettings defs={catalogueJurConfig.columns} visibleKeys={visibleKeys} onChange={setVisibleKeys} /> <ColumnSettings defs={catalogueJurConfig.columns} visibleKeys={visibleKeys} onChange={setVisibleKeys} />
</Space> </Space>
</Space> </Space>
{(relatedGroupFilter?.id && !outside_group) && ( {relatedGroupFilter?.id && !outside_group && (
<div <div
style={{ style={{
display: 'flex', display: 'flex',

View File

@ -1,10 +1,10 @@
import { useEffect, useMemo, useState } from 'react';
import { Input, List, Spin, Empty, Typography, Tag } from 'antd';
import { FolderOpenOutlined, SearchOutlined } from '@ant-design/icons'; import { FolderOpenOutlined, SearchOutlined } from '@ant-design/icons';
import { useAppDispatch, useAppSelector } from '../../store/store'; import { Empty, Input, List, Spin, Tag, Typography } from 'antd';
import { getCompanyGroupsThunk } from '../../store/slices/companyGroupsSlice/thunks'; import { useEffect, useMemo, useState } from 'react';
import { setActiveCompanyGroup } from '../../store/slices/companyGroupsSlice/companyGroupsSlice';
import { useVirtualList } from '../../hooks/useVirtualList'; import { useVirtualList } from '../../hooks/useVirtualList';
import { setActiveCompanyGroup } from '../../store/slices/companyGroupsSlice/companyGroupsSlice';
import { getCompanyGroupsThunk } from '../../store/slices/companyGroupsSlice/thunks';
import { useAppDispatch, useAppSelector } from '../../store/store';
const { Text } = Typography; const { Text } = Typography;