From f704e5bc33556fd3c7cc88e5cdc8ff89794c17c4 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Mon, 7 Oct 2024 13:35:07 +0200 Subject: [PATCH] Move "Mangas.ts" types and constants to new files --- src/lib/requests/RequestManager.ts | 2 +- src/modules/chapter/services/Chapters.ts | 2 +- .../components/LibraryOptionsPanel.tsx | 2 +- .../hooks/useGetVisibleLibraryMangas.ts | 2 +- src/modules/manga/Manga.constants.ts | 90 +++++++++++++ src/modules/manga/Manga.types.ts | 26 +++- .../manga/components/MangaActionMenuItems.tsx | 11 +- src/modules/manga/components/MangaDetails.tsx | 10 +- .../manga/components/TrackMangaButton.tsx | 3 +- src/modules/manga/services/Mangas.ts | 123 ++---------------- .../metadata/services/MetadataUpdater.ts | 2 +- .../migration/components/MigrateDialog.tsx | 3 +- .../reader/components/ReaderNavBar.tsx | 2 +- src/modules/reader/screens/Reader.tsx | 2 +- .../reader/services/ReaderSettingsMetadata.ts | 2 +- src/modules/source/screens/SourceMangas.tsx | 2 +- src/modules/tracker/components/TrackManga.tsx | 2 +- .../tracker/components/TrackerSearch.tsx | 3 +- .../tracker/components/cards/TrackerCard.tsx | 3 +- 19 files changed, 147 insertions(+), 145 deletions(-) diff --git a/src/lib/requests/RequestManager.ts b/src/lib/requests/RequestManager.ts index aa3bb1e3..4e9215d0 100644 --- a/src/lib/requests/RequestManager.ts +++ b/src/lib/requests/RequestManager.ts @@ -303,12 +303,12 @@ import { ControlledPromise } from '@/lib/ControlledPromise.ts'; import { DOWNLOAD_STATUS_FIELDS } from '@/lib/graphql/fragments/DownloadFragments.ts'; import { EXTENSION_LIST_FIELDS } from '@/lib/graphql/fragments/ExtensionFragments.ts'; import { MANGA_BASE_FIELDS, MANGA_META_FIELDS } from '@/lib/graphql/fragments/MangaFragments.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { GLOBAL_METADATA } from '@/lib/graphql/fragments/Fragments.ts'; import { CATEGORY_META_FIELDS } from '@/lib/graphql/fragments/CategoryFragments.ts'; import { SOURCE_META_FIELDS } from '@/lib/graphql/fragments/SourceFragments.ts'; import { CHAPTER_META_FIELDS } from '@/lib/graphql/fragments/ChapterFragments.ts'; import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; enum GQLMethod { QUERY = 'QUERY', diff --git a/src/modules/chapter/services/Chapters.ts b/src/modules/chapter/services/Chapters.ts index 01ed37dc..cab1116e 100644 --- a/src/modules/chapter/services/Chapters.ts +++ b/src/modules/chapter/services/Chapters.ts @@ -18,9 +18,9 @@ import { DownloadStatusFieldsFragment, } from '@/lib/graphql/generated/graphql.ts'; import { CHAPTER_LIST_FIELDS } from '@/lib/graphql/fragments/ChapterFragments.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { DirectionOffset, TranslationKey } from '@/Base.types.ts'; +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; export type ChapterAction = 'download' | 'delete' | 'bookmark' | 'unbookmark' | 'mark_as_read' | 'mark_as_unread'; diff --git a/src/modules/library/components/LibraryOptionsPanel.tsx b/src/modules/library/components/LibraryOptionsPanel.tsx index fa9288af..6a966f95 100644 --- a/src/modules/library/components/LibraryOptionsPanel.tsx +++ b/src/modules/library/components/LibraryOptionsPanel.tsx @@ -20,7 +20,6 @@ import { requestManager } from '@/lib/requests/RequestManager.ts'; import { Trackers } from '@/modules/tracker/services/Trackers.ts'; import { GetTrackersSettingsQuery, MangaStatus } from '@/lib/graphql/generated/graphql.ts'; import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/queries/TrackerQuery.ts'; -import { statusToTranslationKey } from '@/modules/manga/services/Mangas.ts'; import { createUpdateCategoryMetadata, getCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { @@ -30,6 +29,7 @@ import { import { TranslationKey } from '@/Base.types.ts'; import { LibrarySortMode } from '@/modules/library/Library.types.ts'; import { CategoryMetadataInfo } from '@/modules/category/Category.types.ts'; +import { statusToTranslationKey } from '@/modules/manga/Manga.constants.ts'; const TITLES: { [key in 'filter' | 'sort' | 'display']: TranslationKey } = { filter: 'global.label.filter', diff --git a/src/modules/library/hooks/useGetVisibleLibraryMangas.ts b/src/modules/library/hooks/useGetVisibleLibraryMangas.ts index 76683636..a567c005 100644 --- a/src/modules/library/hooks/useGetVisibleLibraryMangas.ts +++ b/src/modules/library/hooks/useGetVisibleLibraryMangas.ts @@ -10,12 +10,12 @@ import { StringParam, useQueryParam } from 'use-query-params'; import { useMemo } from 'react'; import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { ChapterType, MangaType, SourceType, TrackRecordType } from '@/lib/graphql/generated/graphql.ts'; -import { MangaChapterCountInfo, MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { enhancedCleanup } from '@/util/Strings.ts'; import { getCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; import { NullAndUndefined } from '@/Base.types.ts'; import { LibraryOptions, LibrarySortMode } from '@/modules/library/Library.types.ts'; import { CategoryMetadataInfo } from '@/modules/category/Category.types.ts'; +import { MangaChapterCountInfo, MangaIdInfo } from '@/modules/manga/Manga.types.ts'; const triStateFilter = ( triState: NullAndUndefined, diff --git a/src/modules/manga/Manga.constants.ts b/src/modules/manga/Manga.constants.ts index cf0aa746..43554c68 100644 --- a/src/modules/manga/Manga.constants.ts +++ b/src/modules/manga/Manga.constants.ts @@ -6,4 +6,94 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +import { MangaStatus } from '@/lib/graphql/generated/graphql.ts'; +import { TranslationKey } from '@/Base.types.ts'; +import { MangaAction } from '@/modules/manga/Manga.types.ts'; + export const MANGA_COVER_ASPECT_RATIO = '1 / 1.5'; + +export const statusToTranslationKey: Record = { + [MangaStatus.Cancelled]: 'manga.status.cancelled', + [MangaStatus.Completed]: 'manga.status.completed', + [MangaStatus.Licensed]: 'manga.status.licensed', + [MangaStatus.Ongoing]: 'manga.status.ongoing', + [MangaStatus.OnHiatus]: 'manga.status.hiatus', + [MangaStatus.PublishingFinished]: 'manga.status.publishing_finished', + [MangaStatus.Unknown]: 'manga.status.unknown', +}; + +export const actionToTranslationKey: { + [key in MangaAction]: { + action: { + single: TranslationKey; + selected: TranslationKey; + }; + success: TranslationKey; + error: TranslationKey; + }; +} = { + download: { + action: { + single: 'chapter.action.download.add.label.action', + selected: 'chapter.action.download.add.button.selected', + }, + success: 'chapter.action.download.add.label.success', + error: 'chapter.action.download.add.label.error', + }, + delete: { + action: { + single: 'chapter.action.download.delete.label.action', + selected: 'chapter.action.download.delete.button.selected', + }, + success: 'chapter.action.download.delete.label.success', + error: 'chapter.action.download.delete.label.error', + }, + mark_as_read: { + action: { + single: 'chapter.action.mark_as_read.add.label.action.current', + selected: 'chapter.action.mark_as_read.add.button.selected', + }, + success: 'chapter.action.mark_as_read.add.label.success', + error: 'chapter.action.mark_as_read.add.label.error', + }, + mark_as_unread: { + action: { + single: 'chapter.action.mark_as_read.remove.label.action', + selected: 'chapter.action.mark_as_read.remove.button.selected', + }, + success: 'chapter.action.mark_as_read.remove.label.success', + error: 'chapter.action.mark_as_read.remove.label.error', + }, + remove_from_library: { + action: { + single: 'manga.action.library.remove.label.action', + selected: 'manga.action.library.remove.button.selected', + }, + success: 'manga.action.library.remove.label.success', + error: 'manga.action.library.remove.label.error', + }, + change_categories: { + action: { + single: 'manga.action.category.label.action', + selected: 'manga.action.category.button.selected', + }, + success: 'manga.action.category.label.success', + error: 'manga.action.category.label.error', + }, + migrate: { + action: { + single: 'global.button.migrate', + selected: 'global.button.migrate', // not supported + }, + success: 'manga.action.migrate.label.success', + error: 'manga.action.migrate.label.error', + }, + track: { + action: { + single: 'manga.action.track.add.label.action', + selected: 'manga.action.track.add.label.action', // not supported + }, + success: 'manga.action.track.add.label.success', + error: 'manga.action.track.add.label.error', + }, +}; diff --git a/src/modules/manga/Manga.types.ts b/src/modules/manga/Manga.types.ts index 7ac2e027..765510da 100644 --- a/src/modules/manga/Manga.types.ts +++ b/src/modules/manga/Manga.types.ts @@ -11,8 +11,7 @@ import { PopupState } from 'material-ui-popup-state/hooks'; import { GridLayout } from '@/modules/library/contexts/LibraryOptionsContext.tsx'; import { SelectableCollectionReturnType } from '@/modules/collection/hooks/useSelectableCollection.ts'; import { useManageMangaLibraryState } from '@/modules/manga/hooks/useManageMangaLibraryState.tsx'; -import { MangaThumbnailInfo } from '@/modules/manga/services/Mangas.ts'; -import { ChapterType, MangaType } from '@/lib/graphql/generated/graphql.ts'; +import { ChapterType, MangaReaderFieldsFragment, MangaType, TrackRecordType } from '@/lib/graphql/generated/graphql.ts'; import { SingleModeProps } from '@/modules/manga/components/MangaActionMenuItems.tsx'; import { IReaderSettings } from '@/modules/reader/Reader.types'; @@ -24,6 +23,17 @@ type MangaCardBaseProps = Pick & firstUnreadChapter?: Pick | null; }; +export type MangaIdInfo = Pick; +export type MangaChapterCountInfo = { chapters: Pick }; +export type MangaDownloadInfo = Pick & MangaChapterCountInfo; +export type MangaUnreadInfo = Pick & MangaChapterCountInfo; +export type MangaThumbnailInfo = Pick; +export type MangaTrackRecordInfo = MangaIdInfo & { + trackRecords: { nodes: Pick[] }; +}; + +export type MigrateMode = 'copy' | 'migrate'; + type MangaCardSpecificProps = MangaCardBaseProps & MangaThumbnailInfo; export interface MangaCardProps { @@ -47,3 +57,15 @@ export type SpecificMangaCardProps = Omit & }; export type MangaMetadataKeys = keyof IReaderSettings; + +export type MangaAction = + | 'download' + | 'delete' + | 'mark_as_read' + | 'mark_as_unread' + | 'remove_from_library' + | 'change_categories' + | 'migrate' + | 'track'; + +export type TMangaReader = MangaReaderFieldsFragment; diff --git a/src/modules/manga/components/MangaActionMenuItems.tsx b/src/modules/manga/components/MangaActionMenuItems.tsx index 947c9155..295bd228 100644 --- a/src/modules/manga/components/MangaActionMenuItems.tsx +++ b/src/modules/manga/components/MangaActionMenuItems.tsx @@ -19,14 +19,7 @@ import SyncAltIcon from '@mui/icons-material/SyncAlt'; import { Link } from 'react-router-dom'; import SyncIcon from '@mui/icons-material/Sync'; import Dialog from '@mui/material/Dialog'; -import { - actionToTranslationKey, - MangaAction, - MangaDownloadInfo, - MangaIdInfo, - Mangas, - MangaUnreadInfo, -} from '@/modules/manga/services/Mangas.ts'; +import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { SelectableCollectionReturnType } from '@/modules/collection/hooks/useSelectableCollection.ts'; import { MenuItem } from '@/modules/core/components/menu/MenuItem.tsx'; import { @@ -40,6 +33,8 @@ import { useCategorySelect } from '@/modules/category/hooks/useCategorySelect.ts import { ChaptersDownloadActionMenuItems } from '@/modules/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx'; import { NestedMenuItem } from '@/modules/core/components/menu/NestedMenuItem.tsx'; import { MangaChapterStatFieldsFragment, MangaType } from '@/lib/graphql/generated/graphql.ts'; +import { MangaAction, MangaDownloadInfo, MangaIdInfo, MangaUnreadInfo } from '@/modules/manga/Manga.types.ts'; +import { actionToTranslationKey } from '@/modules/manga/Manga.constants.ts'; const ACTION_DISABLES_SELECTION_MODE: MangaAction[] = ['remove_from_library'] as const; diff --git a/src/modules/manga/components/MangaDetails.tsx b/src/modules/manga/components/MangaDetails.tsx index 921cdd82..6fba4bef 100644 --- a/src/modules/manga/components/MangaDetails.tsx +++ b/src/modules/manga/components/MangaDetails.tsx @@ -27,12 +27,7 @@ import OpenInFullIcon from '@mui/icons-material/OpenInFull'; import Modal from '@mui/material/Modal'; import { bindPopover, bindTrigger, usePopupState } from 'material-ui-popup-state/hooks'; import { makeToast } from '@/modules/core/utils/Toast.ts'; -import { - Mangas, - MangaThumbnailInfo, - MangaTrackRecordInfo, - statusToTranslationKey, -} from '@/modules/manga/services/Mangas.ts'; +import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { SpinnerImage } from '@/modules/core/components/SpinnerImage.tsx'; import { CustomIconButton } from '@/modules/core/components/buttons/CustomIconButton.tsx'; import { TrackMangaButton } from '@/modules/manga/components/TrackMangaButton.tsx'; @@ -44,7 +39,8 @@ import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { useResizeObserver } from '@/modules/core/hooks/useResizeObserver.tsx'; import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { shouldForwardProp } from '@/modules/core/utils/ShouldForwardProp.ts'; -import { MANGA_COVER_ASPECT_RATIO } from '@/modules/manga/Manga.constants.ts'; +import { MANGA_COVER_ASPECT_RATIO, statusToTranslationKey } from '@/modules/manga/Manga.constants.ts'; +import { MangaThumbnailInfo, MangaTrackRecordInfo } from '@/modules/manga/Manga.types.ts'; const DetailsWrapper = styled('div')(({ theme }) => ({ display: 'flex', diff --git a/src/modules/manga/components/TrackMangaButton.tsx b/src/modules/manga/components/TrackMangaButton.tsx index f6780d44..72d2da00 100644 --- a/src/modules/manga/components/TrackMangaButton.tsx +++ b/src/modules/manga/components/TrackMangaButton.tsx @@ -19,7 +19,8 @@ import { Trackers } from '@/modules/tracker/services/Trackers.ts'; import { CustomIconButton } from '@/modules/core/components/buttons/CustomIconButton.tsx'; import { GetTrackersSettingsQuery, MangaType } from '@/lib/graphql/generated/graphql.ts'; import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/queries/TrackerQuery.ts'; -import { MangaTrackRecordInfo } from '@/modules/manga/services/Mangas.ts'; + +import { MangaTrackRecordInfo } from '@/modules/manga/Manga.types.ts'; export const TrackMangaButton = ({ manga }: { manga: MangaTrackRecordInfo & Pick }) => { const { t } = useTranslation(); diff --git a/src/modules/manga/services/Mangas.ts b/src/modules/manga/services/Mangas.ts index 9cfd27cb..f34eba4a 100644 --- a/src/modules/manga/services/Mangas.ts +++ b/src/modules/manga/services/Mangas.ts @@ -17,10 +17,6 @@ import { GetMangaToMigrateQuery, GetMangaToMigrateToFetchMutation, MangaBaseFieldsFragment, - MangaReaderFieldsFragment, - MangaStatus, - MangaType, - TrackRecordType, UpdateMangaCategoriesPatchInput, } from '@/lib/graphql/generated/graphql.ts'; import { Chapters } from '@/modules/chapter/services/Chapters.ts'; @@ -28,117 +24,16 @@ import { makeToast } from '@/modules/core/utils/Toast.ts'; import { getMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { GET_MANGAS_BASE } from '@/lib/graphql/queries/MangaQuery.ts'; import { MANGA_BASE_FIELDS } from '@/lib/graphql/fragments/MangaFragments.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; - -export type MangaAction = - | 'download' - | 'delete' - | 'mark_as_read' - | 'mark_as_unread' - | 'remove_from_library' - | 'change_categories' - | 'migrate' - | 'track'; - -export const statusToTranslationKey: Record = { - [MangaStatus.Cancelled]: 'manga.status.cancelled', - [MangaStatus.Completed]: 'manga.status.completed', - [MangaStatus.Licensed]: 'manga.status.licensed', - [MangaStatus.Ongoing]: 'manga.status.ongoing', - [MangaStatus.OnHiatus]: 'manga.status.hiatus', - [MangaStatus.PublishingFinished]: 'manga.status.publishing_finished', - [MangaStatus.Unknown]: 'manga.status.unknown', -}; - -export const actionToTranslationKey: { - [key in MangaAction]: { - action: { - single: TranslationKey; - selected: TranslationKey; - }; - success: TranslationKey; - error: TranslationKey; - }; -} = { - download: { - action: { - single: 'chapter.action.download.add.label.action', - selected: 'chapter.action.download.add.button.selected', - }, - success: 'chapter.action.download.add.label.success', - error: 'chapter.action.download.add.label.error', - }, - delete: { - action: { - single: 'chapter.action.download.delete.label.action', - selected: 'chapter.action.download.delete.button.selected', - }, - success: 'chapter.action.download.delete.label.success', - error: 'chapter.action.download.delete.label.error', - }, - mark_as_read: { - action: { - single: 'chapter.action.mark_as_read.add.label.action.current', - selected: 'chapter.action.mark_as_read.add.button.selected', - }, - success: 'chapter.action.mark_as_read.add.label.success', - error: 'chapter.action.mark_as_read.add.label.error', - }, - mark_as_unread: { - action: { - single: 'chapter.action.mark_as_read.remove.label.action', - selected: 'chapter.action.mark_as_read.remove.button.selected', - }, - success: 'chapter.action.mark_as_read.remove.label.success', - error: 'chapter.action.mark_as_read.remove.label.error', - }, - remove_from_library: { - action: { - single: 'manga.action.library.remove.label.action', - selected: 'manga.action.library.remove.button.selected', - }, - success: 'manga.action.library.remove.label.success', - error: 'manga.action.library.remove.label.error', - }, - change_categories: { - action: { - single: 'manga.action.category.label.action', - selected: 'manga.action.category.button.selected', - }, - success: 'manga.action.category.label.success', - error: 'manga.action.category.label.error', - }, - migrate: { - action: { - single: 'global.button.migrate', - selected: 'global.button.migrate', // not supported - }, - success: 'manga.action.migrate.label.success', - error: 'manga.action.migrate.label.error', - }, - track: { - action: { - single: 'manga.action.track.add.label.action', - selected: 'manga.action.track.add.label.action', // not supported - }, - success: 'manga.action.track.add.label.success', - error: 'manga.action.track.add.label.error', - }, -}; - -export type TMangaReader = MangaReaderFieldsFragment; - -export type MangaIdInfo = Pick; -export type MangaChapterCountInfo = { chapters: Pick }; -export type MangaDownloadInfo = Pick & MangaChapterCountInfo; -export type MangaUnreadInfo = Pick & MangaChapterCountInfo; -export type MangaThumbnailInfo = Pick; -export type MangaTrackRecordInfo = MangaIdInfo & { - trackRecords: { nodes: Pick[] }; -}; - -export type MigrateMode = 'copy' | 'migrate'; +import { + MangaAction, + MangaDownloadInfo, + MangaIdInfo, + MangaThumbnailInfo, + MangaUnreadInfo, + MigrateMode, +} from '@/modules/manga/Manga.types.ts'; +import { actionToTranslationKey } from '@/modules/manga/Manga.constants.ts'; type MangaToMigrate = NonNullable; type MangaToMigrateTo = NonNullable['manga']; diff --git a/src/modules/metadata/services/MetadataUpdater.ts b/src/modules/metadata/services/MetadataUpdater.ts index dca35c79..66430b0c 100644 --- a/src/modules/metadata/services/MetadataUpdater.ts +++ b/src/modules/metadata/services/MetadataUpdater.ts @@ -9,7 +9,6 @@ import { requestManager } from '@/lib/requests/RequestManager.ts'; import { SourceType } from '@/lib/graphql/generated/graphql.ts'; import { ChapterIdInfo } from '@/modules/chapter/services/Chapters.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { CategoryIdInfo } from '@/modules/category/Category.types.ts'; import { getMetadataKey } from '@/modules/metadata/services/MetadataReader.ts'; import { @@ -18,6 +17,7 @@ import { GqlMetaHolder, MetadataKeyValuePair, } from '@/modules/metadata/Metadata.types.ts'; +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; type MetadataHolderType = 'manga' | 'chapter' | 'category' | 'global' | 'source'; diff --git a/src/modules/migration/components/MigrateDialog.tsx b/src/modules/migration/components/MigrateDialog.tsx index a4667829..c9a1a67c 100644 --- a/src/modules/migration/components/MigrateDialog.tsx +++ b/src/modules/migration/components/MigrateDialog.tsx @@ -17,7 +17,7 @@ import { Link, useNavigate, useParams } from 'react-router-dom'; import { useState } from 'react'; import FormGroup from '@mui/material/FormGroup'; import { CheckboxInput } from '@/modules/core/components/inputs/CheckboxInput.tsx'; -import { Mangas, MigrateMode } from '@/modules/manga/services/Mangas.ts'; +import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { createUpdateMetadataServerSettings, @@ -25,6 +25,7 @@ import { } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; +import { MigrateMode } from '@/modules/manga/Manga.types.ts'; export const MigrateDialog = ({ mangaIdToMigrateTo, onClose }: { mangaIdToMigrateTo: number; onClose: () => void }) => { const { t } = useTranslation(); diff --git a/src/modules/reader/components/ReaderNavBar.tsx b/src/modules/reader/components/ReaderNavBar.tsx index 4404be17..66e18fde 100644 --- a/src/modules/reader/components/ReaderNavBar.tsx +++ b/src/modules/reader/components/ReaderNavBar.tsx @@ -32,13 +32,13 @@ import { useBackButton } from '@/modules/core/hooks/useBackButton.ts'; import { Select } from '@/modules/core/components/inputs/Select.tsx'; import { useGetOptionForDirection } from '@/theme.tsx'; import { ChapterType } from '@/lib/graphql/generated/graphql.ts'; -import { MangaChapterCountInfo, MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { useResizeObserver } from '@/modules/core/hooks/useResizeObserver.tsx'; import { CustomIconButton } from '@/modules/core/components/buttons/CustomIconButton.tsx'; import { IReaderSettings } from '@/modules/reader/Reader.types.ts'; import { DirectionOffset } from '@/Base.types.ts'; import { AllowedMetadataValueTypes } from '@/modules/metadata/Metadata.types.ts'; +import { MangaChapterCountInfo, MangaIdInfo } from '@/modules/manga/Manga.types.ts'; const Root = styled('div')({ zIndex: 10, diff --git a/src/modules/reader/screens/Reader.tsx b/src/modules/reader/screens/Reader.tsx index 5e1bd0fe..5a33c34b 100644 --- a/src/modules/reader/screens/Reader.tsx +++ b/src/modules/reader/screens/Reader.tsx @@ -39,12 +39,12 @@ import { ChapterIdInfo, Chapters } from '@/modules/chapter/services/Chapters.ts' import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { GET_CHAPTERS_READER } from '@/lib/graphql/queries/ChapterQuery.ts'; import { GET_MANGA_READER } from '@/lib/graphql/queries/MangaQuery.ts'; -import { TMangaReader } from '@/modules/manga/services/Mangas.ts'; import { CHAPTER_READER_FIELDS } from '@/lib/graphql/fragments/ChapterFragments.ts'; import { MediaQuery } from '@/modules/core/utils/MediaQuery.tsx'; import { IReaderSettings, ReaderType } from '@/modules/reader/Reader.types.ts'; import { DirectionOffset } from '@/Base.types.ts'; import { AllowedMetadataValueTypes } from '@/modules/metadata/Metadata.types.ts'; +import { TMangaReader } from '@/modules/manga/Manga.types.ts'; type TChapter = GetChaptersReaderQuery['chapters']['nodes'][number]; diff --git a/src/modules/reader/services/ReaderSettingsMetadata.ts b/src/modules/reader/services/ReaderSettingsMetadata.ts index 7cba5f41..fb62cf02 100644 --- a/src/modules/reader/services/ReaderSettingsMetadata.ts +++ b/src/modules/reader/services/ReaderSettingsMetadata.ts @@ -12,12 +12,12 @@ import { requestUpdateServerMetadata, } from '@/modules/metadata/services/MetadataUpdater.ts'; import { MetaType } from '@/lib/graphql/generated/graphql.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { DEFAULT_READER_SETTINGS } from '@/modules/reader/Reader.constants.ts'; import { IReaderSettings, UndefinedReaderSettings } from '@/modules/reader/Reader.types.ts'; import { convertFromGqlMeta } from '@/modules/metadata/services/MetadataConverter.ts'; import { getMetadataFrom } from '@/modules/metadata/services/MetadataReader.ts'; import { GqlMetaHolder, Metadata, MetadataKeyValuePair } from '@/modules/metadata/Metadata.types.ts'; +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; const getReaderSettingsWithDefaultValueFallback = ( meta?: Metadata, diff --git a/src/modules/source/screens/SourceMangas.tsx b/src/modules/source/screens/SourceMangas.tsx index 6ba73d2a..b8ba5fa9 100644 --- a/src/modules/source/screens/SourceMangas.tsx +++ b/src/modules/source/screens/SourceMangas.tsx @@ -44,12 +44,12 @@ import { getGridSnapshotKey } from '@/modules/manga/components/MangaGrid.tsx'; import { createUpdateSourceMetadata, getSourceMetadata } from '@/modules/source/services/SourceMetadata.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { GET_SOURCE_BROWSE } from '@/lib/graphql/queries/SourceQuery.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { TranslationKey } from '@/Base.types.ts'; import { IPos } from '@/modules/source/Source.types.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { EmptyView } from '@/modules/core/components/placeholder/EmptyView.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; const ContentTypeMenu = styled('div')(({ theme }) => ({ display: 'flex', diff --git a/src/modules/tracker/components/TrackManga.tsx b/src/modules/tracker/components/TrackManga.tsx index bea98ef3..ba2eebcc 100644 --- a/src/modules/tracker/components/TrackManga.tsx +++ b/src/modules/tracker/components/TrackManga.tsx @@ -20,8 +20,8 @@ import { makeToast } from '@/modules/core/utils/Toast.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GetMangaTrackRecordsQuery, GetTrackersBindQuery, MangaType } from '@/lib/graphql/generated/graphql.ts'; import { GET_TRACKERS_BIND } from '@/lib/graphql/queries/TrackerQuery.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; import { GET_MANGA_TRACK_RECORDS } from '@/lib/graphql/queries/MangaQuery.ts'; +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; const getTrackerMode = (id: number, trackersInUse: number[], searchModeForTracker?: number): TrackerMode => { if (id === searchModeForTracker) { diff --git a/src/modules/tracker/components/TrackerSearch.tsx b/src/modules/tracker/components/TrackerSearch.tsx index 10d1c3bd..17456169 100644 --- a/src/modules/tracker/components/TrackerSearch.tsx +++ b/src/modules/tracker/components/TrackerSearch.tsx @@ -32,7 +32,8 @@ import { DIALOG_PADDING } from '@/modules/tracker/Tracker.constants.ts'; import { useGetOptionForDirection } from '@/theme.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; + +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; export const TrackerSearch = ({ manga, diff --git a/src/modules/tracker/components/cards/TrackerCard.tsx b/src/modules/tracker/components/cards/TrackerCard.tsx index 6ae7fddb..6bb5fbd0 100644 --- a/src/modules/tracker/components/cards/TrackerCard.tsx +++ b/src/modules/tracker/components/cards/TrackerCard.tsx @@ -11,7 +11,8 @@ import { TrackerSearch } from '@/modules/tracker/components/TrackerSearch.tsx'; import { TrackerActiveCard } from '@/modules/tracker/components/cards/TrackerActiveCard.tsx'; import { TTrackerBind, TTrackRecordBind } from '@/modules/tracker/services/Trackers.ts'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; -import { MangaIdInfo } from '@/modules/manga/services/Mangas.ts'; + +import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; export enum TrackerMode { UNTRACKED,