Update lint rules

This commit is contained in:
schroda
2026-03-11 00:11:29 +01:00
parent 5dda4304d9
commit 72af9d52d1
377 changed files with 1132 additions and 1048 deletions

View File

@@ -6,8 +6,8 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { MangaStatus, MangaType, TrackerType } from '@/lib/graphql/generated/graphql.ts';
import { GridLayout } from '@/base/Base.types.ts';
import type { MangaStatus, MangaType, TrackerType } from '@/lib/graphql/generated/graphql.ts';
import type { GridLayout } from '@/base/Base.types.ts';
export type MetadataLibrarySettings = {
showAddToLibraryCategorySelectDialog: boolean;

View File

@@ -8,7 +8,8 @@
import React, { useLayoutEffect } from 'react';
import { useLingui } from '@lingui/react/macro';
import { IMangaGridProps, MangaGrid } from '@/features/manga/components/MangaGrid.tsx';
import type { IMangaGridProps } from '@/features/manga/components/MangaGrid.tsx';
import { MangaGrid } from '@/features/manga/components/MangaGrid.tsx';
import { GridLayout } from '@/base/Base.types.ts';
import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts';

View File

@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { MessageDescriptor } from '@lingui/core';
import type { MessageDescriptor } from '@lingui/core';
import FormLabel from '@mui/material/FormLabel';
import RadioGroup from '@mui/material/RadioGroup';
import { useLingui } from '@lingui/react/macro';
@@ -18,7 +18,8 @@ import { ThreeStateCheckboxInput } from '@/base/components/inputs/ThreeStateChec
import { OptionsTabs } from '@/base/components/modals/OptionsTabs.tsx';
import { requestManager } from '@/lib/requests/RequestManager.ts';
import { Trackers } from '@/features/tracker/services/Trackers.ts';
import { GetTrackersSettingsQuery, MangaStatus } from '@/lib/graphql/generated/graphql.ts';
import type { GetTrackersSettingsQuery } from '@/lib/graphql/generated/graphql.ts';
import { MangaStatus } from '@/lib/graphql/generated/graphql.ts';
import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/tracker/TrackerQuery.ts';
import { createUpdateCategoryMetadata, useGetCategoryMetadata } from '@/features/category/services/CategoryMetadata.ts';
import { makeToast } from '@/base/utils/Toast.ts';
@@ -27,8 +28,8 @@ import {
updateMetadataServerSettings,
useMetadataServerSettings,
} from '@/features/settings/services/ServerSettingsMetadata.ts';
import { LibrarySortMode } from '@/features/library/Library.types.ts';
import { CategoryMetadataInfo } from '@/features/category/Category.types.ts';
import type { LibrarySortMode } from '@/features/library/Library.types.ts';
import type { CategoryMetadataInfo } from '@/features/category/Category.types.ts';
import { MANGA_STATUS_TO_TRANSLATION } from '@/features/manga/Manga.constants.ts';
import { GridLayout } from '@/base/Base.types';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';

View File

@@ -8,7 +8,8 @@
import FilterList from '@mui/icons-material/FilterList';
import IconButton from '@mui/material/IconButton';
import { ComponentProps, useState } from 'react';
import type { ComponentProps } from 'react';
import { useState } from 'react';
import { useLingui } from '@lingui/react/macro';
import { CustomTooltip } from '@/base/components/CustomTooltip.tsx';
import { LibraryOptionsPanel } from '@/features/library/components/LibraryOptionsPanel.tsx';

View File

@@ -9,19 +9,19 @@
import { StringParam, useQueryParam } from 'use-query-params';
import { useMemo } from 'react';
import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts';
import { ChapterType, MangaType, TrackRecordType } from '@/lib/graphql/generated/graphql.ts';
import type { ChapterType, MangaType, TrackRecordType } from '@/lib/graphql/generated/graphql.ts';
import { enhancedCleanup } from '@/base/utils/Strings.ts';
import { useGetCategoryMetadata } from '@/features/category/services/CategoryMetadata.ts';
import { LibraryOptions, LibrarySortMode } from '@/features/library/Library.types.ts';
import { CategoryIdInfo, CategoryMetadataInfo } from '@/features/category/Category.types.ts';
import {
import type { LibraryOptions, LibrarySortMode } from '@/features/library/Library.types.ts';
import type { CategoryIdInfo, CategoryMetadataInfo } from '@/features/category/Category.types.ts';
import type {
MangaChapterCountInfo,
MangaDownloadInfo,
MangaIdInfo,
MangaStatusInfo,
MangaUnreadInfo,
} from '@/features/manga/Manga.types.ts';
import { SourceDisplayNameInfo } from '@/features/source/Source.types.ts';
import type { SourceDisplayNameInfo } from '@/features/source/Source.types.ts';
import { SearchParam } from '@/base/Base.types.ts';
const triStateFilter = (
@@ -60,7 +60,9 @@ const performSearch = (
const actualQueries = queries?.filter((query) => query != null);
const actualStrings = strings?.filter((str) => str != null);
if (!actualQueries?.length) return true;
if (!actualQueries?.length) {
return true;
}
const cleanedUpQueries = actualQueries.map(enhancedCleanup);
const cleanedUpStrings = actualStrings.map(enhancedCleanup).join(', ');

View File

@@ -6,7 +6,8 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import Chip, { ChipProps } from '@mui/material/Chip';
import type { ChipProps } from '@mui/material/Chip';
import Chip from '@mui/material/Chip';
import Tab from '@mui/material/Tab';
import { styled, useTheme } from '@mui/material/styles';
import { useCallback, useMemo, useState } from 'react';
@@ -32,7 +33,7 @@ import { MangaActionMenuItems } from '@/features/manga/components/MangaActionMen
import { TabsMenu } from '@/base/components/tabs/TabsMenu.tsx';
import { TabsWrapper } from '@/base/components/tabs/TabsWrapper.tsx';
import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts';
import {
import type {
GetCategoriesLibraryQuery,
GetCategoriesLibraryQueryVariables,
GetLibraryMangaCountQuery,

View File

@@ -25,13 +25,17 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'
import { MangaCard } from '@/features/manga/components/cards/MangaCard.tsx';
import { StyledGroupedVirtuoso } from '@/base/components/virtuoso/StyledGroupedVirtuoso.tsx';
import { StyledGroupHeader } from '@/base/components/virtuoso/StyledGroupHeader.tsx';
import { GetMangasDuplicatesQuery, GetMangasDuplicatesQueryVariables } from '@/lib/graphql/generated/graphql.ts';
import type { GetMangasDuplicatesQuery, GetMangasDuplicatesQueryVariables } from '@/lib/graphql/generated/graphql.ts';
import { GET_MANGAS_DUPLICATES } from '@/lib/graphql/manga/MangaQuery.ts';
import { BaseMangaGrid } from '@/features/manga/components/BaseMangaGrid.tsx';
import { IMangaGridProps } from '@/features/manga/components/MangaGrid.tsx';
import type { IMangaGridProps } from '@/features/manga/components/MangaGrid.tsx';
import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx';
import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx';
import { LibraryDuplicatesWorkerInput, TMangaDuplicate, TMangaDuplicates } from '@/features/library/Library.types.ts';
import type {
LibraryDuplicatesWorkerInput,
TMangaDuplicate,
TMangaDuplicates,
} from '@/features/library/Library.types.ts';
import { GridLayout } from '@/base/Base.types.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
import { useAppTitleAndAction } from '@/features/navigation-bar/hooks/useAppTitleAndAction.ts';
@@ -105,10 +109,7 @@ export const LibraryDuplicates = () => {
() => Object.keys(mangasByTitle).toSorted((titleA, titleB) => titleA.localeCompare(titleB)),
[mangasByTitle],
);
const duplicatedMangas = useMemo(
() => duplicatedTitles.map((title) => mangasByTitle[title]).flat(),
[mangasByTitle],
);
const duplicatedMangas = useMemo(() => duplicatedTitles.flatMap((title) => mangasByTitle[title]), [mangasByTitle]);
const mangasCountByTitle = useMemo(
() => duplicatedTitles.map((title) => mangasByTitle[title]).map((mangas) => mangas.length),
[mangasByTitle],

View File

@@ -26,7 +26,7 @@ import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewA
import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts';
import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx';
import { ListItemLink } from '@/base/components/lists/ListItemLink.tsx';
import {
import type {
GetCategoriesSettingsQuery,
GetCategoriesSettingsQueryVariables,
GetMangasBaseQuery,
@@ -34,7 +34,7 @@ import {
} from '@/lib/graphql/generated/graphql.ts';
import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/category/CategoryQuery.ts';
import { GET_MANGAS_BASE } from '@/lib/graphql/manga/MangaQuery.ts';
import { MetadataLibrarySettings } from '@/features/library/Library.types.ts';
import type { MetadataLibrarySettings } from '@/features/library/Library.types.ts';
import { AppRoutes } from '@/base/AppRoute.constants.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts';

View File

@@ -6,9 +6,9 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { MangaType } from '@/lib/graphql/generated/graphql.ts';
import type { MangaType } from '@/lib/graphql/generated/graphql.ts';
import { enhancedCleanup } from '@/base/utils/Strings.ts';
import { TMangaDuplicate, TMangaDuplicateResult, TMangaDuplicates } from '@/features/library/Library.types.ts';
import type { TMangaDuplicate, TMangaDuplicateResult, TMangaDuplicates } from '@/features/library/Library.types.ts';
export const findDuplicatesByTitle = <Manga extends Pick<MangaType, 'title'>>(
libraryMangas: Manga[],

View File

@@ -7,7 +7,7 @@
*/
import { findDuplicatesByTitleAndAlternativeTitles } from '@/features/library/util/LibraryDuplicates.util.ts';
import { LibraryDuplicatesDescriptionWorkerInput } from '@/features/library/Library.types.ts';
import type { LibraryDuplicatesDescriptionWorkerInput } from '@/features/library/Library.types.ts';
self.onmessage = (event: MessageEvent<LibraryDuplicatesDescriptionWorkerInput>) => {
const { mangasToCheck, mangas } = event.data;

View File

@@ -7,7 +7,7 @@
*/
import { findDuplicatesByTitle } from '@/features/library/util/LibraryDuplicates.util.ts';
import {
import type {
LibraryDuplicatesDescriptionWorkerInput,
LibraryDuplicatesWorkerInput,
TMangaDuplicate,