Update dependency "@graphql-codegen"
This commit is contained in:
@@ -6,8 +6,10 @@
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
import type { MangaStatus, MangaType, TrackerType } from '@/lib/graphql/generated/graphql.ts';
|
||||
import type { MangaStatus } from '@/lib/graphql/generated/graphql-base.types.ts';
|
||||
import type { GridLayout } from '@/base/Base.types.ts';
|
||||
import type { MangaDescriptionInfo, MangaIdInfo, MangaTitleInfo } from '@/features/manga/Manga.types.ts';
|
||||
import type { TrackerIdInfo } from '@/features/tracker/Tracker.types.ts';
|
||||
|
||||
export type MetadataLibrarySettings = {
|
||||
showAddToLibraryCategorySelectDialog: boolean;
|
||||
@@ -39,11 +41,11 @@ export interface LibraryOptions {
|
||||
hasUnreadChapters: NullAndUndefined<boolean>;
|
||||
hasReadChapters: NullAndUndefined<boolean>;
|
||||
hasDuplicateChapters: NullAndUndefined<boolean>;
|
||||
hasTrackerBinding: Record<TrackerType['id'], NullAndUndefined<boolean>>;
|
||||
hasTrackerBinding: Record<TrackerIdInfo['id'], NullAndUndefined<boolean>>;
|
||||
hasStatus: Record<MangaStatus, NullAndUndefined<boolean>>;
|
||||
}
|
||||
|
||||
export type TMangaDuplicate = Pick<MangaType, 'id' | 'title' | 'description'>;
|
||||
export type TMangaDuplicate = MangaIdInfo & MangaTitleInfo & MangaDescriptionInfo;
|
||||
|
||||
export type TMangaDuplicates<Manga> = Record<string, Manga[]>;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import { OptionsTabs } from '@/base/components/modals/OptionsTabs.tsx';
|
||||
import { requestManager } from '@/lib/requests/RequestManager.ts';
|
||||
import { Trackers } from '@/features/tracker/services/Trackers.ts';
|
||||
import type { GetTrackersSettingsQuery } from '@/lib/graphql/generated/graphql.ts';
|
||||
import { MangaStatus } from '@/lib/graphql/generated/graphql.ts';
|
||||
import { MangaStatus } from '@/lib/graphql/generated/graphql-base.types.ts';
|
||||
import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/tracker/TrackerQuery.ts';
|
||||
import { STABLE_EMPTY_ARRAY } from '@/base/Base.constants.ts';
|
||||
import { createUpdateCategoryMetadata, useGetCategoryMetadata } from '@/features/category/services/CategoryMetadata.ts';
|
||||
|
||||
@@ -9,19 +9,26 @@
|
||||
import { StringParam, useQueryParam } from 'use-query-params';
|
||||
import { useMemo } from 'react';
|
||||
import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts';
|
||||
import type { ChapterType, MangaType, TrackRecordType } from '@/lib/graphql/generated/graphql.ts';
|
||||
import type { ChapterType, MangaType, TrackRecordType } from '@/lib/graphql/generated/graphql-base.types.ts';
|
||||
import { enhancedCleanup } from '@/base/utils/Strings.ts';
|
||||
import { useGetCategoryMetadata } from '@/features/category/services/CategoryMetadata.ts';
|
||||
import type { LibraryOptions, LibrarySortMode } from '@/features/library/Library.types.ts';
|
||||
import type { CategoryIdInfo, CategoryMetadataInfo } from '@/features/category/Category.types.ts';
|
||||
import type {
|
||||
MangaArtistInfo,
|
||||
MangaAuthorInfo,
|
||||
MangaChapterCountInfo,
|
||||
MangaDescriptionInfo,
|
||||
MangaDownloadInfo,
|
||||
MangaGenreInfo,
|
||||
MangaIdInfo,
|
||||
MangaInLibraryInfo,
|
||||
MangaSourceIdInfo,
|
||||
MangaSourceNameInfo,
|
||||
MangaStatusInfo,
|
||||
MangaTitleInfo,
|
||||
MangaUnreadInfo,
|
||||
} from '@/features/manga/Manga.types.ts';
|
||||
import type { SourceDisplayNameInfo } from '@/features/source/Source.types.ts';
|
||||
import { SearchParam } from '@/base/Base.types.ts';
|
||||
|
||||
const triStateFilter = (
|
||||
@@ -70,9 +77,13 @@ const performSearch = (
|
||||
return cleanedUpQueries.every((query) => cleanedUpStrings.includes(query));
|
||||
};
|
||||
|
||||
type TMangaQueryFilter = Pick<MangaType, 'title' | 'genre' | 'description' | 'artist' | 'author' | 'sourceId'> & {
|
||||
source?: NullAndUndefined<SourceDisplayNameInfo>;
|
||||
};
|
||||
type TMangaQueryFilter = MangaTitleInfo &
|
||||
MangaGenreInfo &
|
||||
MangaDescriptionInfo &
|
||||
MangaArtistInfo &
|
||||
MangaAuthorInfo &
|
||||
MangaSourceIdInfo &
|
||||
MangaSourceNameInfo;
|
||||
const querySearchManga = (
|
||||
query: NullAndUndefined<string>,
|
||||
{ title, genre: genres, description, artist, author, source, sourceId }: TMangaQueryFilter,
|
||||
@@ -162,7 +173,9 @@ const sortByNumber = (a: number | string = 0, b: number | string = 0) => Number(
|
||||
|
||||
const sortByString = (a: string, b: string): number => a.localeCompare(b, undefined, { sensitivity: 'base' });
|
||||
|
||||
type TMangaSort = Pick<MangaType, 'title' | 'inLibraryAt' | 'unreadCount'> &
|
||||
type TMangaSort = MangaTitleInfo &
|
||||
MangaInLibraryInfo &
|
||||
MangaUnreadInfo &
|
||||
MangaChapterCountInfo & {
|
||||
lastReadChapter?: Pick<ChapterType, 'lastReadAt'> | null;
|
||||
latestUploadedChapter?: Pick<ChapterType, 'uploadDate'> | null;
|
||||
|
||||
@@ -39,7 +39,6 @@ import type {
|
||||
GetLibraryMangaCountQuery,
|
||||
GetLibraryMangaCountQueryVariables,
|
||||
MangaChapterStatFieldsFragment,
|
||||
MangaType,
|
||||
} from '@/lib/graphql/generated/graphql.ts';
|
||||
import { GET_CATEGORIES_LIBRARY } from '@/lib/graphql/category/CategoryQuery.ts';
|
||||
import { Mangas } from '@/features/manga/services/Mangas.ts';
|
||||
@@ -51,6 +50,7 @@ import { useAppAction } from '@/features/navigation-bar/hooks/useAppAction.ts';
|
||||
import { AppRoutes } from '@/base/AppRoute.constants.ts';
|
||||
import { SearchParam } from '@/base/Base.types.ts';
|
||||
import { STABLE_EMPTY_ARRAY } from '@/base/Base.constants.ts';
|
||||
import type { MangaIdInfo } from '@/features/manga/Manga.types.ts';
|
||||
|
||||
const TitleWithSizeTag = styled('span')({
|
||||
display: 'flex',
|
||||
@@ -122,7 +122,7 @@ export function Library() {
|
||||
handleSelectAll,
|
||||
handleSelection,
|
||||
clearSelection,
|
||||
} = useSelectableCollection<MangaType['id'], string>(mangas.length, {
|
||||
} = useSelectableCollection<MangaIdInfo['id'], string>(mangas.length, {
|
||||
itemIds: mangaIds,
|
||||
currentKey: activeTab?.id.toString(),
|
||||
initialState: undefined,
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
import type { MangaType } from '@/lib/graphql/generated/graphql.ts';
|
||||
import { enhancedCleanup } from '@/base/utils/Strings.ts';
|
||||
import type { TMangaDuplicate, TMangaDuplicateResult, TMangaDuplicates } from '@/features/library/Library.types.ts';
|
||||
import type { MangaTitleInfo } from '@/features/manga/Manga.types.ts';
|
||||
|
||||
export const findDuplicatesByTitle = <Manga extends Pick<MangaType, 'title'>>(
|
||||
export const findDuplicatesByTitle = <Manga extends MangaTitleInfo>(
|
||||
libraryMangas: Manga[],
|
||||
): TMangaDuplicates<Manga> => {
|
||||
const titleToMangas = Object.groupBy(libraryMangas, ({ title }) => enhancedCleanup(title));
|
||||
|
||||
Reference in New Issue
Block a user