diff --git a/src/modules/tracker/Tracker.constants.ts b/src/modules/tracker/Tracker.constants.ts index bdeac8ba..bdaf451b 100644 --- a/src/modules/tracker/Tracker.constants.ts +++ b/src/modules/tracker/Tracker.constants.ts @@ -43,3 +43,5 @@ export const PUBLISHING_STATUS_TO_TRANSLATION: Record; +export type TTrackRecordBind = TTrackRecordBase & + Pick< + TrackRecordType, + | 'trackerId' + | 'remoteUrl' + | 'status' + | 'lastChapterRead' + | 'totalChapters' + | 'score' + | 'displayScore' + | 'startDate' + | 'finishDate' + >; +export type TTrackerManga = Pick< + TrackSearchType, + | 'id' + | 'remoteId' + | 'trackingUrl' + | 'title' + | 'coverUrl' + | 'publishingType' + | 'startDate' + | 'publishingStatus' + | 'summary' +>; +export type TTrackerBase = Pick; +export type TTrackerSearch = TTrackerBase & Pick; +export type TTrackerBind = TTrackerBase & Pick; +export type TrackerIdInfo = Pick; +export type LoggedInInfo = Pick; +export type TrackRecordTrackerInfo = Pick; +export type TrackSearchPublishingTypeInfo = Pick; +export type TrackSearchPublishingStatusInfo = Pick; diff --git a/src/modules/tracker/components/TrackerSearch.tsx b/src/modules/tracker/components/TrackerSearch.tsx index b601a42c..956607af 100644 --- a/src/modules/tracker/components/TrackerSearch.tsx +++ b/src/modules/tracker/components/TrackerSearch.tsx @@ -24,7 +24,6 @@ import Typography from '@mui/material/Typography'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/feedback/LoadingPlaceholder.tsx'; -import { Tracker, TTrackerBase } from '@/modules/tracker/services/Trackers.ts'; import { SearchTextField } from '@/modules/core/components/inputs/SearchTextField.tsx'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { TrackerMangaCard } from '@/modules/tracker/components/cards/TrackerMangaCard.tsx'; @@ -36,6 +35,7 @@ import { MangaType } from '@/lib/graphql/generated/graphql.ts'; import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { applyStyles } from '@/modules/core/utils/ApplyStyles.ts'; +import { Tracker, TTrackerBase } from '@/modules/tracker/Tracker.types.ts'; export const TrackerSearch = ({ manga, diff --git a/src/modules/tracker/components/cards/SettingsTrackerCard.tsx b/src/modules/tracker/components/cards/SettingsTrackerCard.tsx index 9881d180..a6139381 100644 --- a/src/modules/tracker/components/cards/SettingsTrackerCard.tsx +++ b/src/modules/tracker/components/cards/SettingsTrackerCard.tsx @@ -24,9 +24,10 @@ import Button from '@mui/material/Button'; import { PasswordTextField } from '@/modules/core/components/inputs/PasswordTextField.tsx'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { Trackers, TTrackerSearch } from '@/modules/tracker/services/Trackers.ts'; +import { Trackers } from '@/modules/tracker/services/Trackers.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; +import { TTrackerSearch } from '@/modules/tracker/Tracker.types.ts'; export const SettingsTrackerCard = ({ tracker }: { tracker: TTrackerSearch }) => { const { t } = useTranslation(); diff --git a/src/modules/tracker/components/cards/TrackerActiveCard.tsx b/src/modules/tracker/components/cards/TrackerActiveCard.tsx index 45e6ecc4..c37b98d1 100644 --- a/src/modules/tracker/components/cards/TrackerActiveCard.tsx +++ b/src/modules/tracker/components/cards/TrackerActiveCard.tsx @@ -29,18 +29,19 @@ import PopupState, { bindDialog, bindMenu, bindTrigger } from 'material-ui-popup import { useMemo, useState } from 'react'; import { CustomTooltip } from '@/modules/core/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { Trackers, TTrackerBind, TTrackRecordBind, UNSET_DATE } from '@/modules/tracker/services/Trackers.ts'; +import { Trackers } from '@/modules/tracker/services/Trackers.ts'; import { ListPreference } from '@/modules/source/components/sourceConfiguration/ListPreference.tsx'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { DateSetting } from '@/modules/core/components/settings/DateSetting.tsx'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { Menu } from '@/modules/core/components/menu/Menu.tsx'; -import { CARD_STYLING } from '@/modules/tracker/Tracker.constants.ts'; +import { CARD_STYLING, UNSET_DATE } from '@/modules/tracker/Tracker.constants.ts'; import { TypographyMaxLines } from '@/modules/core/components/texts/TypographyMaxLines.tsx'; import { SelectSetting, SelectSettingValue } from '@/modules/core/components/settings/SelectSetting.tsx'; import { CheckboxInput } from '@/modules/core/components/inputs/CheckboxInput.tsx'; import { TrackRecordType } from '@/lib/graphql/generated/graphql.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { TTrackerBind, TTrackRecordBind } from '@/modules/tracker/Tracker.types.ts'; const TrackerActiveLink = ({ children, url }: { children: React.ReactNode; url: string }) => ( diff --git a/src/modules/tracker/components/cards/TrackerCard.tsx b/src/modules/tracker/components/cards/TrackerCard.tsx index 6bb5fbd0..4fbb9434 100644 --- a/src/modules/tracker/components/cards/TrackerCard.tsx +++ b/src/modules/tracker/components/cards/TrackerCard.tsx @@ -9,10 +9,10 @@ import { TrackerUntrackedCard } from '@/modules/tracker/components/cards/TrackerUntrackedCard.tsx'; 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/Manga.types.ts'; +import { TTrackerBind, TTrackRecordBind } from '@/modules/tracker/Tracker.types.ts'; export enum TrackerMode { UNTRACKED, diff --git a/src/modules/tracker/components/cards/TrackerMangaCard.tsx b/src/modules/tracker/components/cards/TrackerMangaCard.tsx index 79713855..99a963a8 100644 --- a/src/modules/tracker/components/cards/TrackerMangaCard.tsx +++ b/src/modules/tracker/components/cards/TrackerMangaCard.tsx @@ -26,13 +26,14 @@ import { SpinnerImage } from '@/modules/core/components/SpinnerImage.tsx'; import { TypographyMaxLines } from '@/modules/core/components/texts/TypographyMaxLines.tsx'; import { Metadata } from '@/modules/core/components/texts/Metadata.tsx'; import { MediaQuery } from '@/modules/core/utils/MediaQuery.tsx'; -import { Trackers, TTrackerManga } from '@/modules/tracker/services/Trackers.ts'; +import { Trackers } from '@/modules/tracker/services/Trackers.ts'; import { MANGA_COVER_ASPECT_RATIO } from '@/modules/manga/Manga.constants.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; import { PUBLISHING_STATUS_TO_TRANSLATION, PUBLISHING_TYPE_TO_TRANSLATION, } from '@/modules/tracker/Tracker.constants.ts'; +import { TTrackerManga } from '@/modules/tracker/Tracker.types.ts'; const TrackerMangaCardTitle = ({ title, selected }: { title: string; selected: boolean }) => ( ; - -export type TTrackRecordBind = TTrackRecordBase & - Pick< - TrackRecordType, - | 'trackerId' - | 'remoteUrl' - | 'status' - | 'lastChapterRead' - | 'totalChapters' - | 'score' - | 'displayScore' - | 'startDate' - | 'finishDate' - >; - -export type TTrackerManga = Pick< - TrackSearchType, - | 'id' - | 'remoteId' - | 'trackingUrl' - | 'title' - | 'coverUrl' - | 'publishingType' - | 'startDate' - | 'publishingStatus' - | 'summary' ->; - -export type TTrackerBase = Pick; - -export type TTrackerSearch = TTrackerBase & Pick; - -export type TTrackerBind = TTrackerBase & Pick; - -type TrackerIdInfo = Pick; -type LoggedInInfo = Pick; - -type TrackRecordTrackerInfo = Pick; -type TrackSearchPublishingTypeInfo = Pick; -type TrackSearchPublishingStatusInfo = Pick; +import { + LoggedInInfo, + PublishingStatus, + PublishingType, + TrackerIdInfo, + TrackRecordTrackerInfo, + TrackSearchPublishingStatusInfo, + TrackSearchPublishingTypeInfo, +} from '@/modules/tracker/Tracker.types.ts'; +import { UNSET_DATE } from '@/modules/tracker/Tracker.constants.ts'; export class Trackers { static getIds(trackers: TrackerIdInfo[]): number[] {