diff --git a/src/App.tsx b/src/App.tsx index f602093f..4851b32e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -28,8 +28,8 @@ const { Library } = loadable(() => import('@/modules/library/screens/Library.tsx const { Manga } = loadable(() => import('@/modules/manga/screens/Manga.tsx'), lazyLoadFallback); const { Reader } = loadable(() => import('@/modules/reader/screens/Reader.tsx'), lazyLoadFallback); const { SearchAll } = loadable(() => import('@/modules/global-search/screens/SearchAll.tsx'), lazyLoadFallback); -const { Settings } = loadable(() => import('@/screens/Settings'), lazyLoadFallback); -const { About } = loadable(() => import('@/screens/settings/About'), lazyLoadFallback); +const { Settings } = loadable(() => import('@/modules/settings/screens/Settings.tsx'), lazyLoadFallback); +const { About } = loadable(() => import('@/modules/settings/screens/About.tsx'), lazyLoadFallback); const { Backup } = loadable(() => import('@/modules/backup/screens/Backup.tsx'), lazyLoadFallback); const { CategorySettings } = loadable( () => import('@/modules/category/screens/CategorySettings.tsx'), @@ -47,9 +47,9 @@ const { DownloadSettings } = loadable( () => import('@/modules/downloads/screens/DownloadSettings.tsx'), lazyLoadFallback, ); -const { ServerSettings } = loadable(() => import('@/screens/settings/ServerSettings.tsx'), lazyLoadFallback); +const { ServerSettings } = loadable(() => import('@/modules/settings/screens/ServerSettings.tsx'), lazyLoadFallback); const { BrowseSettings } = loadable(() => import('@/modules/browse/screens/BrowseSettings.tsx'), lazyLoadFallback); -const { WebUISettings } = loadable(() => import('@/screens/settings/WebUISettings.tsx'), lazyLoadFallback); +const { WebUISettings } = loadable(() => import('@/modules/settings/screens/WebUISettings.tsx'), lazyLoadFallback); const { Migrate } = loadable(() => import('@/modules/migration/screens/Migrate.tsx'), lazyLoadFallback); const { DeviceSetting } = loadable(() => import('@/modules/device/screens/DeviceSetting.tsx'), lazyLoadFallback); const { TrackingSettings } = loadable(() => import('@/modules/tracker/screens/TrackingSettings.tsx'), lazyLoadFallback); @@ -61,7 +61,7 @@ const { LibraryDuplicates } = loadable( () => import('@/modules/library/screens/LibraryDuplicates.tsx'), lazyLoadFallback, ); -const { Appearance } = loadable(() => import('@/screens/settings/Appearance.tsx'), lazyLoadFallback); +const { Appearance } = loadable(() => import('@/modules/settings/screens/Appearance.tsx'), lazyLoadFallback); if (process.env.NODE_ENV !== 'production') { // Adds messages only in a dev environment diff --git a/src/modules/app-updates/components/ServerUpdateChecker.tsx b/src/modules/app-updates/components/ServerUpdateChecker.tsx index dfa1d263..a93b6e8a 100644 --- a/src/modules/app-updates/components/ServerUpdateChecker.tsx +++ b/src/modules/app-updates/components/ServerUpdateChecker.tsx @@ -17,7 +17,7 @@ import Button from '@mui/material/Button'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { useUpdateChecker } from '@/modules/app-updates/hooks/useUpdateChecker.tsx'; import { VersionUpdateInfoDialog } from '@/modules/app-updates/components/VersionUpdateInfoDialog.tsx'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { getVersion } from '@/modules/app-updates/services/AppUpdateChecker.tsx'; diff --git a/src/modules/app-updates/components/WebUIUpdateChecker.tsx b/src/modules/app-updates/components/WebUIUpdateChecker.tsx index 34fe7444..3af63380 100644 --- a/src/modules/app-updates/components/WebUIUpdateChecker.tsx +++ b/src/modules/app-updates/components/WebUIUpdateChecker.tsx @@ -22,7 +22,7 @@ import { makeToast } from '@/lib/ui/Toast.ts'; import { ABOUT_WEBUI, WEBUI_UPDATE_CHECK } from '@/lib/graphql/fragments/InfoFragments.ts'; import { VersionUpdateInfoDialog } from '@/modules/app-updates/components/VersionUpdateInfoDialog.tsx'; import { useUpdateChecker } from '@/modules/app-updates/hooks/useUpdateChecker.tsx'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; const disabledUpdateCheck = () => Promise.resolve(); diff --git a/src/modules/backup/screens/Backup.tsx b/src/modules/backup/screens/Backup.tsx index 6978fd08..b287ad09 100644 --- a/src/modules/backup/screens/Backup.tsx +++ b/src/modules/backup/screens/Backup.tsx @@ -31,10 +31,10 @@ import { Progress } from '@/modules/core/components/Progress.tsx'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { TimeSetting } from '@/modules/core/components/settings/TimeSetting.tsx'; -import { ServerSettings } from '@/typings.ts'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; +import { ServerSettings } from '@/modules/settings/Settings.types.ts'; type BackupSettingsType = Pick; diff --git a/src/modules/browse/screens/BrowseSettings.tsx b/src/modules/browse/screens/BrowseSettings.tsx index 7cd937fb..46c23963 100644 --- a/src/modules/browse/screens/BrowseSettings.tsx +++ b/src/modules/browse/screens/BrowseSettings.tsx @@ -16,18 +16,18 @@ import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.t import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { MutableListSetting } from '@/modules/core/components/settings/MutableListSetting.tsx'; -import { ServerSettings as GqlServerSettings } from '@/typings.ts'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { MetadataBrowseSettings } from '@/modules/browse/Browse.types.ts'; +import { ServerSettings as GqlServerSettings } from '@/modules/settings/Settings.types.ts'; type ExtensionsSettings = Pick; diff --git a/src/modules/category/components/CategorySelect.tsx b/src/modules/category/components/CategorySelect.tsx index f141477b..8cb664fb 100644 --- a/src/modules/category/components/CategorySelect.tsx +++ b/src/modules/category/components/CategorySelect.tsx @@ -24,7 +24,7 @@ import { Categories } from '@/modules/category/services/Categories.ts'; import { CheckboxInput } from '@/modules/core/components/inputs/CheckboxInput.tsx'; import { makeToast } from '@/lib/ui/Toast.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { updateMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { updateMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { GetCategoriesBaseQuery, GetCategoriesBaseQueryVariables, diff --git a/src/modules/chapter/components/actions/ChapterActionMenuItems.tsx b/src/modules/chapter/components/actions/ChapterActionMenuItems.tsx index 57135a5d..e2c91a68 100644 --- a/src/modules/chapter/components/actions/ChapterActionMenuItems.tsx +++ b/src/modules/chapter/components/actions/ChapterActionMenuItems.tsx @@ -38,7 +38,7 @@ import { createShouldShowMenuItem, } from '@/modules/core/components/menu/Menu.utils.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; type BaseProps = { onClose: () => void }; diff --git a/src/modules/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx b/src/modules/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx index c54cac48..f6bc4ec5 100644 --- a/src/modules/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx +++ b/src/modules/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx @@ -8,7 +8,7 @@ import MenuItem from '@mui/material/MenuItem'; import { useTranslation } from 'react-i18next'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; diff --git a/src/modules/chapter/services/Chapters.ts b/src/modules/chapter/services/Chapters.ts index ea8cb1e4..012379c6 100644 --- a/src/modules/chapter/services/Chapters.ts +++ b/src/modules/chapter/services/Chapters.ts @@ -11,7 +11,7 @@ import gql from 'graphql-tag'; import { DocumentNode } from '@apollo/client'; import { makeToast } from '@/lib/ui/Toast.ts'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; -import { getMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { getMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { ChapterListFieldsFragment, ChapterType, diff --git a/src/modules/core/contexts/AppContext.tsx b/src/modules/core/contexts/AppContext.tsx index d858cd23..e6b17cd5 100644 --- a/src/modules/core/contexts/AppContext.tsx +++ b/src/modules/core/contexts/AppContext.tsx @@ -25,7 +25,7 @@ import { LibraryOptionsContextProvider } from '@/modules/library/contexts/Librar import { ActiveDeviceContextProvider } from '@/modules/device/contexts/DeviceContext.tsx'; import { MediaQuery } from '@/lib/ui/MediaQuery.tsx'; import { AppThemes, getTheme } from '@/modules/theme/services/AppThemes.ts'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; interface Props { children: React.ReactNode; diff --git a/src/modules/device/screens/DeviceSetting.tsx b/src/modules/device/screens/DeviceSetting.tsx index 9eafc913..f51388e1 100644 --- a/src/modules/device/screens/DeviceSetting.tsx +++ b/src/modules/device/screens/DeviceSetting.tsx @@ -12,8 +12,10 @@ import ListItemText from '@mui/material/ListItemText'; import MenuItem from '@mui/material/MenuItem'; import { useTranslation } from 'react-i18next'; import { useContext, useLayoutEffect } from 'react'; -import { updateMetadataServerSettings, useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; -import { MetadataServerSettingKeys, MetadataServerSettings } from '@/typings.ts'; +import { + updateMetadataServerSettings, + useMetadataServerSettings, +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { MutableListSetting } from '@/modules/core/components/settings/MutableListSetting.tsx'; import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; @@ -23,6 +25,7 @@ import { LoadingPlaceholder } from '@/modules/core/components/placeholder/Loadin import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { DEFAULT_DEVICE } from '@/modules/device/services/Device.ts'; +import { MetadataServerSettingKeys, MetadataServerSettings } from '@/modules/settings/Settings.types.ts'; export const DeviceSetting = () => { const { t } = useTranslation(); diff --git a/src/modules/downloads/components/DownloadAheadSetting.tsx b/src/modules/downloads/components/DownloadAheadSetting.tsx index b262f942..64c549b6 100644 --- a/src/modules/downloads/components/DownloadAheadSetting.tsx +++ b/src/modules/downloads/components/DownloadAheadSetting.tsx @@ -13,10 +13,10 @@ import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { getPersistedServerSetting, usePersistedValue } from '@/modules/core/hooks/usePersistedValue.tsx'; -import { updateMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; -import { MetadataServerSettings } from '@/typings.ts'; +import { updateMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { MetadataDownloadSettings } from '@/modules/downloads/Downloads.types.ts'; +import { MetadataServerSettings } from '@/modules/settings/Settings.types.ts'; const MIN_LIMIT = 2; const MAX_LIMIT = 10; diff --git a/src/modules/downloads/screens/DownloadSettings.tsx b/src/modules/downloads/screens/DownloadSettings.tsx index cc96edc8..3055f3a4 100644 --- a/src/modules/downloads/screens/DownloadSettings.tsx +++ b/src/modules/downloads/screens/DownloadSettings.tsx @@ -15,13 +15,12 @@ import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; -import { ServerSettings } from '@/typings.ts'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { DownloadAheadSetting } from '@/modules/downloads/components/DownloadAheadSetting.tsx'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { DeleteChaptersWhileReadingSetting } from '@/modules/downloads/components/DeleteChaptersWhileReadingSetting.tsx'; import { CategoriesInclusionSetting } from '@/modules/category/components/CategoriesInclusionSetting.tsx'; @@ -32,6 +31,7 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { GetCategoriesSettingsQuery, GetCategoriesSettingsQueryVariables } from '@/lib/graphql/generated/graphql.ts'; import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts'; import { MetadataDownloadSettings } from '@/modules/downloads/Downloads.types.ts'; +import { ServerSettings } from '@/modules/settings/Settings.types.ts'; type DownloadSettingsType = Pick< ServerSettings, diff --git a/src/modules/library/components/LibraryOptionsPanel.tsx b/src/modules/library/components/LibraryOptionsPanel.tsx index 0f8d4306..74dbbc87 100644 --- a/src/modules/library/components/LibraryOptionsPanel.tsx +++ b/src/modules/library/components/LibraryOptionsPanel.tsx @@ -26,7 +26,7 @@ import { makeToast } from '@/lib/ui/Toast.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { TranslationKey } from '@/Base.types.ts'; import { LibrarySortMode } from '@/modules/library/Library.types.ts'; import { CategoryMetadataInfo } from '@/modules/category/Category.types.ts'; diff --git a/src/modules/library/hooks/useGetVisibleLibraryMangas.ts b/src/modules/library/hooks/useGetVisibleLibraryMangas.ts index f6284e6b..eb87a092 100644 --- a/src/modules/library/hooks/useGetVisibleLibraryMangas.ts +++ b/src/modules/library/hooks/useGetVisibleLibraryMangas.ts @@ -8,7 +8,7 @@ import { StringParam, useQueryParam } from 'use-query-params'; import { useMemo } from 'react'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +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 '@/lib/data/Strings.ts'; diff --git a/src/modules/library/screens/Library.tsx b/src/modules/library/screens/Library.tsx index 846ce304..55455c22 100644 --- a/src/modules/library/screens/Library.tsx +++ b/src/modules/library/screens/Library.tsx @@ -39,7 +39,7 @@ import { GET_CATEGORIES_LIBRARY } from '@/lib/graphql/queries/CategoryQuery.ts'; import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { MANGA_CHAPTER_STAT_FIELDS } from '@/lib/graphql/fragments/MangaFragments.ts'; import { useLibraryOptionsContext } from '@/modules/library/contexts/LibraryOptionsContext.tsx'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { getCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; const TitleWithSizeTag = styled('span')({ diff --git a/src/modules/library/screens/LibrarySettings.tsx b/src/modules/library/screens/LibrarySettings.tsx index 7b43002e..407d82a8 100644 --- a/src/modules/library/screens/LibrarySettings.tsx +++ b/src/modules/library/screens/LibrarySettings.tsx @@ -16,12 +16,12 @@ import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; import { t as translate } from 'i18next'; import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; -import { GlobalUpdateSettings } from '@/components/settings/globalUpdate/GlobalUpdateSettings.tsx'; +import { GlobalUpdateSettings } from '@/modules/settings/components/globalUpdate/GlobalUpdateSettings.tsx'; import { makeToast } from '@/lib/ui/Toast.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; diff --git a/src/modules/manga/components/MangaDetails.tsx b/src/modules/manga/components/MangaDetails.tsx index ab5adc9c..e07889f1 100644 --- a/src/modules/manga/components/MangaDetails.tsx +++ b/src/modules/manga/components/MangaDetails.tsx @@ -42,7 +42,7 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { MangaType, SourceType } from '@/lib/graphql/generated/graphql.ts'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { useResizeObserver } from '@/modules/core/hooks/useResizeObserver.tsx'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { shouldForwardProp } from '@/modules/core/utils/ShouldForwardProp.ts'; const DetailsWrapper = styled('div')(({ theme }) => ({ diff --git a/src/modules/manga/hooks/useManageMangaLibraryState.tsx b/src/modules/manga/hooks/useManageMangaLibraryState.tsx index e828c876..de23e560 100644 --- a/src/modules/manga/hooks/useManageMangaLibraryState.tsx +++ b/src/modules/manga/hooks/useManageMangaLibraryState.tsx @@ -13,7 +13,7 @@ import gql from 'graphql-tag'; import { useCategorySelect } from '@/modules/category/hooks/useCategorySelect.tsx'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; -import { getMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { getMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { Categories } from '@/modules/category/services/Categories.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { Mangas } from '@/modules/manga/services/Mangas.ts'; diff --git a/src/modules/manga/services/Mangas.ts b/src/modules/manga/services/Mangas.ts index 72704cbe..b4c4106c 100644 --- a/src/modules/manga/services/Mangas.ts +++ b/src/modules/manga/services/Mangas.ts @@ -25,7 +25,7 @@ import { } from '@/lib/graphql/generated/graphql.ts'; import { Chapters } from '@/modules/chapter/services/Chapters.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; -import { getMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.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'; diff --git a/src/modules/migration/components/MigrateDialog.tsx b/src/modules/migration/components/MigrateDialog.tsx index f281e4d8..515c5eaf 100644 --- a/src/modules/migration/components/MigrateDialog.tsx +++ b/src/modules/migration/components/MigrateDialog.tsx @@ -22,7 +22,7 @@ import { makeToast } from '@/lib/ui/Toast.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; diff --git a/src/modules/migration/screens/Migration.tsx b/src/modules/migration/screens/Migration.tsx index dee1d2b7..735dd90c 100644 --- a/src/modules/migration/screens/Migration.tsx +++ b/src/modules/migration/screens/Migration.tsx @@ -27,7 +27,7 @@ import { sortByToTranslationKey, sortOrderToTranslationKey } from '@/modules/mig import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; diff --git a/src/modules/reader/screens/Reader.tsx b/src/modules/reader/screens/Reader.tsx index 1303df20..4c6e171d 100644 --- a/src/modules/reader/screens/Reader.tsx +++ b/src/modules/reader/screens/Reader.tsx @@ -34,7 +34,7 @@ import { GetMangaReaderQuery, UpdateChapterPatchInput, } from '@/lib/graphql/generated/graphql.ts'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { ChapterIdInfo, Chapters } from '@/modules/chapter/services/Chapters.ts'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; diff --git a/src/modules/settings/Settings.constants.ts b/src/modules/settings/Settings.constants.ts new file mode 100644 index 00000000..3c601c6c --- /dev/null +++ b/src/modules/settings/Settings.constants.ts @@ -0,0 +1,50 @@ +/* + * Copyright (C) Contributors to the Suwayomi project + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +import { DEFAULT_DEVICE } from '@/modules/device/services/Device.ts'; +import { DEFAULT_SORT_SETTINGS } from '@/modules/migration/Migration.constants.ts'; +import { MetadataServerSettings } from '@/modules/settings/Settings.types.ts'; + +export const SERVER_SETTINGS_METADATA_DEFAULT: MetadataServerSettings = { + // downloads + deleteChaptersManuallyMarkedRead: false, + deleteChaptersWhileReading: 0, + deleteChaptersWithBookmark: false, + downloadAheadLimit: 0, + + // library + showAddToLibraryCategorySelectDialog: true, + ignoreFilters: false, + removeMangaFromCategories: false, + showTabSize: false, + + // client + devices: [DEFAULT_DEVICE], + + // migration + migrateChapters: true, + migrateCategories: true, + migrateTracking: true, + deleteChapters: true, + migrateSortSettings: DEFAULT_SORT_SETTINGS, + + // browse + hideLibraryEntries: false, + + // tracking + updateProgressAfterReading: true, + updateProgressManualMarkRead: false, + + // updates + webUIInformAvailableUpdate: true, + serverInformAvailableUpdate: true, + + // themes + customThemes: {}, + mangaThumbnailBackdrop: true, +}; diff --git a/src/modules/settings/Settings.types.ts b/src/modules/settings/Settings.types.ts new file mode 100644 index 00000000..dabefe16 --- /dev/null +++ b/src/modules/settings/Settings.types.ts @@ -0,0 +1,36 @@ +/* + * Copyright (C) Contributors to the Suwayomi project + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +import { MetadataDownloadSettings } from '@/modules/downloads/Downloads.types.ts'; +import { MetadataLibrarySettings } from '@/modules/library/Library.types.ts'; +import { MetadataClientSettings } from '@/modules/device/Device.types.ts'; +import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; +import { MetadataBrowseSettings } from '@/modules/browse/Browse.types.ts'; +import { MetadataTrackingSettings } from '@/modules/tracker/Tracker.types.ts'; +import { MetadataUpdateSettings } from '@/modules/app-updates/AppUpdateChecker.types.ts'; +import { MetadataThemeSettings } from '@/modules/theme/AppTheme.types.ts'; +import { GetServerSettingsQuery } from '@/lib/graphql/generated/graphql.ts'; + +export type MetadataServerSettingKeys = keyof MetadataServerSettings; + +export type SearchMetadataKeys = keyof ISearchSettings; + +export type MetadataServerSettings = MetadataDownloadSettings & + MetadataLibrarySettings & + MetadataClientSettings & + MetadataMigrationSettings & + MetadataBrowseSettings & + MetadataTrackingSettings & + MetadataUpdateSettings & + MetadataThemeSettings; + +export interface ISearchSettings { + ignoreFilters: boolean; +} + +export type ServerSettings = GetServerSettingsQuery['settings']; diff --git a/src/components/settings/globalUpdate/GlobalUpdateSettings.tsx b/src/modules/settings/components/globalUpdate/GlobalUpdateSettings.tsx similarity index 89% rename from src/components/settings/globalUpdate/GlobalUpdateSettings.tsx rename to src/modules/settings/components/globalUpdate/GlobalUpdateSettings.tsx index 5c5b6f86..05b96a7c 100644 --- a/src/components/settings/globalUpdate/GlobalUpdateSettings.tsx +++ b/src/modules/settings/components/globalUpdate/GlobalUpdateSettings.tsx @@ -16,11 +16,11 @@ import { CategoriesInclusionSetting, CategoriesInclusionSettingProps, } from '@/modules/category/components/CategoriesInclusionSetting.tsx'; -import { GlobalUpdateSettingsEntries } from '@/components/settings/globalUpdate/GlobalUpdateSettingsEntries.tsx'; -import { GlobalUpdateSettingsInterval } from '@/components/settings/globalUpdate/GlobalUpdateSettingsInterval.tsx'; +import { GlobalUpdateSettingsEntries } from '@/modules/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx'; +import { GlobalUpdateSettingsInterval } from '@/modules/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; -import { ServerSettings } from '@/typings.ts'; +import { ServerSettings } from '@/modules/settings/Settings.types.ts'; type LibrarySettingsType = Pick; diff --git a/src/components/settings/globalUpdate/GlobalUpdateSettingsEntries.tsx b/src/modules/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx similarity index 98% rename from src/components/settings/globalUpdate/GlobalUpdateSettingsEntries.tsx rename to src/modules/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx index c4009944..061db750 100644 --- a/src/components/settings/globalUpdate/GlobalUpdateSettingsEntries.tsx +++ b/src/modules/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx @@ -16,12 +16,12 @@ import Dialog from '@mui/material/Dialog'; import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import DialogTitle from '@mui/material/DialogTitle'; -import { ServerSettings } from '@/typings.ts'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { CheckboxContainer } from '@/modules/core/components/inputs/CheckboxContainer.ts'; import { CheckboxInput } from '@/modules/core/components/inputs/CheckboxInput.tsx'; import { TranslationKey } from '@/Base.types.ts'; +import { ServerSettings } from '@/modules/settings/Settings.types.ts'; type GlobalUpdateSkipEntriesSettings = Pick< ServerSettings, diff --git a/src/components/settings/globalUpdate/GlobalUpdateSettingsInterval.tsx b/src/modules/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx similarity index 97% rename from src/components/settings/globalUpdate/GlobalUpdateSettingsInterval.tsx rename to src/modules/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx index 4f26d3cd..6dfe0d4a 100644 --- a/src/components/settings/globalUpdate/GlobalUpdateSettingsInterval.tsx +++ b/src/modules/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx @@ -15,7 +15,8 @@ import { useCallback } from 'react'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { getPersistedServerSetting, usePersistedValue } from '@/modules/core/hooks/usePersistedValue.tsx'; -import { ServerSettings } from '@/typings.ts'; + +import { ServerSettings } from '@/modules/settings/Settings.types.ts'; const DEFAULT_INTERVAL_HOURS = 12; const MIN_INTERVAL_HOURS = 6; diff --git a/src/components/settings/webUI/WebUIUpdateIntervalSetting.tsx b/src/modules/settings/components/webUI/WebUIUpdateIntervalSetting.tsx similarity index 96% rename from src/components/settings/webUI/WebUIUpdateIntervalSetting.tsx rename to src/modules/settings/components/webUI/WebUIUpdateIntervalSetting.tsx index 05d9f187..b3b8b060 100644 --- a/src/components/settings/webUI/WebUIUpdateIntervalSetting.tsx +++ b/src/modules/settings/components/webUI/WebUIUpdateIntervalSetting.tsx @@ -15,8 +15,8 @@ import { useCallback } from 'react'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { getPersistedServerSetting, usePersistedValue } from '@/modules/core/hooks/usePersistedValue.tsx'; -import { ServerSettings } from '@/typings.ts'; -import { makeToast } from '@/lib/ui/Toast.ts'; +import { makeToast } from '@/modules/core/utils/Toast.ts'; +import { ServerSettings } from '@/modules/settings/Settings.types.ts'; const DEFAULT_VALUE = 23; const MIN_VALUE = 1; diff --git a/src/screens/settings/About.tsx b/src/modules/settings/screens/About.tsx similarity index 100% rename from src/screens/settings/About.tsx rename to src/modules/settings/screens/About.tsx diff --git a/src/screens/settings/Appearance.tsx b/src/modules/settings/screens/Appearance.tsx similarity index 99% rename from src/screens/settings/Appearance.tsx rename to src/modules/settings/screens/Appearance.tsx index 738cfb5d..a58fe488 100644 --- a/src/screens/settings/Appearance.tsx +++ b/src/modules/settings/screens/Appearance.tsx @@ -28,7 +28,7 @@ import { ThemeList } from '@/modules/theme/components/ThemeList.tsx'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; diff --git a/src/screens/settings/ServerSettings.tsx b/src/modules/settings/screens/ServerSettings.tsx similarity index 99% rename from src/screens/settings/ServerSettings.tsx rename to src/modules/settings/screens/ServerSettings.tsx index 12f4857c..4fbb2f41 100644 --- a/src/screens/settings/ServerSettings.tsx +++ b/src/modules/settings/screens/ServerSettings.tsx @@ -19,7 +19,6 @@ import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.t import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; -import { ServerSettings as GqlServerSettings } from '@/typings.ts'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { SelectSetting } from '@/modules/core/components/settings/SelectSetting.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; @@ -28,9 +27,10 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { MetadataUpdateSettings } from '@/modules/app-updates/AppUpdateChecker.types.ts'; +import { ServerSettings as GqlServerSettings } from '@/modules/settings/Settings.types.ts'; type ServerSettingsType = Pick< GqlServerSettings, diff --git a/src/screens/Settings.tsx b/src/modules/settings/screens/Settings.tsx similarity index 100% rename from src/screens/Settings.tsx rename to src/modules/settings/screens/Settings.tsx diff --git a/src/screens/settings/WebUISettings.tsx b/src/modules/settings/screens/WebUISettings.tsx similarity index 97% rename from src/screens/settings/WebUISettings.tsx rename to src/modules/settings/screens/WebUISettings.tsx index d338b591..7ac4aa21 100644 --- a/src/screens/settings/WebUISettings.tsx +++ b/src/modules/settings/screens/WebUISettings.tsx @@ -13,9 +13,8 @@ import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; -import { ServerSettings } from '@/typings.ts'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; -import { WebUIUpdateIntervalSetting } from '@/components/settings/webUI/WebUIUpdateIntervalSetting.tsx'; +import { WebUIUpdateIntervalSetting } from '@/modules/settings/components/webUI/WebUIUpdateIntervalSetting.tsx'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; import { SelectSetting, @@ -29,9 +28,10 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { MetadataUpdateSettings } from '@/modules/app-updates/AppUpdateChecker.types.ts'; +import { ServerSettings } from '@/modules/settings/Settings.types.ts'; type WebUISettingsType = Pick< ServerSettings, diff --git a/src/lib/metadata/metadataServerSettings.ts b/src/modules/settings/services/ServerSettingsMetadata.ts similarity index 69% rename from src/lib/metadata/metadataServerSettings.ts rename to src/modules/settings/services/ServerSettingsMetadata.ts index 8558b773..49d97d28 100644 --- a/src/lib/metadata/metadataServerSettings.ts +++ b/src/modules/settings/services/ServerSettingsMetadata.ts @@ -6,60 +6,15 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { - AllowedMetadataValueTypes, - AppMetadataKeys, - Metadata, - MetadataServerSettingKeys, - MetadataServerSettings, -} from '@/typings.ts'; +import { AllowedMetadataValueTypes, AppMetadataKeys, Metadata } from '@/typings.ts'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { convertFromGqlMeta, getMetadataFrom, requestUpdateServerMetadata } from '@/lib/metadata/metadata.ts'; import { jsonSaveParse } from '@/lib/HelperFunctions.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { DEFAULT_SORT_SETTINGS } from '@/modules/migration/Migration.constants.ts'; import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; import { MetadataThemeSettings } from '@/modules/theme/AppTheme.types.ts'; -import { DEFAULT_DEVICE } from '@/modules/device/services/Device.ts'; - -export const getDefaultSettings = (): MetadataServerSettings => ({ - // downloads - deleteChaptersManuallyMarkedRead: false, - deleteChaptersWhileReading: 0, - deleteChaptersWithBookmark: false, - downloadAheadLimit: 0, - - // library - showAddToLibraryCategorySelectDialog: true, - ignoreFilters: false, - removeMangaFromCategories: false, - showTabSize: false, - - // client - devices: [DEFAULT_DEVICE], - - // migration - migrateChapters: true, - migrateCategories: true, - migrateTracking: true, - deleteChapters: true, - migrateSortSettings: DEFAULT_SORT_SETTINGS, - - // browse - hideLibraryEntries: false, - - // tracking - updateProgressAfterReading: true, - updateProgressManualMarkRead: false, - - // updates - webUIInformAvailableUpdate: true, - serverInformAvailableUpdate: true, - - // themes - customThemes: {}, - mangaThumbnailBackdrop: true, -}); +import { SERVER_SETTINGS_METADATA_DEFAULT } from '@/modules/settings/Settings.constants.ts'; +import { MetadataServerSettingKeys, MetadataServerSettings } from '@/modules/settings/Settings.types.ts'; export const convertSettingsToMetadata = ( settings: Partial, @@ -74,21 +29,22 @@ export const convertMetadataToSettings = ( metadata: Partial>, ): MetadataServerSettings => ({ - ...getDefaultSettings(), + ...SERVER_SETTINGS_METADATA_DEFAULT, ...(metadata as unknown as MetadataServerSettings), - devices: jsonSaveParse((metadata.devices as string) ?? '') ?? getDefaultSettings().devices, + devices: + jsonSaveParse((metadata.devices as string) ?? '') ?? SERVER_SETTINGS_METADATA_DEFAULT.devices, customThemes: jsonSaveParse((metadata.customThemes as string) ?? '') ?? - getDefaultSettings().customThemes, + SERVER_SETTINGS_METADATA_DEFAULT.customThemes, migrateSortSettings: jsonSaveParse( (metadata.migrateSortSettings as string) ?? '', - ) ?? getDefaultSettings().migrateSortSettings, + ) ?? SERVER_SETTINGS_METADATA_DEFAULT.migrateSortSettings, }) satisfies MetadataServerSettings; const getMetadataServerSettingsWithDefaultFallback = ( meta?: Metadata, - defaultSettings: MetadataServerSettings = getDefaultSettings(), + defaultSettings: MetadataServerSettings = SERVER_SETTINGS_METADATA_DEFAULT, applyMetadataMigration: boolean = true, ): MetadataServerSettings => convertMetadataToSettings( diff --git a/src/modules/source/screens/SourceMangas.tsx b/src/modules/source/screens/SourceMangas.tsx index 1cee372c..5d7b861f 100644 --- a/src/modules/source/screens/SourceMangas.tsx +++ b/src/modules/source/screens/SourceMangas.tsx @@ -37,7 +37,7 @@ import { GetSourceMangasFetchMutationVariables, } from '@/lib/graphql/generated/graphql.ts'; import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; -import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings.ts'; +import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { useLocalStorage, useSessionStorage } from '@/modules/core/hooks/useStorage.tsx'; import { AppStorage } from '@/lib/AppStorage.ts'; import { getGridSnapshotKey } from '@/modules/manga/components/MangaGrid.tsx'; diff --git a/src/modules/theme/components/CreateThemeDialog.tsx b/src/modules/theme/components/CreateThemeDialog.tsx index b87287de..a87f1822 100644 --- a/src/modules/theme/components/CreateThemeDialog.tsx +++ b/src/modules/theme/components/CreateThemeDialog.tsx @@ -24,7 +24,7 @@ import { AppTheme, isThemeNameUnique } from '@/modules/theme/services/AppThemes. import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { EmptyView } from '@/modules/core/components/placeholder/EmptyView.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; diff --git a/src/modules/theme/components/ThemeList.tsx b/src/modules/theme/components/ThemeList.tsx index 695a1dc2..d04dda4c 100644 --- a/src/modules/theme/components/ThemeList.tsx +++ b/src/modules/theme/components/ThemeList.tsx @@ -13,7 +13,7 @@ import { appThemes } from '@/modules/theme/services/AppThemes.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { EmptyView } from '@/modules/core/components/placeholder/EmptyView.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; diff --git a/src/modules/tracker/screens/TrackingSettings.tsx b/src/modules/tracker/screens/TrackingSettings.tsx index bb60281f..e30d8061 100644 --- a/src/modules/tracker/screens/TrackingSettings.tsx +++ b/src/modules/tracker/screens/TrackingSettings.tsx @@ -22,7 +22,7 @@ import { SettingsTrackerCard } from '@/modules/tracker/components/cards/Settings import { createUpdateMetadataServerSettings, useMetadataServerSettings, -} from '@/lib/metadata/metadataServerSettings.ts'; +} from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/queries/TrackerQuery.ts'; diff --git a/src/typings.ts b/src/typings.ts index cab09432..93e5b301 100644 --- a/src/typings.ts +++ b/src/typings.ts @@ -6,18 +6,11 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { GetServerSettingsQuery, MetaType } from '@/lib/graphql/generated/graphql.ts'; -import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; +import { MetaType } from '@/lib/graphql/generated/graphql.ts'; import { MangaMetadataKeys } from '@/modules/manga/MangaCard.types.tsx'; -import { MetadataLibrarySettings } from '@/modules/library/Library.types.ts'; import { SourceMetadataKeys } from '@/modules/source/Source.types.ts'; -import { MetadataTrackingSettings } from '@/modules/tracker/Tracker.types.ts'; import { CategoryMetadataKeys } from '@/modules/category/Category.types.ts'; -import { MetadataUpdateSettings } from '@/modules/app-updates/AppUpdateChecker.types.ts'; -import { MetadataThemeSettings } from '@/modules/theme/AppTheme.types.ts'; -import { MetadataClientSettings } from '@/modules/device/Device.types.ts'; -import { MetadataBrowseSettings } from '@/modules/browse/Browse.types.ts'; -import { MetadataDownloadSettings } from '@/modules/downloads/Downloads.types.ts'; +import { MetadataServerSettingKeys, SearchMetadataKeys } from '@/modules/settings/Settings.types.ts'; export interface IMetadataMigration { appKeyPrefix?: { oldPrefix: string; newPrefix: string }; @@ -45,10 +38,6 @@ export type MetadataHolder = { export type AllowedMetadataValueTypes = string | boolean | number | undefined | null; -export type MetadataServerSettingKeys = keyof MetadataServerSettings; - -export type SearchMetadataKeys = keyof ISearchSettings; - export type AppMetadataKeys = | MetadataServerSettingKeys | MangaMetadataKeys @@ -57,18 +46,3 @@ export type AppMetadataKeys = | CategoryMetadataKeys; export type MetadataKeyValuePair = [AppMetadataKeys, AllowedMetadataValueTypes]; - -export type MetadataServerSettings = MetadataDownloadSettings & - MetadataLibrarySettings & - MetadataClientSettings & - MetadataMigrationSettings & - MetadataBrowseSettings & - MetadataTrackingSettings & - MetadataUpdateSettings & - MetadataThemeSettings; - -export interface ISearchSettings { - ignoreFilters: boolean; -} - -export type ServerSettings = GetServerSettingsQuery['settings'];