Update dependency "@graphql-codegen"

This commit is contained in:
schroda
2026-05-15 20:40:31 +02:00
parent 32b22bbf3c
commit 60b6a39bdc
72 changed files with 4417 additions and 4388 deletions

View File

@@ -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[]>;

View File

@@ -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';

View File

@@ -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;

View File

@@ -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,

View File

@@ -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));