From 946c852828779619bb1baa90c5313ca928748202 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sat, 5 Oct 2024 21:39:58 +0200 Subject: [PATCH] Move category files into new folder --- src/App.tsx | 7 +- .../globalUpdate/GlobalUpdateSettings.tsx | 2 +- src/lib/metadata/metadata.ts | 2 +- src/modules/category/Category.types.ts | 21 +++++ .../CategoriesInclusionSetting.tsx | 2 +- .../category/components}/CategorySelect.tsx | 2 +- .../components/CategorySettingsCard.tsx | 74 +++++++++++++++++ .../category/hooks}/useCategorySelect.tsx | 2 +- .../category/screens/CategorySettings.tsx} | 81 +++---------------- .../category/services}/Categories.ts | 9 +-- .../category/services/CategoryMetadata.ts} | 11 +-- src/modules/core/components/UpdateChecker.tsx | 3 +- .../components/LibraryOptionsPanel.tsx | 4 +- .../contexts/LibraryOptionsContext.tsx | 2 +- .../contexts/LibraryOptionsProvider.tsx | 2 +- .../hooks/useGetVisibleLibraryMangas.ts | 4 +- src/modules/library/screens/Library.tsx | 2 +- .../manga/components/MangaActionMenuItems.tsx | 2 +- .../manga/components/MangaToolbarMenu.tsx | 2 +- .../hooks/useManageMangaLibraryState.tsx | 4 +- src/screens/settings/DownloadSettings.tsx | 2 +- src/typings.ts | 7 +- 22 files changed, 133 insertions(+), 114 deletions(-) create mode 100644 src/modules/category/Category.types.ts rename src/{components/settings => modules/category/components}/CategoriesInclusionSetting.tsx (99%) rename src/{components/navbar/action => modules/category/components}/CategorySelect.tsx (99%) create mode 100644 src/modules/category/components/CategorySettingsCard.tsx rename src/{components/navbar/action => modules/category/hooks}/useCategorySelect.tsx (93%) rename src/{screens/settings/Categories.tsx => modules/category/screens/CategorySettings.tsx} (73%) rename src/{lib/data => modules/category/services}/Categories.ts (60%) rename src/{lib/metadata/categoryMetadata.ts => modules/category/services/CategoryMetadata.ts} (94%) diff --git a/src/App.tsx b/src/App.tsx index e35e061e..5e810641 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -31,7 +31,10 @@ const { SearchAll } = loadable(() => import('@/screens/SearchAll'), lazyLoadFall const { Settings } = loadable(() => import('@/screens/Settings'), lazyLoadFallback); const { About } = loadable(() => import('@/screens/settings/About'), lazyLoadFallback); const { Backup } = loadable(() => import('@/screens/settings/Backup'), lazyLoadFallback); -const { Categories } = loadable(() => import('@/screens/settings/Categories'), lazyLoadFallback); +const { CategorySettings } = loadable( + () => import('@/modules/category/screens/CategorySettings.tsx'), + lazyLoadFallback, +); const { DefaultReaderSettings } = loadable( () => import('@/modules/reader/screens/DefaultReaderSettings.tsx'), lazyLoadFallback, @@ -112,7 +115,7 @@ const MainApp = () => { } /> } /> - } /> + } /> } /> } /> diff --git a/src/components/settings/globalUpdate/GlobalUpdateSettings.tsx b/src/components/settings/globalUpdate/GlobalUpdateSettings.tsx index 6103e9b0..5c5b6f86 100644 --- a/src/components/settings/globalUpdate/GlobalUpdateSettings.tsx +++ b/src/components/settings/globalUpdate/GlobalUpdateSettings.tsx @@ -15,7 +15,7 @@ import Switch from '@mui/material/Switch'; import { CategoriesInclusionSetting, CategoriesInclusionSettingProps, -} from '@/components/settings/CategoriesInclusionSetting.tsx'; +} from '@/modules/category/components/CategoriesInclusionSetting.tsx'; import { GlobalUpdateSettingsEntries } from '@/components/settings/globalUpdate/GlobalUpdateSettingsEntries.tsx'; import { GlobalUpdateSettingsInterval } from '@/components/settings/globalUpdate/GlobalUpdateSettingsInterval.tsx'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; diff --git a/src/lib/metadata/metadata.ts b/src/lib/metadata/metadata.ts index 1b2e487c..c068d0e9 100644 --- a/src/lib/metadata/metadata.ts +++ b/src/lib/metadata/metadata.ts @@ -18,9 +18,9 @@ import { import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { MetaType, SourceType } from '@/lib/graphql/generated/graphql.ts'; import { DEFAULT_DEVICE, getActiveDevice } from '@/util/device.ts'; -import { CategoryIdInfo } from '@/lib/data/Categories.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'; const APP_METADATA_KEY_PREFIX = 'webUI_'; diff --git a/src/modules/category/Category.types.ts b/src/modules/category/Category.types.ts new file mode 100644 index 00000000..1e17f450 --- /dev/null +++ b/src/modules/category/Category.types.ts @@ -0,0 +1,21 @@ +/* + * 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 { LibraryOptions } from '@/modules/library/Library.types.ts'; +import { CategoryMetaType, CategoryType } from '@/lib/graphql/generated/graphql.ts'; + +export interface ICategoryMetadata extends LibraryOptions {} + +export type CategoryMetadataKeys = keyof ICategoryMetadata; + +export type CategoryIdInfo = Pick; +export type CategoryNameInfo = Pick; +export type CategoryDefaultInfo = Pick; +export type CategoryUpdateInclusionInfo = Pick; +export type CategoryDownloadInclusionInfo = Pick; +export type CategoryMetadataInfo = CategoryIdInfo & { meta: Pick[] }; diff --git a/src/components/settings/CategoriesInclusionSetting.tsx b/src/modules/category/components/CategoriesInclusionSetting.tsx similarity index 99% rename from src/components/settings/CategoriesInclusionSetting.tsx rename to src/modules/category/components/CategoriesInclusionSetting.tsx index da176c0a..49a734df 100644 --- a/src/components/settings/CategoriesInclusionSetting.tsx +++ b/src/modules/category/components/CategoriesInclusionSetting.tsx @@ -27,7 +27,7 @@ import { CategoryIdInfo, CategoryNameInfo, CategoryUpdateInclusionInfo, -} from '@/lib/data/Categories.ts'; +} from '@/modules/category/Category.types.ts'; type CategoryType = CategoryIdInfo & CategoryNameInfo & CategoryUpdateInclusionInfo & CategoryDownloadInclusionInfo; diff --git a/src/components/navbar/action/CategorySelect.tsx b/src/modules/category/components/CategorySelect.tsx similarity index 99% rename from src/components/navbar/action/CategorySelect.tsx rename to src/modules/category/components/CategorySelect.tsx index 3a86e692..f141477b 100644 --- a/src/components/navbar/action/CategorySelect.tsx +++ b/src/modules/category/components/CategorySelect.tsx @@ -20,7 +20,7 @@ import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { useSelectableCollection } from '@/modules/collection/hooks/useSelectableCollection.ts'; import { ThreeStateCheckboxInput } from '@/modules/core/components/inputs/ThreeStateCheckboxInput.tsx'; -import { Categories } from '@/lib/data/Categories.ts'; +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'; diff --git a/src/modules/category/components/CategorySettingsCard.tsx b/src/modules/category/components/CategorySettingsCard.tsx new file mode 100644 index 00000000..e8caaef6 --- /dev/null +++ b/src/modules/category/components/CategorySettingsCard.tsx @@ -0,0 +1,74 @@ +/* + * 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 IconButton from '@mui/material/IconButton'; +import Tooltip from '@mui/material/Tooltip'; +import { DraggableProvided } from 'react-beautiful-dnd'; +import DragHandleIcon from '@mui/icons-material/DragHandle'; +import EditIcon from '@mui/icons-material/Edit'; +import DeleteIcon from '@mui/icons-material/Delete'; +import { useTranslation } from 'react-i18next'; +import Box from '@mui/material/Box'; +import Card from '@mui/material/Card'; +import CardContent from '@mui/material/CardContent'; +import Stack from '@mui/material/Stack'; +import Typography from '@mui/material/Typography'; +import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; +import { CategoryType } from '@/lib/graphql/generated/graphql.ts'; + +export const CategorySettingsCard = ({ + category, + provided, + onEdit, +}: { + category: Pick; + provided: DraggableProvided; + onEdit: () => void; +}) => { + const { t } = useTranslation(); + + const deleteCategory = () => { + requestManager.deleteCategory(category.id); + }; + + return ( + + + + + + {category.name} + + + + + + + + + + + + + + + + + ); +}; diff --git a/src/components/navbar/action/useCategorySelect.tsx b/src/modules/category/hooks/useCategorySelect.tsx similarity index 93% rename from src/components/navbar/action/useCategorySelect.tsx rename to src/modules/category/hooks/useCategorySelect.tsx index 8473a0bc..f80ce1d6 100644 --- a/src/components/navbar/action/useCategorySelect.tsx +++ b/src/modules/category/hooks/useCategorySelect.tsx @@ -7,7 +7,7 @@ */ import { useMemo, useState } from 'react'; -import { CategorySelect, CategorySelectProps } from '@/components/navbar/action/CategorySelect.tsx'; +import { CategorySelect, CategorySelectProps } from '@/modules/category/components/CategorySelect.tsx'; export const useCategorySelect = ({ mangaId, diff --git a/src/screens/settings/Categories.tsx b/src/modules/category/screens/CategorySettings.tsx similarity index 73% rename from src/screens/settings/Categories.tsx rename to src/modules/category/screens/CategorySettings.tsx index ebd0a960..0cd00ce6 100644 --- a/src/screens/settings/Categories.tsx +++ b/src/modules/category/screens/CategorySettings.tsx @@ -6,16 +6,11 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useMemo, useState, useContext, useLayoutEffect } from 'react'; -import IconButton from '@mui/material/IconButton'; -import Tooltip from '@mui/material/Tooltip'; -import { DragDropContext, Draggable, DraggableProvided, DropResult } from 'react-beautiful-dnd'; -import DragHandleIcon from '@mui/icons-material/DragHandle'; -import EditIcon from '@mui/icons-material/Edit'; +import { useContext, useLayoutEffect, useMemo, useState } from 'react'; +import { DragDropContext, Draggable, DropResult } from 'react-beautiful-dnd'; import { useTheme } from '@mui/material/styles'; import Fab from '@mui/material/Fab'; import AddIcon from '@mui/icons-material/Add'; -import DeleteIcon from '@mui/icons-material/Delete'; import Button from '@mui/material/Button'; import TextField from '@mui/material/TextField'; import Dialog from '@mui/material/Dialog'; @@ -26,77 +21,19 @@ import Checkbox from '@mui/material/Checkbox'; import FormControlLabel from '@mui/material/FormControlLabel'; import { useTranslation } from 'react-i18next'; import Box from '@mui/material/Box'; -import Card from '@mui/material/Card'; -import CardContent from '@mui/material/CardContent'; -import Stack from '@mui/material/Stack'; -import Typography from '@mui/material/Typography'; import { requestManager } from '@/lib/requests/requests/RequestManager.ts'; import { StrictModeDroppable } from '@/modules/core/components/StrictModeDroppable.tsx'; import { DEFAULT_FULL_FAB_HEIGHT } from '@/modules/core/components/buttons/StyledFab.tsx'; -import { NavBarContext } from '@/components/context/NavbarContext'; +import { NavBarContext } from '@/components/context/NavbarContext.tsx'; 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 { - CategoryType, - GetCategoriesSettingsQuery, - GetCategoriesSettingsQueryVariables, -} from '@/lib/graphql/generated/graphql.ts'; +import { GetCategoriesSettingsQuery, GetCategoriesSettingsQueryVariables } from '@/lib/graphql/generated/graphql.ts'; import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts'; -import { CategoryIdInfo } from '@/lib/data/Categories.ts'; +import { CategorySettingsCard } from '@/modules/category/components/CategorySettingsCard.tsx'; +import { CategoryIdInfo } from '@/modules/category/Category.types.ts'; -const CategoryCard = ({ - category, - provided, - onEdit, -}: { - category: Pick; - provided: DraggableProvided; - onEdit: () => void; -}) => { - const { t } = useTranslation(); - - const deleteCategory = () => { - requestManager.deleteCategory(category.id); - }; - - return ( - - - - - - {category.name} - - - - - - - - - - - - - - - - - ); -}; -export function Categories() { +export function CategorySettings() { const { t } = useTranslation(); const { setTitle, setAction } = useContext(NavBarContext); @@ -188,7 +125,7 @@ export function Categories() { refetch().catch(defaultPromiseErrorHandler('Categories::refetch'))} + retry={() => refetch().catch(defaultPromiseErrorHandler('CategorySettings::refetch'))} /> ); } @@ -202,7 +139,7 @@ export function Categories() { {categories.map((category, index) => ( {(draggableProvided) => ( - handleEditDialogOpen(index)} diff --git a/src/lib/data/Categories.ts b/src/modules/category/services/Categories.ts similarity index 60% rename from src/lib/data/Categories.ts rename to src/modules/category/services/Categories.ts index 945f835e..f06fd65e 100644 --- a/src/lib/data/Categories.ts +++ b/src/modules/category/services/Categories.ts @@ -6,17 +6,10 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { CategoryMetaType, CategoryType } from '@/lib/graphql/generated/graphql.ts'; +import { CategoryDefaultInfo, CategoryIdInfo } from '@/modules/category/Category.types.ts'; export const DEFAULT_CATEGORY_ID = 0; -export type CategoryIdInfo = Pick; -export type CategoryNameInfo = Pick; -export type CategoryDefaultInfo = Pick; -export type CategoryUpdateInclusionInfo = Pick; -export type CategoryDownloadInclusionInfo = Pick; -export type CategoryMetadataInfo = CategoryIdInfo & { meta: Pick[] }; - export class Categories { static getIds(categories: CategoryIdInfo[]): number[] { return categories.map((category) => category.id); diff --git a/src/lib/metadata/categoryMetadata.ts b/src/modules/category/services/CategoryMetadata.ts similarity index 94% rename from src/lib/metadata/categoryMetadata.ts rename to src/modules/category/services/CategoryMetadata.ts index 1f4b9a43..750c3479 100644 --- a/src/lib/metadata/categoryMetadata.ts +++ b/src/modules/category/services/CategoryMetadata.ts @@ -6,20 +6,13 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { - AllowedMetadataValueTypes, - AppMetadataKeys, - CategoryMetadataKeys, - GqlMetaHolder, - ICategoryMetadata, - Metadata, -} from '@/typings.ts'; +import { AllowedMetadataValueTypes, AppMetadataKeys, GqlMetaHolder, Metadata } from '@/typings.ts'; import { jsonSaveParse } from '@/lib/HelperFunctions.ts'; import { convertFromGqlMeta, getMetadataFrom, requestUpdateCategoryMetadata } from '@/lib/metadata/metadata.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { CategoryIdInfo } from '@/lib/data/Categories.ts'; import { GridLayout } from '@/modules/library/contexts/LibraryOptionsContext.tsx'; import { LibraryOptions } from '@/modules/library/Library.types.ts'; +import { CategoryIdInfo, CategoryMetadataKeys, ICategoryMetadata } from '@/modules/category/Category.types.ts'; export const getDefaultCategoryMetadata = (): ICategoryMetadata => ({ // display options diff --git a/src/modules/core/components/UpdateChecker.tsx b/src/modules/core/components/UpdateChecker.tsx index 2463d191..de32ed1a 100644 --- a/src/modules/core/components/UpdateChecker.tsx +++ b/src/modules/core/components/UpdateChecker.tsx @@ -23,7 +23,8 @@ import { Progress } from '@/modules/core/components/Progress.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { dateTimeFormatter } from '@/util/DateHelper.ts'; import { MediaQuery } from '@/lib/ui/MediaQuery.tsx'; -import { CategoryIdInfo } from '@/lib/data/Categories.ts'; + +import { CategoryIdInfo } from '@/modules/category/Category.types.ts'; const calcProgress = (status: UpdaterSubscription['updateStatusChanged'] | undefined) => { if (!status) { diff --git a/src/modules/library/components/LibraryOptionsPanel.tsx b/src/modules/library/components/LibraryOptionsPanel.tsx index 434bf814..0f8d4306 100644 --- a/src/modules/library/components/LibraryOptionsPanel.tsx +++ b/src/modules/library/components/LibraryOptionsPanel.tsx @@ -21,8 +21,7 @@ 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 { CategoryMetadataInfo } from '@/lib/data/Categories.ts'; -import { createUpdateCategoryMetadata, getCategoryMetadata } from '@/lib/metadata/categoryMetadata.ts'; +import { createUpdateCategoryMetadata, getCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { createUpdateMetadataServerSettings, @@ -30,6 +29,7 @@ import { } from '@/lib/metadata/metadataServerSettings.ts'; import { TranslationKey } from '@/Base.types.ts'; import { LibrarySortMode } from '@/modules/library/Library.types.ts'; +import { CategoryMetadataInfo } from '@/modules/category/Category.types.ts'; const TITLES: { [key in 'filter' | 'sort' | 'display']: TranslationKey } = { filter: 'global.label.filter', diff --git a/src/modules/library/contexts/LibraryOptionsContext.tsx b/src/modules/library/contexts/LibraryOptionsContext.tsx index 9c1f6353..cf975716 100644 --- a/src/modules/library/contexts/LibraryOptionsContext.tsx +++ b/src/modules/library/contexts/LibraryOptionsContext.tsx @@ -7,7 +7,7 @@ */ import React, { useContext } from 'react'; -import { getDefaultCategoryMetadata } from '@/lib/metadata/categoryMetadata.ts'; +import { getDefaultCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; import { LibraryOptions } from '@/modules/library/Library.types.ts'; type ContextType = { diff --git a/src/modules/library/contexts/LibraryOptionsProvider.tsx b/src/modules/library/contexts/LibraryOptionsProvider.tsx index 3960b224..bca7e67c 100644 --- a/src/modules/library/contexts/LibraryOptionsProvider.tsx +++ b/src/modules/library/contexts/LibraryOptionsProvider.tsx @@ -9,7 +9,7 @@ import React, { useMemo } from 'react'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { LibraryOptionsContext } from '@/modules/library/contexts/LibraryOptionsContext.tsx'; -import { getDefaultCategoryMetadata } from '@/lib/metadata/categoryMetadata.ts'; +import { getDefaultCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; import { LibraryOptions } from '@/modules/library/Library.types.ts'; interface IProps { diff --git a/src/modules/library/hooks/useGetVisibleLibraryMangas.ts b/src/modules/library/hooks/useGetVisibleLibraryMangas.ts index 440d36a4..f6284e6b 100644 --- a/src/modules/library/hooks/useGetVisibleLibraryMangas.ts +++ b/src/modules/library/hooks/useGetVisibleLibraryMangas.ts @@ -12,10 +12,10 @@ import { useMetadataServerSettings } from '@/lib/metadata/metadataServerSettings 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'; -import { CategoryMetadataInfo } from '@/lib/data/Categories.ts'; -import { getCategoryMetadata } from '@/lib/metadata/categoryMetadata.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'; const triStateFilter = ( triState: NullAndUndefined, diff --git a/src/modules/library/screens/Library.tsx b/src/modules/library/screens/Library.tsx index 07232a2d..cae8189b 100644 --- a/src/modules/library/screens/Library.tsx +++ b/src/modules/library/screens/Library.tsx @@ -40,7 +40,7 @@ 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 { getCategoryMetadata } from '@/lib/metadata/categoryMetadata.ts'; +import { getCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; const TitleWithSizeTag = styled('span')({ display: 'flex', diff --git a/src/modules/manga/components/MangaActionMenuItems.tsx b/src/modules/manga/components/MangaActionMenuItems.tsx index 6f1e421b..947c9155 100644 --- a/src/modules/manga/components/MangaActionMenuItems.tsx +++ b/src/modules/manga/components/MangaActionMenuItems.tsx @@ -36,7 +36,7 @@ import { } from '@/modules/core/components/menu/Menu.utils.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { TrackManga } from '@/modules/tracker/components/TrackManga.tsx'; -import { useCategorySelect } from '@/components/navbar/action/useCategorySelect.tsx'; +import { useCategorySelect } from '@/modules/category/hooks/useCategorySelect.tsx'; 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'; diff --git a/src/modules/manga/components/MangaToolbarMenu.tsx b/src/modules/manga/components/MangaToolbarMenu.tsx index afdcfcad..b9f16ff4 100644 --- a/src/modules/manga/components/MangaToolbarMenu.tsx +++ b/src/modules/manga/components/MangaToolbarMenu.tsx @@ -21,7 +21,7 @@ import { Link } from 'react-router-dom'; import SyncAltIcon from '@mui/icons-material/SyncAlt'; import { useTheme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; -import { useCategorySelect } from '@/components/navbar/action/useCategorySelect.tsx'; +import { useCategorySelect } from '@/modules/category/hooks/useCategorySelect.tsx'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; interface IProps { diff --git a/src/modules/manga/hooks/useManageMangaLibraryState.tsx b/src/modules/manga/hooks/useManageMangaLibraryState.tsx index f00ece41..e828c876 100644 --- a/src/modules/manga/hooks/useManageMangaLibraryState.tsx +++ b/src/modules/manga/hooks/useManageMangaLibraryState.tsx @@ -10,11 +10,11 @@ import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import gql from 'graphql-tag'; -import { useCategorySelect } from '@/components/navbar/action/useCategorySelect.tsx'; +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 { Categories } from '@/lib/data/Categories.ts'; +import { Categories } from '@/modules/category/services/Categories.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { Mangas } from '@/modules/manga/services/Mangas.ts'; import { awaitConfirmation } from '@/lib/ui/AwaitableDialog.tsx'; diff --git a/src/screens/settings/DownloadSettings.tsx b/src/screens/settings/DownloadSettings.tsx index 19aa624e..e433deb6 100644 --- a/src/screens/settings/DownloadSettings.tsx +++ b/src/screens/settings/DownloadSettings.tsx @@ -24,7 +24,7 @@ import { } from '@/lib/metadata/metadataServerSettings.ts'; import { makeToast } from '@/lib/ui/Toast.ts'; import { DeleteChaptersWhileReadingSetting } from '@/components/settings/downloads/DeleteChaptersWhileReadingSetting.tsx'; -import { CategoriesInclusionSetting } from '@/components/settings/CategoriesInclusionSetting.tsx'; +import { CategoriesInclusionSetting } from '@/modules/category/components/CategoriesInclusionSetting.tsx'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; diff --git a/src/typings.ts b/src/typings.ts index 1c06d6d9..829979b8 100644 --- a/src/typings.ts +++ b/src/typings.ts @@ -13,11 +13,10 @@ import { AppTheme } from '@/lib/ui/AppThemes.ts'; import { MetadataMigrationSettings } from '@/modules/migration/Migration.types.ts'; import { TranslationKey } from '@/Base.types.ts'; import { MangaMetadataKeys } from '@/modules/manga/MangaCard.types.tsx'; -import { LibraryOptions, MetadataLibrarySettings } from '@/modules/library/Library.types.ts'; +import { MetadataLibrarySettings } from '@/modules/library/Library.types.ts'; import { SourceMetadataKeys } from '@/modules/source/Source.types.ts'; import { MetadataTrackingSettings } from '@/modules/tracker/Tracker.types.ts'; - -export interface ICategoryMetadata extends LibraryOptions {} +import { CategoryMetadataKeys } from '@/modules/category/Category.types.ts'; export interface IMetadataMigration { appKeyPrefix?: { oldPrefix: string; newPrefix: string }; @@ -49,8 +48,6 @@ export type MetadataServerSettingKeys = keyof MetadataServerSettings; export type SearchMetadataKeys = keyof ISearchSettings; -export type CategoryMetadataKeys = keyof ICategoryMetadata; - export type AppMetadataKeys = | MetadataServerSettingKeys | MangaMetadataKeys