Update lint rules
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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(', ');
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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[],
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import { findDuplicatesByTitle } from '@/features/library/util/LibraryDuplicates.util.ts';
|
||||
import {
|
||||
import type {
|
||||
LibraryDuplicatesDescriptionWorkerInput,
|
||||
LibraryDuplicatesWorkerInput,
|
||||
TMangaDuplicate,
|
||||
|
||||
Reference in New Issue
Block a user