From f548ba9502700644e4428d28bbdddca2ad8ff4e7 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sat, 16 Aug 2025 02:02:13 +0200 Subject: [PATCH] Structure "reader" in sub-features --- src/App.tsx | 2 +- src/features/chapter/services/Chapters.ts | 2 +- src/features/metadata/Metadata.constants.ts | 6 ++-- src/features/metadata/Metadata.types.ts | 2 +- .../reader/{types => }/Reader.types.ts | 4 +-- .../reader/{utils => }/Reader.utils.ts | 6 ++-- .../ReaderContext.constants.ts | 6 ++-- .../contexts/ReaderAutoScrollContext.tsx | 2 +- .../ReaderAutoScrollContextProvider.tsx | 10 +++--- .../hooks/useReaderAutoScroll.ts | 2 +- .../settings}/ReaderSettingAutoScroll.tsx | 4 +-- .../ReaderNavBarDesktopAutoScroll.tsx | 6 ++-- .../reader/contexts/ReaderContextProvider.tsx | 8 ++--- .../contexts/ReaderScrollbarContext.tsx | 2 +- .../state/ReaderStateChaptersContext.tsx | 2 +- .../ReaderStateChaptersContextProvider.tsx | 2 +- .../state/ReaderStateMangaContext.tsx | 2 +- .../state/ReaderStateMangaContextProvider.tsx | 2 +- .../state/ReaderStatePagesContext.tsx | 4 +-- .../state/ReaderStatePagesContextProvider.tsx | 4 +-- .../state/ReaderStateSettingsContext.tsx | 4 +-- .../ReaderStateSettingsContextProvider.tsx | 4 +-- .../ReaderRGBAFilter.tsx | 2 +- .../settings}/ReaderFilterSettings.tsx | 18 +++++----- .../components}/ReaderSettingBrightness.tsx | 4 +-- .../components}/ReaderSettingContrast.tsx | 4 +-- .../components}/ReaderSettingGrayscale.tsx | 2 +- .../settings/components}/ReaderSettingHue.tsx | 4 +-- .../components}/ReaderSettingInvert.tsx | 2 +- .../components}/ReaderSettingRGBA.tsx | 4 +-- .../components}/ReaderSettingSaturate.tsx | 4 +-- .../components}/ReaderSettingSepia.tsx | 2 +- .../reader/hooks/useReaderResetStates.ts | 10 +++--- .../reader/hooks/useReaderSetChaptersState.ts | 4 +-- .../reader/hooks/useReaderSetSettingsState.ts | 6 ++-- .../useReaderShowSettingPreviewOnChange.ts | 6 ++-- .../{components => hotkeys}/ReaderHotkeys.tsx | 10 +++--- .../settings}/ReaderHotkeysSettings.tsx | 6 ++-- .../settings/components}/Hotkey.tsx | 0 .../components}/ReaderSettingHotkey.tsx | 8 ++--- .../settings/components}/RecordHotkey.tsx | 2 +- .../ReaderInfiniteScrollUpdateChapter.tsx | 4 +-- .../useReaderInfiniteScrollUpdateChapter.ts | 6 ++-- .../overlay/ReaderOverlay.tsx | 14 ++++---- .../{types => overlay}/ReaderOverlay.types.ts | 0 .../components/ReaderPageNumber.tsx | 11 +++--- .../contexts/ReaderOverlayContext.tsx | 2 +- .../contexts/ReaderOverlayContextProvider.tsx | 2 +- .../hooks/useReaderHideOverlayOnUserScroll.ts | 4 +-- .../mobile}/ReaderOverlayHeaderMobile.tsx | 12 +++---- .../components}/ReaderBookmarkButton.tsx | 0 .../components}/ReaderChapterList.tsx | 2 +- .../components}/ReaderExitButton.tsx | 0 .../components}/ReaderLibraryButton.tsx | 2 +- .../desktop/ReaderNavBarDesktop.tsx | 22 +++++------- .../ReaderNavBarDesktopActions.tsx | 8 ++--- .../ReaderNavBarDesktopChapterNavigation.tsx | 6 ++-- .../ReaderNavBarDesktopMetadata.tsx | 0 .../ReaderNavBarDesktopNextPreviousButton.tsx | 0 .../ReaderNavBarDesktopPageNavigation.tsx | 10 +++--- .../components}/ReaderNavContainer.tsx | 0 .../ReaderNavBarDesktopQuickSettings.tsx | 14 ++++---- .../ReaderNavBarDesktopOffsetDoubleSpread.tsx | 4 +-- .../ReaderNavBarDesktopPageScale.tsx | 4 +-- .../ReaderNavBarDesktopReadingDirection.tsx | 4 +-- .../ReaderNavBarDesktopReadingMode.tsx | 4 +-- .../mobile/ReaderBottomBarMobile.tsx | 10 +++--- .../ReaderBottomBarMobileQuickSettings.tsx | 12 +++---- .../progress-bar/ReaderProgressBar.tsx | 27 ++++++++------- .../progress-bar}/ReaderProgressBar.types.ts | 2 +- .../progress-bar}/ReaderProgressBar.utils.tsx | 7 ++-- .../ProgressBarHighlightReadPages.tsx | 4 +-- .../ReaderProgressBarContainer.tsx | 4 +-- .../ReaderProgressBarCurrentPageSlot.tsx | 6 ++-- .../ReaderProgressBarDirectionWrapper.tsx | 0 .../ReaderProgressBarPageNumber.tsx | 0 .../components}/ReaderProgressBarRoot.tsx | 0 .../components}/ReaderProgressBarSlot.tsx | 4 +-- .../ReaderProgressBarSlotWrapper.tsx | 2 +- .../ReaderProgressBarSlotsActionArea.tsx | 0 .../ReaderProgressBarSlotsContainer.tsx | 0 .../contexts/ReaderProgressBarContext.tsx | 2 +- .../ReaderProgressBarContextProvider.tsx | 2 +- .../desktop}/StandardReaderProgressBar.tsx | 19 ++++++----- .../ReaderProgressBarSlotDesktop.tsx | 4 +-- .../mobile}/MobileReaderProgressBar.tsx | 26 ++++++++------ .../ReaderProgressBarSlotMobile.tsx | 4 +-- .../ReaderSettingProgressBarPosition.tsx | 2 +- .../ReaderSettingProgressBarSize.tsx | 4 +-- .../ReaderSettingProgressBarType.tsx | 2 +- .../settings}/ReaderSettingOverlayMode.tsx | 2 +- src/features/reader/screens/Reader.tsx | 28 +++++++-------- .../reader/services/ReaderControls.ts | 27 ++++++++------- src/features/reader/services/ReaderService.ts | 8 ++--- .../ReaderSettings.constants.tsx | 4 +-- .../ReaderSettings.utils.tsx | 10 +++--- .../ReaderSettingsMetadata.ts | 4 +-- .../behaviour/ReaderBehaviourSettings.tsx | 12 +++---- .../components}/ReaderSettingExitMode.tsx | 2 +- .../components}/ReaderSettingScrollAmount.tsx | 4 +-- .../components}/DefaultSettingFootnote.tsx | 0 .../components}/ReaderSettingsTabs.tsx | 20 +++++------ .../general/ReaderGeneralSettings.tsx | 12 +++---- .../ReaderSettingBackgroundColor.tsx | 2 +- .../layout/ReaderDefaultLayoutSettings.tsx | 10 +++--- .../settings/layout/ReaderLayoutSettings.tsx | 24 ++++++------- .../components}/ReaderSettingPageGap.tsx | 6 ++-- .../ReaderSettingPageScaleMode.tsx | 8 ++--- .../ReaderSettingProfileSettings.tsx | 6 ++-- .../ReaderSettingReadingDirection.tsx | 2 +- .../components}/ReaderSettingReadingMode.tsx | 4 +-- .../components}/ReaderSettingStretchPage.tsx | 4 +-- .../ReaderSettingTapZoneInvertMode.tsx | 8 ++--- .../ReaderSettingTapZoneLayout.tsx | 4 +-- .../layout/components}/ReaderSettingWidth.tsx | 6 ++-- .../screens/GlobalReaderSettings.tsx | 6 ++-- .../screens}/ReaderSettings.tsx | 4 +-- .../ReaderTapZone.constants.ts | 2 +- .../ReaderTapZoneService.ts | 4 +-- .../TapZoneLayout.tsx | 8 ++--- .../TapZoneLayout.types.ts | 0 .../contexts/ReaderTapZoneContext.tsx | 2 +- .../contexts/ReaderTapZoneContextProvider.tsx | 2 +- .../viewer/ReaderChapterViewer.tsx | 23 ++++++------- .../{components => }/viewer/ReaderViewer.tsx | 34 +++++++++---------- .../components}/ReaderPage.tsx | 4 +-- .../components}/ReaderTransitionPage.tsx | 10 +++--- .../useReaderConvertPagesForReadingMode.ts | 8 ++--- .../hooks/useReaderHandlePageSelection.ts | 8 ++--- .../hooks/useReaderHideCursorOnInactivity.ts | 0 ...seReaderHorizontalModeInvertXYScrolling.ts | 2 +- .../hooks/useReaderPreserveScrollPosition.ts | 8 ++--- .../useReaderScrollToStartOnPageChange.ts | 6 ++-- .../hooks/useReaderSetPagesState.ts | 8 ++--- .../pager}/ReaderPager.utils.tsx | 12 +++---- .../pager/components}/BasePager.tsx | 8 ++--- .../components}/ReaderDoublePagedPager.tsx | 8 ++--- .../components}/ReaderHorizontalPager.tsx | 6 ++-- .../pager/components}/ReaderPagedPager.tsx | 6 ++-- .../pager/components}/ReaderVerticalPager.tsx | 6 ++-- 140 files changed, 435 insertions(+), 429 deletions(-) rename src/features/reader/{types => }/Reader.types.ts (98%) rename src/features/reader/{utils => }/Reader.utils.ts (98%) rename src/features/reader/{constants => }/ReaderContext.constants.ts (77%) rename src/features/reader/{ => auto-scroll}/contexts/ReaderAutoScrollContext.tsx (89%) rename src/features/reader/{ => auto-scroll}/contexts/ReaderAutoScrollContextProvider.tsx (91%) rename src/features/reader/{ => auto-scroll}/hooks/useReaderAutoScroll.ts (91%) rename src/features/reader/{components/settings/behaviour => auto-scroll/settings}/ReaderSettingAutoScroll.tsx (94%) rename src/features/reader/{components/overlay/navigation/desktop/quick-settings => auto-scroll/settings/quick-setting}/ReaderNavBarDesktopAutoScroll.tsx (91%) rename src/features/reader/{components => filters}/ReaderRGBAFilter.tsx (95%) rename src/features/reader/{components/settings/filters => filters/settings}/ReaderFilterSettings.tsx (79%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingBrightness.tsx (95%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingContrast.tsx (95%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingGrayscale.tsx (92%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingHue.tsx (95%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingInvert.tsx (92%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingRGBA.tsx (97%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingSaturate.tsx (95%) rename src/features/reader/{components/settings/filters => filters/settings/components}/ReaderSettingSepia.tsx (92%) rename src/features/reader/{components => hotkeys}/ReaderHotkeys.tsx (95%) rename src/features/reader/{components/settings/hotkeys => hotkeys/settings}/ReaderHotkeysSettings.tsx (83%) rename src/features/reader/{components/settings/hotkeys => hotkeys/settings/components}/Hotkey.tsx (100%) rename src/features/reader/{components/settings/hotkeys => hotkeys/settings/components}/ReaderSettingHotkey.tsx (91%) rename src/features/reader/{components/settings/hotkeys => hotkeys/settings/components}/RecordHotkey.tsx (97%) rename src/features/reader/{components/viewer => infinite-scroll}/ReaderInfiniteScrollUpdateChapter.tsx (96%) rename src/features/reader/{hooks => infinite-scroll}/useReaderInfiniteScrollUpdateChapter.ts (98%) rename src/features/reader/{components => }/overlay/ReaderOverlay.tsx (76%) rename src/features/reader/{types => overlay}/ReaderOverlay.types.ts (100%) rename src/features/reader/{ => overlay}/components/ReaderPageNumber.tsx (90%) rename src/features/reader/{ => overlay}/contexts/ReaderOverlayContext.tsx (85%) rename src/features/reader/{ => overlay}/contexts/ReaderOverlayContextProvider.tsx (86%) rename src/features/reader/{ => overlay}/hooks/useReaderHideOverlayOnUserScroll.ts (87%) rename src/features/reader/{components/overlay => overlay/mobile}/ReaderOverlayHeaderMobile.tsx (92%) rename src/features/reader/{components/overlay/navigation => overlay/navigation/components}/ReaderBookmarkButton.tsx (100%) rename src/features/reader/{components/overlay/navigation => overlay/navigation/components}/ReaderChapterList.tsx (95%) rename src/features/reader/{components/overlay/navigation => overlay/navigation/components}/ReaderExitButton.tsx (100%) rename src/features/reader/{components/overlay/navigation => overlay/navigation/components}/ReaderLibraryButton.tsx (95%) rename src/features/reader/{components => }/overlay/navigation/desktop/ReaderNavBarDesktop.tsx (88%) rename src/features/reader/{components/overlay/navigation/desktop => overlay/navigation/desktop/components}/ReaderNavBarDesktopActions.tsx (93%) rename src/features/reader/{components/overlay/navigation/desktop => overlay/navigation/desktop/components}/ReaderNavBarDesktopChapterNavigation.tsx (95%) rename src/features/reader/{components/overlay/navigation/desktop => overlay/navigation/desktop/components}/ReaderNavBarDesktopMetadata.tsx (100%) rename src/features/reader/{components/overlay/navigation/desktop => overlay/navigation/desktop/components}/ReaderNavBarDesktopNextPreviousButton.tsx (100%) rename src/features/reader/{components/overlay/navigation/desktop => overlay/navigation/desktop/components}/ReaderNavBarDesktopPageNavigation.tsx (92%) rename src/features/reader/{components/overlay/navigation/desktop => overlay/navigation/desktop/components}/ReaderNavContainer.tsx (100%) rename src/features/reader/{components => }/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx (89%) rename src/features/reader/{components/overlay/navigation/desktop/quick-settings => overlay/navigation/desktop/quick-settings/components}/ReaderNavBarDesktopOffsetDoubleSpread.tsx (92%) rename src/features/reader/{components/overlay/navigation/desktop/quick-settings => overlay/navigation/desktop/quick-settings/components}/ReaderNavBarDesktopPageScale.tsx (96%) rename src/features/reader/{components/overlay/navigation/desktop/quick-settings => overlay/navigation/desktop/quick-settings/components}/ReaderNavBarDesktopReadingDirection.tsx (93%) rename src/features/reader/{components/overlay/navigation/desktop/quick-settings => overlay/navigation/desktop/quick-settings/components}/ReaderNavBarDesktopReadingMode.tsx (93%) rename src/features/reader/{components => }/overlay/navigation/mobile/ReaderBottomBarMobile.tsx (93%) rename src/features/reader/{components/overlay/navigation/mobile => overlay/navigation/mobile/quick-settings}/ReaderBottomBarMobileQuickSettings.tsx (83%) rename src/features/reader/{components => }/overlay/progress-bar/ReaderProgressBar.tsx (91%) rename src/features/reader/{types => overlay/progress-bar}/ReaderProgressBar.types.ts (98%) rename src/features/reader/{utils => overlay/progress-bar}/ReaderProgressBar.utils.tsx (94%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ProgressBarHighlightReadPages.tsx (88%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarContainer.tsx (89%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarCurrentPageSlot.tsx (87%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarDirectionWrapper.tsx (100%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarPageNumber.tsx (100%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarRoot.tsx (100%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarSlot.tsx (86%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarSlotWrapper.tsx (96%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarSlotsActionArea.tsx (100%) rename src/features/reader/{components/overlay/progress-bar => overlay/progress-bar/components}/ReaderProgressBarSlotsContainer.tsx (100%) rename src/features/reader/{ => overlay/progress-bar}/contexts/ReaderProgressBarContext.tsx (84%) rename src/features/reader/{ => overlay/progress-bar}/contexts/ReaderProgressBarContextProvider.tsx (86%) rename src/features/reader/{components/overlay/progress-bar/variants => overlay/progress-bar/desktop}/StandardReaderProgressBar.tsx (94%) rename src/features/reader/{components/overlay/progress-bar/desktop => overlay/progress-bar/desktop/components}/ReaderProgressBarSlotDesktop.tsx (94%) rename src/features/reader/{components/overlay/progress-bar/variants => overlay/progress-bar/mobile}/MobileReaderProgressBar.tsx (93%) rename src/features/reader/{components/overlay/progress-bar/mobile => overlay/progress-bar/mobile/components}/ReaderProgressBarSlotMobile.tsx (93%) rename src/features/reader/{components/settings/general => overlay/progress-bar/settings/components}/ReaderSettingProgressBarPosition.tsx (98%) rename src/features/reader/{components/settings/general => overlay/progress-bar/settings/components}/ReaderSettingProgressBarSize.tsx (94%) rename src/features/reader/{components/settings/general => overlay/progress-bar/settings/components}/ReaderSettingProgressBarType.tsx (97%) rename src/features/reader/{components/settings/general => overlay/settings}/ReaderSettingOverlayMode.tsx (98%) rename src/features/reader/{constants => settings}/ReaderSettings.constants.tsx (98%) rename src/features/reader/{utils => settings}/ReaderSettings.utils.tsx (88%) rename src/features/reader/{services => settings}/ReaderSettingsMetadata.ts (98%) rename src/features/reader/{components => }/settings/behaviour/ReaderBehaviourSettings.tsx (93%) rename src/features/reader/{components/settings/behaviour => settings/behaviour/components}/ReaderSettingExitMode.tsx (98%) rename src/features/reader/{components/settings/behaviour => settings/behaviour/components}/ReaderSettingScrollAmount.tsx (97%) rename src/features/reader/{components/settings => settings/components}/DefaultSettingFootnote.tsx (100%) rename src/features/reader/{components/settings => settings/components}/ReaderSettingsTabs.tsx (90%) rename src/features/reader/{components => }/settings/general/ReaderGeneralSettings.tsx (85%) rename src/features/reader/{components/settings/general => settings/general/components}/ReaderSettingBackgroundColor.tsx (97%) rename src/features/reader/{components => }/settings/layout/ReaderDefaultLayoutSettings.tsx (81%) rename src/features/reader/{components => }/settings/layout/ReaderLayoutSettings.tsx (78%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingPageGap.tsx (91%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingPageScaleMode.tsx (87%) rename src/features/reader/{components/settings/layout/profiles => settings/layout/components}/ReaderSettingProfileSettings.tsx (88%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingReadingDirection.tsx (97%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingReadingMode.tsx (93%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingStretchPage.tsx (90%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingTapZoneInvertMode.tsx (93%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingTapZoneLayout.tsx (94%) rename src/features/reader/{components/settings/layout => settings/layout/components}/ReaderSettingWidth.tsx (92%) rename src/features/reader/{ => settings}/screens/GlobalReaderSettings.tsx (93%) rename src/features/reader/{components/settings => settings/screens}/ReaderSettings.tsx (91%) rename src/features/reader/{constants => tap-zones}/ReaderTapZone.constants.ts (98%) rename src/features/reader/{services => tap-zones}/ReaderTapZoneService.ts (98%) rename src/features/reader/{components => tap-zones}/TapZoneLayout.tsx (90%) rename src/features/reader/{types => tap-zones}/TapZoneLayout.types.ts (100%) rename src/features/reader/{ => tap-zones}/contexts/ReaderTapZoneContext.tsx (85%) rename src/features/reader/{ => tap-zones}/contexts/ReaderTapZoneContextProvider.tsx (86%) rename src/features/reader/{components => }/viewer/ReaderChapterViewer.tsx (95%) rename src/features/reader/{components => }/viewer/ReaderViewer.tsx (94%) rename src/features/reader/{components/viewer => viewer/components}/ReaderPage.tsx (98%) rename src/features/reader/{components/viewer => viewer/components}/ReaderTransitionPage.tsx (96%) rename src/features/reader/{ => viewer}/hooks/useReaderConvertPagesForReadingMode.ts (87%) rename src/features/reader/{ => viewer}/hooks/useReaderHandlePageSelection.ts (88%) rename src/features/reader/{ => viewer}/hooks/useReaderHideCursorOnInactivity.ts (100%) rename src/features/reader/{ => viewer}/hooks/useReaderHorizontalModeInvertXYScrolling.ts (99%) rename src/features/reader/{ => viewer}/hooks/useReaderPreserveScrollPosition.ts (98%) rename src/features/reader/{ => viewer}/hooks/useReaderScrollToStartOnPageChange.ts (83%) rename src/features/reader/{ => viewer}/hooks/useReaderSetPagesState.ts (91%) rename src/features/reader/{utils => viewer/pager}/ReaderPager.utils.tsx (98%) rename src/features/reader/{components/viewer/pager => viewer/pager/components}/BasePager.tsx (95%) rename src/features/reader/{components/viewer/pager => viewer/pager/components}/ReaderDoublePagedPager.tsx (95%) rename src/features/reader/{components/viewer/pager => viewer/pager/components}/ReaderHorizontalPager.tsx (92%) rename src/features/reader/{components/viewer/pager => viewer/pager/components}/ReaderPagedPager.tsx (87%) rename src/features/reader/{components/viewer/pager => viewer/pager/components}/ReaderVerticalPager.tsx (90%) diff --git a/src/App.tsx b/src/App.tsx index 0d13dcae..68f8e2b8 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -69,7 +69,7 @@ const { LibraryDuplicates } = loadable( ); const { Appearance } = loadable(() => import('@/features/settings/screens/Appearance.tsx'), lazyLoadFallback); const { GlobalReaderSettings } = loadable( - () => import('@/features/reader/screens/GlobalReaderSettings.tsx'), + () => import('@/features/reader/settings/screens/GlobalReaderSettings.tsx'), lazyLoadFallback, ); const { More } = loadable(() => import('@/features/settings/screens/More.tsx'), lazyLoadFallback); diff --git a/src/features/chapter/services/Chapters.ts b/src/features/chapter/services/Chapters.ts index 830ded4a..21105ac8 100644 --- a/src/features/chapter/services/Chapters.ts +++ b/src/features/chapter/services/Chapters.ts @@ -21,7 +21,7 @@ import { CHAPTER_LIST_FIELDS } from '@/lib/graphql/fragments/ChapterFragments.ts import { DirectionOffset } from '@/Base.types.ts'; import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; -import { ReaderOpenChapterLocationState, ReaderResumeMode } from '@/features/reader/types/Reader.types.ts'; +import { ReaderOpenChapterLocationState, ReaderResumeMode } from '@/features/reader/Reader.types.ts'; import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { DOWNLOAD_TYPE_FIELDS } from '@/lib/graphql/fragments/DownloadFragments.ts'; diff --git a/src/features/metadata/Metadata.constants.ts b/src/features/metadata/Metadata.constants.ts index 75f14b6e..dd698142 100644 --- a/src/features/metadata/Metadata.constants.ts +++ b/src/features/metadata/Metadata.constants.ts @@ -15,7 +15,7 @@ import { ReaderCustomFilter, ReaderPageScaleMode, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { AUTO_SCROLL_SPEED, CUSTOM_FILTER, @@ -24,7 +24,7 @@ import { PAGE_GAP, PROGRESS_BAR_SIZE, SCROLL_AMOUNT, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { coerceIn, jsonSaveParse } from '@/lib/HelperFunctions.ts'; import { DOWNLOAD_AHEAD } from '@/features/downloads/Downloads.constants.ts'; import { MANGA_GRID_WIDTH } from '@/features/settings/Settings.constants.ts'; @@ -33,7 +33,7 @@ import { SortSettings } from '@/features/migration/Migration.types.ts'; import { ISourceMetadata } from '@/features/source/Source.types.ts'; import { LibraryOptions } from '@/features/library/Library.types.ts'; import { MetadataThemeSettings } from '@/features/theme/AppTheme.types.ts'; -import { TapZoneInvertMode } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TapZoneInvertMode } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; export const APP_METADATA_KEY_PREFIX = 'webUI'; diff --git a/src/features/metadata/Metadata.types.ts b/src/features/metadata/Metadata.types.ts index 682f64bb..c0ba75f4 100644 --- a/src/features/metadata/Metadata.types.ts +++ b/src/features/metadata/Metadata.types.ts @@ -11,7 +11,7 @@ import { MangaMetadataKeys } from '@/features/manga/Manga.types.ts'; import { SourceMetadataKeys } from '@/features/source/Source.types.ts'; import { CategoryMetadataKeys } from '@/features/category/Category.types.ts'; import { MetaType } from '@/lib/graphql/generated/graphql.ts'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; export interface IMetadataMigration { appKeyPrefix?: { oldPrefix: string; newPrefix: string }; diff --git a/src/features/reader/types/Reader.types.ts b/src/features/reader/Reader.types.ts similarity index 98% rename from src/features/reader/types/Reader.types.ts rename to src/features/reader/Reader.types.ts index 25533efb..91483296 100644 --- a/src/features/reader/types/Reader.types.ts +++ b/src/features/reader/Reader.types.ts @@ -7,10 +7,10 @@ */ import { MutableRefObject } from 'react'; -import { TapZoneInvertMode, TapZoneLayouts } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TapZoneInvertMode, TapZoneLayouts } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { TChapterReader } from '@/features/chapter/Chapter.types.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { TMangaReader } from '@/features/manga/Manga.types.ts'; import { useAutomaticScrolling } from '@/features/core/hooks/useAutomaticScrolling.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; diff --git a/src/features/reader/utils/Reader.utils.ts b/src/features/reader/Reader.utils.ts similarity index 98% rename from src/features/reader/utils/Reader.utils.ts rename to src/features/reader/Reader.utils.ts index b783e3ac..e31d8a37 100644 --- a/src/features/reader/utils/Reader.utils.ts +++ b/src/features/reader/Reader.utils.ts @@ -11,13 +11,13 @@ import { ReaderResumeMode, ReaderStateChapters, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { UpdateChapterPatchInput } from '@/lib/graphql/generated/graphql.ts'; import { ChapterIdInfo, TChapterReader } from '@/features/chapter/Chapter.types.ts'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { CHAPTER_READER_FIELDS } from '@/lib/graphql/fragments/ChapterFragments.ts'; -import { isPageOfOutdatedPageLoadStates, isSpreadPage } from '@/features/reader/utils/ReaderPager.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { isPageOfOutdatedPageLoadStates, isSpreadPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { coerceIn } from '@/lib/HelperFunctions.ts'; import { DirectionOffset } from '@/Base.types.ts'; diff --git a/src/features/reader/constants/ReaderContext.constants.ts b/src/features/reader/ReaderContext.constants.ts similarity index 77% rename from src/features/reader/constants/ReaderContext.constants.ts rename to src/features/reader/ReaderContext.constants.ts index 05201048..de3f4300 100644 --- a/src/features/reader/constants/ReaderContext.constants.ts +++ b/src/features/reader/ReaderContext.constants.ts @@ -6,9 +6,9 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; -import { ReaderTransitionPageMode } from '@/features/reader/types/Reader.types.ts'; -import { createPageData } from '@/features/reader/utils/ReaderPager.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; +import { ReaderTransitionPageMode } from '@/features/reader/Reader.types.ts'; +import { createPageData } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; export const READER_STATE_PAGES_DEFAULTS: ReaderStatePages = { totalPages: 0, diff --git a/src/features/reader/contexts/ReaderAutoScrollContext.tsx b/src/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx similarity index 89% rename from src/features/reader/contexts/ReaderAutoScrollContext.tsx rename to src/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx index a407cd42..945f1fa1 100644 --- a/src/features/reader/contexts/ReaderAutoScrollContext.tsx +++ b/src/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { TReaderAutoScrollContext } from '@/features/reader/types/Reader.types.ts'; +import { TReaderAutoScrollContext } from '@/features/reader/Reader.types.ts'; export const ReaderAutoScrollContext = createContext({ isActive: false, diff --git a/src/features/reader/contexts/ReaderAutoScrollContextProvider.tsx b/src/features/reader/auto-scroll/contexts/ReaderAutoScrollContextProvider.tsx similarity index 91% rename from src/features/reader/contexts/ReaderAutoScrollContextProvider.tsx rename to src/features/reader/auto-scroll/contexts/ReaderAutoScrollContextProvider.tsx index 1a4a73c9..9fdb06a2 100644 --- a/src/features/reader/contexts/ReaderAutoScrollContextProvider.tsx +++ b/src/features/reader/auto-scroll/contexts/ReaderAutoScrollContextProvider.tsx @@ -14,13 +14,13 @@ import { ReaderScrollAmount, ReadingMode, TReaderAutoScrollContext, -} from '@/features/reader/types/Reader.types.ts'; -import { ReaderAutoScrollContext } from '@/features/reader/contexts/ReaderAutoScrollContext.tsx'; -import { ReaderControls } from '@/features/reader/services/ReaderControls'; -import { isContinuousReadingMode } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +} from '@/features/reader/Reader.types.ts'; +import { ReaderAutoScrollContext } from '@/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx'; +import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; +import { isContinuousReadingMode } from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { CONTINUOUS_READING_MODE_TO_SCROLL_DIRECTION } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { CONTINUOUS_READING_MODE_TO_SCROLL_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { ScrollOffset } from '@/features/core/Core.types.ts'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; diff --git a/src/features/reader/hooks/useReaderAutoScroll.ts b/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts similarity index 91% rename from src/features/reader/hooks/useReaderAutoScroll.ts rename to src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts index 8192b296..5d72e90a 100644 --- a/src/features/reader/hooks/useReaderAutoScroll.ts +++ b/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts @@ -8,7 +8,7 @@ import { useEffect } from 'react'; import { useAutomaticScrolling } from '@/features/core/hooks/useAutomaticScrolling.ts'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; export const useReaderAutoScroll = ( isOverlayVisible: boolean, diff --git a/src/features/reader/components/settings/behaviour/ReaderSettingAutoScroll.tsx b/src/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx similarity index 94% rename from src/features/reader/components/settings/behaviour/ReaderSettingAutoScroll.tsx rename to src/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx index fba75991..6643b9c6 100644 --- a/src/features/reader/components/settings/behaviour/ReaderSettingAutoScroll.tsx +++ b/src/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx @@ -8,9 +8,9 @@ import { useTranslation } from 'react-i18next'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { AUTO_SCROLL_SPEED, DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { AUTO_SCROLL_SPEED, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingAutoScroll = ({ autoScroll, diff --git a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopAutoScroll.tsx b/src/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx similarity index 91% rename from src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopAutoScroll.tsx rename to src/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx index 7d5c110f..83818fc6 100644 --- a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopAutoScroll.tsx +++ b/src/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx @@ -14,9 +14,9 @@ import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import InputAdornment from '@mui/material/InputAdornment'; import { useRef } from 'react'; -import { useReaderAutoScrollContext } from '@/features/reader/contexts/ReaderAutoScrollContext.tsx'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; -import { AUTO_SCROLL_SPEED } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; +import { AUTO_SCROLL_SPEED } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { coerceIn } from '@/lib/HelperFunctions.ts'; export const ReaderNavBarDesktopAutoScroll = ({ diff --git a/src/features/reader/contexts/ReaderContextProvider.tsx b/src/features/reader/contexts/ReaderContextProvider.tsx index e0bd78c7..b5e17fde 100644 --- a/src/features/reader/contexts/ReaderContextProvider.tsx +++ b/src/features/reader/contexts/ReaderContextProvider.tsx @@ -7,12 +7,12 @@ */ import { ReactNode } from 'react'; -import { ReaderTapZoneContextProvider } from '@/features/reader/contexts/ReaderTapZoneContextProvider.tsx'; -import { ReaderProgressBarContextProvider } from '@/features/reader/contexts/ReaderProgressBarContextProvider.tsx'; -import { ReaderOverlayContextProvider } from '@/features/reader/contexts/ReaderOverlayContextProvider.tsx'; +import { ReaderTapZoneContextProvider } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContextProvider.tsx'; +import { ReaderProgressBarContextProvider } from '@/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContextProvider.tsx'; +import { ReaderOverlayContextProvider } from '@/features/reader/overlay/contexts/ReaderOverlayContextProvider.tsx'; import { ReaderStateContextProvider } from '@/features/reader/contexts/state/ReaderStateContextProvider.tsx'; import { ReaderScrollbarContextProvider } from '@/features/reader/contexts/ReaderScrollbarContextProvider.tsx'; -import { ReaderAutoScrollContextProvider } from '@/features/reader/contexts/ReaderAutoScrollContextProvider.tsx'; +import { ReaderAutoScrollContextProvider } from '@/features/reader/auto-scroll/contexts/ReaderAutoScrollContextProvider.tsx'; export const ReaderContextProvider = ({ children }: { children?: ReactNode }) => ( diff --git a/src/features/reader/contexts/ReaderScrollbarContext.tsx b/src/features/reader/contexts/ReaderScrollbarContext.tsx index b89f1cf3..146f228b 100644 --- a/src/features/reader/contexts/ReaderScrollbarContext.tsx +++ b/src/features/reader/contexts/ReaderScrollbarContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { TReaderScrollbarContext } from '@/features/reader/types/Reader.types.ts'; +import { TReaderScrollbarContext } from '@/features/reader/Reader.types.ts'; export const ReaderScrollbarContext = createContext({ scrollbarXSize: 0, diff --git a/src/features/reader/contexts/state/ReaderStateChaptersContext.tsx b/src/features/reader/contexts/state/ReaderStateChaptersContext.tsx index 3dc1a4d8..3e224445 100644 --- a/src/features/reader/contexts/state/ReaderStateChaptersContext.tsx +++ b/src/features/reader/contexts/state/ReaderStateChaptersContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { ReaderStateChapters } from '@/features/reader/types/Reader.types.ts'; +import { ReaderStateChapters } from '@/features/reader/Reader.types.ts'; export const READER_STATE_CHAPTERS_DEFAULTS: Omit = { chapters: [], diff --git a/src/features/reader/contexts/state/ReaderStateChaptersContextProvider.tsx b/src/features/reader/contexts/state/ReaderStateChaptersContextProvider.tsx index 146a8283..c08d595b 100644 --- a/src/features/reader/contexts/state/ReaderStateChaptersContextProvider.tsx +++ b/src/features/reader/contexts/state/ReaderStateChaptersContextProvider.tsx @@ -11,7 +11,7 @@ import { READER_STATE_CHAPTERS_DEFAULTS, ReaderStateChaptersContext, } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; -import { ReaderStateChapters } from '@/features/reader/types/Reader.types.ts'; +import { ReaderStateChapters } from '@/features/reader/Reader.types.ts'; export const ReaderStateChaptersContextProvider = ({ children }: { children: ReactNode }) => { const [state, setState] = diff --git a/src/features/reader/contexts/state/ReaderStateMangaContext.tsx b/src/features/reader/contexts/state/ReaderStateMangaContext.tsx index b1c8252a..6f1942d8 100644 --- a/src/features/reader/contexts/state/ReaderStateMangaContext.tsx +++ b/src/features/reader/contexts/state/ReaderStateMangaContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { TReaderStateMangaContext } from '@/features/reader/types/Reader.types.ts'; +import { TReaderStateMangaContext } from '@/features/reader/Reader.types.ts'; export const ReaderStateMangaContext = createContext({ manga: undefined, diff --git a/src/features/reader/contexts/state/ReaderStateMangaContextProvider.tsx b/src/features/reader/contexts/state/ReaderStateMangaContextProvider.tsx index 2de8b1e7..51f7c53c 100644 --- a/src/features/reader/contexts/state/ReaderStateMangaContextProvider.tsx +++ b/src/features/reader/contexts/state/ReaderStateMangaContextProvider.tsx @@ -8,7 +8,7 @@ import { ReactNode, useMemo, useState } from 'react'; import { ReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; -import { TReaderStateMangaContext } from '@/features/reader/types/Reader.types.ts'; +import { TReaderStateMangaContext } from '@/features/reader/Reader.types.ts'; export const ReaderStateMangaContextProvider = ({ children }: { children: ReactNode }) => { const [manga, setManga] = useState(); diff --git a/src/features/reader/contexts/state/ReaderStatePagesContext.tsx b/src/features/reader/contexts/state/ReaderStatePagesContext.tsx index 5c5bedb0..d8396903 100644 --- a/src/features/reader/contexts/state/ReaderStatePagesContext.tsx +++ b/src/features/reader/contexts/state/ReaderStatePagesContext.tsx @@ -7,8 +7,8 @@ */ import { createContext, useContext } from 'react'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; -import { ReaderTransitionPageMode } from '@/features/reader/types/Reader.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; +import { ReaderTransitionPageMode } from '@/features/reader/Reader.types.ts'; export const ReaderStatePagesContext = createContext({ totalPages: 0, diff --git a/src/features/reader/contexts/state/ReaderStatePagesContextProvider.tsx b/src/features/reader/contexts/state/ReaderStatePagesContextProvider.tsx index 5ba787c2..af85fbb9 100644 --- a/src/features/reader/contexts/state/ReaderStatePagesContextProvider.tsx +++ b/src/features/reader/contexts/state/ReaderStatePagesContextProvider.tsx @@ -8,8 +8,8 @@ import { ReactNode, useMemo, useState } from 'react'; import { ReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; -import { READER_STATE_PAGES_DEFAULTS } from '@/features/reader/constants/ReaderContext.constants.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; +import { READER_STATE_PAGES_DEFAULTS } from '@/features/reader/ReaderContext.constants.ts'; export const ReaderStatePagesContextProvider = ({ children }: { children: ReactNode }) => { const [totalPages, setTotalPages] = useState( diff --git a/src/features/reader/contexts/state/ReaderStateSettingsContext.tsx b/src/features/reader/contexts/state/ReaderStateSettingsContext.tsx index 9ef35a92..da457c1d 100644 --- a/src/features/reader/contexts/state/ReaderStateSettingsContext.tsx +++ b/src/features/reader/contexts/state/ReaderStateSettingsContext.tsx @@ -7,8 +7,8 @@ */ import { createContext, useContext } from 'react'; -import { TReaderStateSettingsContext } from '@/features/reader/types/Reader.types.ts'; -import { DEFAULT_READER_SETTINGS_WITH_DEFAULT_FLAG } from '@/features/reader/services/ReaderSettingsMetadata.ts'; +import { TReaderStateSettingsContext } from '@/features/reader/Reader.types.ts'; +import { DEFAULT_READER_SETTINGS_WITH_DEFAULT_FLAG } from '@/features/reader/settings/ReaderSettingsMetadata.ts'; export const ReaderStateSettingsContext = createContext({ settings: DEFAULT_READER_SETTINGS_WITH_DEFAULT_FLAG, diff --git a/src/features/reader/contexts/state/ReaderStateSettingsContextProvider.tsx b/src/features/reader/contexts/state/ReaderStateSettingsContextProvider.tsx index 3e136175..2c37606f 100644 --- a/src/features/reader/contexts/state/ReaderStateSettingsContextProvider.tsx +++ b/src/features/reader/contexts/state/ReaderStateSettingsContextProvider.tsx @@ -8,8 +8,8 @@ import { ReactNode, useMemo, useState } from 'react'; import { ReaderStateSettingsContext } from '@/features/reader/contexts/state/ReaderStateSettingsContext.tsx'; -import { DEFAULT_READER_SETTINGS_WITH_DEFAULT_FLAG } from '@/features/reader/services/ReaderSettingsMetadata.ts'; -import { TReaderStateSettingsContext } from '@/features/reader/types/Reader.types.ts'; +import { DEFAULT_READER_SETTINGS_WITH_DEFAULT_FLAG } from '@/features/reader/settings/ReaderSettingsMetadata.ts'; +import { TReaderStateSettingsContext } from '@/features/reader/Reader.types.ts'; export const ReaderStateSettingsContextProvider = ({ children }: { children: ReactNode }) => { const [settings, setSettings] = useState( diff --git a/src/features/reader/components/ReaderRGBAFilter.tsx b/src/features/reader/filters/ReaderRGBAFilter.tsx similarity index 95% rename from src/features/reader/components/ReaderRGBAFilter.tsx rename to src/features/reader/filters/ReaderRGBAFilter.tsx index 436d52d2..f2883a02 100644 --- a/src/features/reader/components/ReaderRGBAFilter.tsx +++ b/src/features/reader/filters/ReaderRGBAFilter.tsx @@ -11,7 +11,7 @@ import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; const BaseReaderRGBAFilter = ({ readerNavBarWidth, diff --git a/src/features/reader/components/settings/filters/ReaderFilterSettings.tsx b/src/features/reader/filters/settings/ReaderFilterSettings.tsx similarity index 79% rename from src/features/reader/components/settings/filters/ReaderFilterSettings.tsx rename to src/features/reader/filters/settings/ReaderFilterSettings.tsx index 3938b23a..9d0b2685 100644 --- a/src/features/reader/components/settings/filters/ReaderFilterSettings.tsx +++ b/src/features/reader/filters/settings/ReaderFilterSettings.tsx @@ -7,15 +7,15 @@ */ import Stack from '@mui/material/Stack'; -import { ReaderSettingBrightness } from '@/features/reader/components/settings/filters/ReaderSettingBrightness.tsx'; -import { ReaderSettingContrast } from '@/features/reader/components/settings/filters/ReaderSettingContrast.tsx'; -import { ReaderSettingSaturate } from '@/features/reader/components/settings/filters/ReaderSettingSaturate.tsx'; -import { ReaderSettingHue } from '@/features/reader/components/settings/filters/ReaderSettingHue.tsx'; -import { ReaderSettingRGBA } from '@/features/reader/components/settings/filters/ReaderSettingRGBA.tsx'; -import { ReaderSettingSepia } from '@/features/reader/components/settings/filters/ReaderSettingSepia.tsx'; -import { ReaderSettingGrayscale } from '@/features/reader/components/settings/filters/ReaderSettingGrayscale.tsx'; -import { ReaderSettingInvert } from '@/features/reader/components/settings/filters/ReaderSettingInvert.tsx'; -import { ReaderSettingsTypeProps } from '@/features/reader/types/Reader.types.ts'; +import { ReaderSettingBrightness } from '@/features/reader/filters/settings/components/ReaderSettingBrightness.tsx'; +import { ReaderSettingContrast } from '@/features/reader/filters/settings/components/ReaderSettingContrast.tsx'; +import { ReaderSettingSaturate } from '@/features/reader/filters/settings/components/ReaderSettingSaturate.tsx'; +import { ReaderSettingHue } from '@/features/reader/filters/settings/components/ReaderSettingHue.tsx'; +import { ReaderSettingRGBA } from '@/features/reader/filters/settings/components/ReaderSettingRGBA.tsx'; +import { ReaderSettingSepia } from '@/features/reader/filters/settings/components/ReaderSettingSepia.tsx'; +import { ReaderSettingGrayscale } from '@/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx'; +import { ReaderSettingInvert } from '@/features/reader/filters/settings/components/ReaderSettingInvert.tsx'; +import { ReaderSettingsTypeProps } from '@/features/reader/Reader.types.ts'; import { ResetButton } from '@/features/core/components/buttons/ResetButton.tsx'; export const ReaderFilterSettings = ({ diff --git a/src/features/reader/components/settings/filters/ReaderSettingBrightness.tsx b/src/features/reader/filters/settings/components/ReaderSettingBrightness.tsx similarity index 95% rename from src/features/reader/components/settings/filters/ReaderSettingBrightness.tsx rename to src/features/reader/filters/settings/components/ReaderSettingBrightness.tsx index bf533db5..f5c84cf7 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingBrightness.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingBrightness.tsx @@ -8,11 +8,11 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingBrightness = ({ brightness, diff --git a/src/features/reader/components/settings/filters/ReaderSettingContrast.tsx b/src/features/reader/filters/settings/components/ReaderSettingContrast.tsx similarity index 95% rename from src/features/reader/components/settings/filters/ReaderSettingContrast.tsx rename to src/features/reader/filters/settings/components/ReaderSettingContrast.tsx index 01bfde96..5ce456ca 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingContrast.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingContrast.tsx @@ -8,10 +8,10 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingContrast = ({ contrast, diff --git a/src/features/reader/components/settings/filters/ReaderSettingGrayscale.tsx b/src/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx similarity index 92% rename from src/features/reader/components/settings/filters/ReaderSettingGrayscale.tsx rename to src/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx index 0dcdbc61..0ed1b5b3 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingGrayscale.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx @@ -8,7 +8,7 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; export const ReaderSettingGrayscale = ({ diff --git a/src/features/reader/components/settings/filters/ReaderSettingHue.tsx b/src/features/reader/filters/settings/components/ReaderSettingHue.tsx similarity index 95% rename from src/features/reader/components/settings/filters/ReaderSettingHue.tsx rename to src/features/reader/filters/settings/components/ReaderSettingHue.tsx index db7f2bff..93612b5b 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingHue.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingHue.tsx @@ -8,10 +8,10 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingHue = ({ hue, diff --git a/src/features/reader/components/settings/filters/ReaderSettingInvert.tsx b/src/features/reader/filters/settings/components/ReaderSettingInvert.tsx similarity index 92% rename from src/features/reader/components/settings/filters/ReaderSettingInvert.tsx rename to src/features/reader/filters/settings/components/ReaderSettingInvert.tsx index 0bcb2150..f056222b 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingInvert.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingInvert.tsx @@ -8,7 +8,7 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; export const ReaderSettingInvert = ({ diff --git a/src/features/reader/components/settings/filters/ReaderSettingRGBA.tsx b/src/features/reader/filters/settings/components/ReaderSettingRGBA.tsx similarity index 97% rename from src/features/reader/components/settings/filters/ReaderSettingRGBA.tsx rename to src/features/reader/filters/settings/components/ReaderSettingRGBA.tsx index b3dfc7bd..105069b9 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingRGBA.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingRGBA.tsx @@ -8,7 +8,7 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; import { TranslationKey } from '@/Base.types.ts'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; @@ -18,7 +18,7 @@ import { DEFAULT_READER_SETTINGS, READER_BLEND_MODE_VALUE_TO_DISPLAY_DATA, READER_BLEND_MODE_VALUES, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; type RGBAType = Exclude; diff --git a/src/features/reader/components/settings/filters/ReaderSettingSaturate.tsx b/src/features/reader/filters/settings/components/ReaderSettingSaturate.tsx similarity index 95% rename from src/features/reader/components/settings/filters/ReaderSettingSaturate.tsx rename to src/features/reader/filters/settings/components/ReaderSettingSaturate.tsx index 6ab07ec0..50e57b54 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingSaturate.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingSaturate.tsx @@ -8,10 +8,10 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingSaturate = ({ saturate, diff --git a/src/features/reader/components/settings/filters/ReaderSettingSepia.tsx b/src/features/reader/filters/settings/components/ReaderSettingSepia.tsx similarity index 92% rename from src/features/reader/components/settings/filters/ReaderSettingSepia.tsx rename to src/features/reader/filters/settings/components/ReaderSettingSepia.tsx index 128f2c62..17cfb7ac 100644 --- a/src/features/reader/components/settings/filters/ReaderSettingSepia.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingSepia.tsx @@ -8,7 +8,7 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; export const ReaderSettingSepia = ({ diff --git a/src/features/reader/hooks/useReaderResetStates.ts b/src/features/reader/hooks/useReaderResetStates.ts index f422c7d5..f259e28f 100644 --- a/src/features/reader/hooks/useReaderResetStates.ts +++ b/src/features/reader/hooks/useReaderResetStates.ts @@ -7,17 +7,17 @@ */ import { useEffect } from 'react'; -import { createPageData } from '@/features/reader/utils/ReaderPager.utils.tsx'; +import { createPageData } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; import { ReaderStateChapters, ReaderTransitionPageMode, TReaderAutoScrollContext, TReaderStateMangaContext, TReaderStateSettingsContext, -} from '@/features/reader/types/Reader.types.ts'; -import { DEFAULT_READER_SETTINGS_WITH_DEFAULT_FLAG } from '@/features/reader/services/ReaderSettingsMetadata.ts'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; -import { TReaderOverlayContext } from '@/features/reader/types/ReaderOverlay.types.ts'; +} from '@/features/reader/Reader.types.ts'; +import { DEFAULT_READER_SETTINGS_WITH_DEFAULT_FLAG } from '@/features/reader/settings/ReaderSettingsMetadata.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; +import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; import { READER_STATE_CHAPTERS_DEFAULTS } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; export const useReaderResetStates = ( diff --git a/src/features/reader/hooks/useReaderSetChaptersState.ts b/src/features/reader/hooks/useReaderSetChaptersState.ts index 259f1cfc..16044a5e 100644 --- a/src/features/reader/hooks/useReaderSetChaptersState.ts +++ b/src/features/reader/hooks/useReaderSetChaptersState.ts @@ -16,11 +16,11 @@ import { IReaderSettings, ReaderOpenChapterLocationState, ReaderStateChapters, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { READER_STATE_CHAPTERS_DEFAULTS } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { filterChapters } from '@/features/chapter/utils/ChapterList.util.tsx'; import { ChapterListOptions } from '@/features/chapter/Chapter.types.ts'; -import { getReaderChapterFromCache } from '@/features/reader/utils/Reader.utils.ts'; +import { getReaderChapterFromCache } from '@/features/reader/Reader.utils.ts'; export const useReaderSetChaptersState = ( chaptersResponse: ReturnType>, diff --git a/src/features/reader/hooks/useReaderSetSettingsState.ts b/src/features/reader/hooks/useReaderSetSettingsState.ts index f718c9bd..783bb2c6 100644 --- a/src/features/reader/hooks/useReaderSetSettingsState.ts +++ b/src/features/reader/hooks/useReaderSetSettingsState.ts @@ -11,9 +11,9 @@ import { getReaderSettings, getReaderSettingsFor, useDefaultReaderSettings, -} from '@/features/reader/services/ReaderSettingsMetadata.ts'; -import { isAutoWebtoonMode } from '@/features/reader/utils/ReaderSettings.utils.tsx'; -import { ReadingMode, TReaderStateSettingsContext } from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/settings/ReaderSettingsMetadata.ts'; +import { isAutoWebtoonMode } from '@/features/reader/settings/ReaderSettings.utils.tsx'; +import { ReadingMode, TReaderStateSettingsContext } from '@/features/reader/Reader.types.ts'; import { GetMangaReaderQuery } from '@/lib/graphql/generated/graphql.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; diff --git a/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts b/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts index 7e1123ef..b89d2ee6 100644 --- a/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts +++ b/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts @@ -8,11 +8,11 @@ import { useEffect, useRef } from 'react'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings, IReaderSettingsWithDefaultFlag } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, IReaderSettingsWithDefaultFlag } from '@/features/reader/Reader.types.ts'; import { makeToast } from '@/features/core/utils/Toast.ts'; -import { READING_MODE_VALUE_TO_DISPLAY_DATA } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { READING_MODE_VALUE_TO_DISPLAY_DATA } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { TranslationKey } from '@/Base.types.ts'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; const HIDE_PREVIEW_TIMEOUT = 5000; diff --git a/src/features/reader/components/ReaderHotkeys.tsx b/src/features/reader/hotkeys/ReaderHotkeys.tsx similarity index 95% rename from src/features/reader/components/ReaderHotkeys.tsx rename to src/features/reader/hotkeys/ReaderHotkeys.tsx index 5ccba6f4..6481212c 100644 --- a/src/features/reader/components/ReaderHotkeys.tsx +++ b/src/features/reader/hotkeys/ReaderHotkeys.tsx @@ -11,8 +11,8 @@ import { useEffect } from 'react'; import { useTheme } from '@mui/material/styles'; import { HOTKEY_SCOPES } from '@/features/hotkeys/Hotkeys.constants.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { IReaderSettings, ReaderHotkey } from '@/features/reader/types/Reader.types.ts'; -import { useReaderOverlayContext } from '@/features/reader/contexts/ReaderOverlayContext.tsx'; +import { IReaderSettings, ReaderHotkey } from '@/features/reader/Reader.types.ts'; +import { useReaderOverlayContext } from '@/features/reader/overlay/contexts/ReaderOverlayContext.tsx'; import { getNextRotationValue } from '@/features/core/utils/ValueRotationButton.utils.ts'; import { AUTO_SCROLL_SPEED, @@ -20,15 +20,15 @@ import { READER_PAGE_SCALE_MODE_VALUES, READING_DIRECTION_VALUES, READING_MODE_VALUES, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; import { HotkeyScope } from '@/features/hotkeys/Hotkeys.types.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; import { ScrollOffset } from '@/features/core/Core.types.ts'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; -import { useReaderAutoScrollContext } from '@/features/reader/contexts/ReaderAutoScrollContext.tsx'; -import { useReaderTapZoneContext } from '@/features/reader/contexts/ReaderTapZoneContext.tsx'; +import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx'; +import { useReaderTapZoneContext } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx'; const useHotkeys = (...args: Parameters): ReturnType => { const [keys, callback, options, dependencies] = args; diff --git a/src/features/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx b/src/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx similarity index 83% rename from src/features/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx rename to src/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx index 9b3ee26f..1509d1ef 100644 --- a/src/features/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx +++ b/src/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx @@ -9,9 +9,9 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import Typography from '@mui/material/Typography'; -import { ReaderSettingsTypeProps } from '@/features/reader/types/Reader.types.ts'; -import { ReaderSettingHotkey } from '@/features/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx'; -import { READER_HOTKEYS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { ReaderSettingsTypeProps } from '@/features/reader/Reader.types.ts'; +import { ReaderSettingHotkey } from '@/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx'; +import { READER_HOTKEYS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { ResetButton } from '@/features/core/components/buttons/ResetButton.tsx'; export const ReaderHotkeysSettings = ({ settings, updateSetting, onDefault }: ReaderSettingsTypeProps) => { diff --git a/src/features/reader/components/settings/hotkeys/Hotkey.tsx b/src/features/reader/hotkeys/settings/components/Hotkey.tsx similarity index 100% rename from src/features/reader/components/settings/hotkeys/Hotkey.tsx rename to src/features/reader/hotkeys/settings/components/Hotkey.tsx diff --git a/src/features/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx b/src/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx similarity index 91% rename from src/features/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx rename to src/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx index 8cdb88b7..147ec506 100644 --- a/src/features/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx +++ b/src/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx @@ -13,11 +13,11 @@ import Typography from '@mui/material/Typography'; import { bindTrigger, usePopupState } from 'material-ui-popup-state/hooks'; import IconButton from '@mui/material/IconButton'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { ReaderHotkey } from '@/features/reader/types/Reader.types.ts'; -import { DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { ReaderHotkey } from '@/features/reader/Reader.types.ts'; +import { DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { TranslationKey } from '@/Base.types.ts'; -import { RecordHotkey } from '@/features/reader/components/settings/hotkeys/RecordHotkey.tsx'; -import { Hotkey } from '@/features/reader/components/settings/hotkeys/Hotkey.tsx'; +import { RecordHotkey } from '@/features/reader/hotkeys/settings/components/RecordHotkey.tsx'; +import { Hotkey } from '@/features/reader/hotkeys/settings/components/Hotkey.tsx'; import { ResetButton } from '@/features/core/components/buttons/ResetButton.tsx'; const READER_HOTKEY_TO_TITLE: Record = { diff --git a/src/features/reader/components/settings/hotkeys/RecordHotkey.tsx b/src/features/reader/hotkeys/settings/components/RecordHotkey.tsx similarity index 97% rename from src/features/reader/components/settings/hotkeys/RecordHotkey.tsx rename to src/features/reader/hotkeys/settings/components/RecordHotkey.tsx index 7d09a55d..0ed0496b 100644 --- a/src/features/reader/components/settings/hotkeys/RecordHotkey.tsx +++ b/src/features/reader/hotkeys/settings/components/RecordHotkey.tsx @@ -16,7 +16,7 @@ import DialogContent from '@mui/material/DialogContent'; import DialogActions from '@mui/material/DialogActions'; import Button from '@mui/material/Button'; import Typography from '@mui/material/Typography'; -import { Hotkey } from '@/features/reader/components/settings/hotkeys/Hotkey.tsx'; +import { Hotkey } from '@/features/reader/hotkeys/settings/components/Hotkey.tsx'; export const RecordHotkey = ({ onClose, diff --git a/src/features/reader/components/viewer/ReaderInfiniteScrollUpdateChapter.tsx b/src/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx similarity index 96% rename from src/features/reader/components/viewer/ReaderInfiniteScrollUpdateChapter.tsx rename to src/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx index f8643626..a5425f14 100644 --- a/src/features/reader/components/viewer/ReaderInfiniteScrollUpdateChapter.tsx +++ b/src/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx @@ -8,8 +8,8 @@ import { memo } from 'react'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; -import { useReaderInfiniteScrollUpdateChapter } from '@/features/reader/hooks/useReaderInfiniteScrollUpdateChapter.ts'; -import { IReaderSettings, TReaderScrollbarContext } from '@/features/reader/types/Reader.types.ts'; +import { useReaderInfiniteScrollUpdateChapter } from '@/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts'; +import { IReaderSettings, TReaderScrollbarContext } from '@/features/reader/Reader.types.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/reader/hooks/useReaderInfiniteScrollUpdateChapter.ts b/src/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts similarity index 98% rename from src/features/reader/hooks/useReaderInfiniteScrollUpdateChapter.ts rename to src/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts index 78c175ac..1ebedaa3 100644 --- a/src/features/reader/hooks/useReaderInfiniteScrollUpdateChapter.ts +++ b/src/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts @@ -8,12 +8,12 @@ import { useCallback, useEffect, useMemo } from 'react'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; -import { ReadingDirection, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { ReadingDirection, ReadingMode } from '@/features/reader/Reader.types.ts'; import { isContinuousReadingMode, isContinuousVerticalReadingMode, -} from '@/features/reader/utils/ReaderSettings.utils.tsx'; -import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.utils.tsx'; +import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { useIntersectionObserver } from '@/features/core/hooks/useIntersectionObserver.tsx'; diff --git a/src/features/reader/components/overlay/ReaderOverlay.tsx b/src/features/reader/overlay/ReaderOverlay.tsx similarity index 76% rename from src/features/reader/components/overlay/ReaderOverlay.tsx rename to src/features/reader/overlay/ReaderOverlay.tsx index 64012f27..7da1299b 100644 --- a/src/features/reader/components/overlay/ReaderOverlay.tsx +++ b/src/features/reader/overlay/ReaderOverlay.tsx @@ -8,13 +8,13 @@ import Box from '@mui/material/Box'; import { memo, useCallback, useRef, useState } from 'react'; -import { BaseReaderOverlayProps, MobileHeaderProps } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { ReaderSettings } from '@/features/reader/components/settings/ReaderSettings.tsx'; -import { ReaderPageNumber } from '@/features/reader/components/ReaderPageNumber.tsx'; -import { StandardReaderProgressBar } from '@/features/reader/components/overlay/progress-bar/variants/StandardReaderProgressBar.tsx'; -import { ReaderNavBarDesktop } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktop.tsx'; -import { ReaderOverlayHeaderMobile } from '@/features/reader/components/overlay/ReaderOverlayHeaderMobile.tsx'; -import { ReaderBottomBarMobile } from '@/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobile.tsx'; +import { BaseReaderOverlayProps, MobileHeaderProps } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { ReaderSettings } from '@/features/reader/settings/screens/ReaderSettings.tsx'; +import { ReaderPageNumber } from '@/features/reader/overlay/components/ReaderPageNumber.tsx'; +import { StandardReaderProgressBar } from '@/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx'; +import { ReaderNavBarDesktop } from '@/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx'; +import { ReaderOverlayHeaderMobile } from '@/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx'; +import { ReaderBottomBarMobile } from '@/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; diff --git a/src/features/reader/types/ReaderOverlay.types.ts b/src/features/reader/overlay/ReaderOverlay.types.ts similarity index 100% rename from src/features/reader/types/ReaderOverlay.types.ts rename to src/features/reader/overlay/ReaderOverlay.types.ts diff --git a/src/features/reader/components/ReaderPageNumber.tsx b/src/features/reader/overlay/components/ReaderPageNumber.tsx similarity index 90% rename from src/features/reader/components/ReaderPageNumber.tsx rename to src/features/reader/overlay/components/ReaderPageNumber.tsx index f6d58c61..7e66f454 100644 --- a/src/features/reader/components/ReaderPageNumber.tsx +++ b/src/features/reader/overlay/components/ReaderPageNumber.tsx @@ -16,15 +16,18 @@ import { ProgressBarType, ReadingDirection, TReaderScrollbarContext, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; -import { getPage } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +import { getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; -import { useReaderProgressBarContext } from '@/features/reader/contexts/ReaderProgressBarContext.tsx'; +import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; import { reverseString } from '@/util/Strings.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { ReaderStatePages, TReaderProgressBarContext } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { + ReaderStatePages, + TReaderProgressBarContext, +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; const BaseReaderPageNumber = ({ diff --git a/src/features/reader/contexts/ReaderOverlayContext.tsx b/src/features/reader/overlay/contexts/ReaderOverlayContext.tsx similarity index 85% rename from src/features/reader/contexts/ReaderOverlayContext.tsx rename to src/features/reader/overlay/contexts/ReaderOverlayContext.tsx index 5f2316c7..dd4cbe82 100644 --- a/src/features/reader/contexts/ReaderOverlayContext.tsx +++ b/src/features/reader/overlay/contexts/ReaderOverlayContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { TReaderOverlayContext } from '@/features/reader/types/ReaderOverlay.types.ts'; +import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; export const ReaderOverlayContext = createContext({ isVisible: false, diff --git a/src/features/reader/contexts/ReaderOverlayContextProvider.tsx b/src/features/reader/overlay/contexts/ReaderOverlayContextProvider.tsx similarity index 86% rename from src/features/reader/contexts/ReaderOverlayContextProvider.tsx rename to src/features/reader/overlay/contexts/ReaderOverlayContextProvider.tsx index c95a3ba9..9d2a7813 100644 --- a/src/features/reader/contexts/ReaderOverlayContextProvider.tsx +++ b/src/features/reader/overlay/contexts/ReaderOverlayContextProvider.tsx @@ -7,7 +7,7 @@ */ import { ReactNode, useMemo, useState } from 'react'; -import { ReaderOverlayContext } from '@/features/reader/contexts/ReaderOverlayContext.tsx'; +import { ReaderOverlayContext } from '@/features/reader/overlay/contexts/ReaderOverlayContext.tsx'; export const ReaderOverlayContextProvider = ({ children }: { children: ReactNode }) => { const [isVisible, setIsVisible] = useState(false); diff --git a/src/features/reader/hooks/useReaderHideOverlayOnUserScroll.ts b/src/features/reader/overlay/hooks/useReaderHideOverlayOnUserScroll.ts similarity index 87% rename from src/features/reader/hooks/useReaderHideOverlayOnUserScroll.ts rename to src/features/reader/overlay/hooks/useReaderHideOverlayOnUserScroll.ts index 70332894..5316b405 100644 --- a/src/features/reader/hooks/useReaderHideOverlayOnUserScroll.ts +++ b/src/features/reader/overlay/hooks/useReaderHideOverlayOnUserScroll.ts @@ -7,8 +7,8 @@ */ import { MutableRefObject, useEffect } from 'react'; -import { TReaderOverlayContext } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; export const useReaderHideOverlayOnUserScroll = ( isOverlayVisible: boolean, diff --git a/src/features/reader/components/overlay/ReaderOverlayHeaderMobile.tsx b/src/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx similarity index 92% rename from src/features/reader/components/overlay/ReaderOverlayHeaderMobile.tsx rename to src/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx index 01bf9c7f..fe83eb65 100644 --- a/src/features/reader/components/overlay/ReaderOverlayHeaderMobile.tsx +++ b/src/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx @@ -21,23 +21,23 @@ import { forwardRef, memo } from 'react'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; import { makeToast } from '@/features/core/utils/Toast.ts'; -import { MobileHeaderProps } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder'; +import { MobileHeaderProps } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; import { ReaderStateChapters, TReaderScrollbarContext, TReaderStateMangaContext, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; -import { ReaderLibraryButton } from '@/features/reader/components/overlay/navigation/ReaderLibraryButton.tsx'; -import { ReaderBookmarkButton } from '@/features/reader/components/overlay/navigation/ReaderBookmarkButton.tsx'; +import { ReaderLibraryButton } from '@/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx'; +import { ReaderBookmarkButton } from '@/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx'; import { FALLBACK_CHAPTER } from '@/features/chapter/Chapter.constants.ts'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; -import { ReaderExitButton } from '@/features/reader/components/overlay/navigation/ReaderExitButton.tsx'; +import { ReaderExitButton } from '@/features/reader/overlay/navigation/components/ReaderExitButton.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; const DEFAULT_MANGA = { ...FALLBACK_MANGA, title: '' }; diff --git a/src/features/reader/components/overlay/navigation/ReaderBookmarkButton.tsx b/src/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx similarity index 100% rename from src/features/reader/components/overlay/navigation/ReaderBookmarkButton.tsx rename to src/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx diff --git a/src/features/reader/components/overlay/navigation/ReaderChapterList.tsx b/src/features/reader/overlay/navigation/components/ReaderChapterList.tsx similarity index 95% rename from src/features/reader/components/overlay/navigation/ReaderChapterList.tsx rename to src/features/reader/overlay/navigation/components/ReaderChapterList.tsx index 01ac8b0c..b4f339eb 100644 --- a/src/features/reader/components/overlay/navigation/ReaderChapterList.tsx +++ b/src/features/reader/overlay/navigation/components/ReaderChapterList.tsx @@ -8,7 +8,7 @@ import { Virtuoso, VirtuosoProps } from 'react-virtuoso'; import { useMemo } from 'react'; -import { ReaderStateChapters } from '@/features/reader/types/Reader.types.ts'; +import { ReaderStateChapters } from '@/features/reader/Reader.types.ts'; import { ChapterListCard } from '@/features/chapter/components/cards/ChapterListCard.tsx'; const onSelectNoop = () => {}; diff --git a/src/features/reader/components/overlay/navigation/ReaderExitButton.tsx b/src/features/reader/overlay/navigation/components/ReaderExitButton.tsx similarity index 100% rename from src/features/reader/components/overlay/navigation/ReaderExitButton.tsx rename to src/features/reader/overlay/navigation/components/ReaderExitButton.tsx diff --git a/src/features/reader/components/overlay/navigation/ReaderLibraryButton.tsx b/src/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx similarity index 95% rename from src/features/reader/components/overlay/navigation/ReaderLibraryButton.tsx rename to src/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx index 73a1c562..83d4b3db 100644 --- a/src/features/reader/components/overlay/navigation/ReaderLibraryButton.tsx +++ b/src/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx @@ -14,7 +14,7 @@ import { memo } from 'react'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; import { useManageMangaLibraryState } from '@/features/manga/hooks/useManageMangaLibraryState.tsx'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; -import { TReaderStateMangaContext } from '@/features/reader/types/Reader.types.ts'; +import { TReaderStateMangaContext } from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; diff --git a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktop.tsx b/src/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx similarity index 88% rename from src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktop.tsx rename to src/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx index 7bd1ef72..89c2ca9b 100644 --- a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktop.tsx +++ b/src/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx @@ -15,13 +15,13 @@ import Divider from '@mui/material/Divider'; import { memo, useCallback, useLayoutEffect, useRef, useState } from 'react'; import Drawer from '@mui/material/Drawer'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { ReaderNavBarDesktopProps } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { ReaderNavContainer } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavContainer.tsx'; -import { ReaderNavBarDesktopMetadata } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopMetadata.tsx'; -import { ReaderNavBarDesktopPageNavigation } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx'; -import { ReaderNavBarDesktopChapterNavigation } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopChapterNavigation.tsx'; -import { ReaderNavBarDesktopQuickSettings } from '@/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx'; -import { ReaderNavBarDesktopActions } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopActions.tsx'; +import { ReaderNavBarDesktopProps } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { ReaderNavContainer } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavContainer.tsx'; +import { ReaderNavBarDesktopMetadata } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopMetadata.tsx'; +import { ReaderNavBarDesktopPageNavigation } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx'; +import { ReaderNavBarDesktopChapterNavigation } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx'; +import { ReaderNavBarDesktopQuickSettings } from '@/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx'; +import { ReaderNavBarDesktopActions } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; @@ -30,14 +30,10 @@ import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { - IReaderSettings, - ReaderStateChapters, - TReaderStateMangaContext, -} from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReaderStateChapters, TReaderStateMangaContext } from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; -import { ReaderExitButton } from '@/features/reader/components/overlay/navigation/ReaderExitButton.tsx'; +import { ReaderExitButton } from '@/features/reader/overlay/navigation/components/ReaderExitButton.tsx'; const useGetPreviousNavBarStaticValue = (isVisible: boolean, isStaticNav: boolean) => { const wasNavBarStaticRef = useRef(isStaticNav); diff --git a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopActions.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx similarity index 93% rename from src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopActions.tsx rename to src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx index 29ba26f2..3434f6dc 100644 --- a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopActions.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx @@ -15,14 +15,14 @@ import { memo, useMemo, useRef } from 'react'; import DeleteIcon from '@mui/icons-material/Delete'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { ReaderStateChapters } from '@/features/reader/types/Reader.types.ts'; +import { ReaderStateChapters } from '@/features/reader/Reader.types.ts'; import { DownloadStateIndicator } from '@/features/core/components/downloads/DownloadStateIndicator.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; -import { ReaderLibraryButton } from '@/features/reader/components/overlay/navigation/ReaderLibraryButton.tsx'; -import { ReaderBookmarkButton } from '@/features/reader/components/overlay/navigation/ReaderBookmarkButton.tsx'; +import { ReaderLibraryButton } from '@/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx'; +import { ReaderBookmarkButton } from '@/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx'; import { CHAPTER_ACTION_TO_TRANSLATION, FALLBACK_CHAPTER } from '@/features/chapter/Chapter.constants.ts'; import { IconBrowser } from '@/assets/icons/IconBrowser.tsx'; import { IconWebView } from '@/assets/icons/IconWebView.tsx'; diff --git a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopChapterNavigation.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx similarity index 95% rename from src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopChapterNavigation.tsx rename to src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx index 7a016dfc..4dee6d60 100644 --- a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopChapterNavigation.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx @@ -17,12 +17,12 @@ import FormControl from '@mui/material/FormControl'; import InputLabel from '@mui/material/InputLabel'; import { Link } from 'react-router-dom'; import { Select } from '@/features/core/components/inputs/Select.tsx'; -import { ReaderChapterList } from '@/features/reader/components/overlay/navigation/ReaderChapterList.tsx'; -import { ReaderNavBarDesktopNextPreviousButton } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopNextPreviousButton.tsx'; +import { ReaderChapterList } from '@/features/reader/overlay/navigation/components/ReaderChapterList.tsx'; +import { ReaderNavBarDesktopNextPreviousButton } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; -import { ReaderStateChapters } from '@/features/reader/types/Reader.types.ts'; +import { ReaderStateChapters } from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; const BaseReaderNavBarDesktopChapterNavigation = ({ diff --git a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopMetadata.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopMetadata.tsx similarity index 100% rename from src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopMetadata.tsx rename to src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopMetadata.tsx diff --git a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopNextPreviousButton.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx similarity index 100% rename from src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopNextPreviousButton.tsx rename to src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx diff --git a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx similarity index 92% rename from src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx rename to src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx index 1571ac00..490dd77a 100644 --- a/src/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx @@ -13,14 +13,14 @@ import { memo, useMemo } from 'react'; import FormControl from '@mui/material/FormControl'; import InputLabel from '@mui/material/InputLabel'; import { Select } from '@/features/core/components/inputs/Select.tsx'; -import { getNextIndexFromPage, getPage } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; import { useGetOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { ReaderNavBarDesktopNextPreviousButton } from '@/features/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopNextPreviousButton.tsx'; -import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/constants/ReaderSettings.constants.tsx'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { ReaderNavBarDesktopNextPreviousButton } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx'; +import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; diff --git a/src/features/reader/components/overlay/navigation/desktop/ReaderNavContainer.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavContainer.tsx similarity index 100% rename from src/features/reader/components/overlay/navigation/desktop/ReaderNavContainer.tsx rename to src/features/reader/overlay/navigation/desktop/components/ReaderNavContainer.tsx diff --git a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx similarity index 89% rename from src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx rename to src/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx index 903efa54..e011c995 100644 --- a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx @@ -10,17 +10,17 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; import SettingsIcon from '@mui/icons-material/Settings'; -import { ReaderNavBarDesktopPageScale } from '@/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopPageScale.tsx'; -import { ReaderNavBarDesktopReadingMode } from '@/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingMode.tsx'; -import { ReaderNavBarDesktopOffsetDoubleSpread } from '@/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopOffsetDoubleSpread.tsx'; -import { ReaderNavBarDesktopReadingDirection } from '@/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingDirection.tsx'; -import { IReaderSettingsWithDefaultFlag, TReaderStateMangaContext } from '@/features/reader/types/Reader.types.ts'; -import { ReaderNavBarDesktopProps } from '@/features/reader/types/ReaderOverlay.types.ts'; +import { ReaderNavBarDesktopPageScale } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx'; +import { ReaderNavBarDesktopReadingMode } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx'; +import { ReaderNavBarDesktopOffsetDoubleSpread } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopOffsetDoubleSpread.tsx'; +import { ReaderNavBarDesktopReadingDirection } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx'; +import { IReaderSettingsWithDefaultFlag, TReaderStateMangaContext } from '@/features/reader/Reader.types.ts'; +import { ReaderNavBarDesktopProps } from '@/features/reader/overlay/ReaderOverlay.types.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; -import { ReaderNavBarDesktopAutoScroll } from '@/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopAutoScroll.tsx'; +import { ReaderNavBarDesktopAutoScroll } from '@/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx'; const BaseReaderNavBarDesktopQuickSettings = ({ manga, diff --git a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopOffsetDoubleSpread.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopOffsetDoubleSpread.tsx similarity index 92% rename from src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopOffsetDoubleSpread.tsx rename to src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopOffsetDoubleSpread.tsx index 8886762e..4c8381af 100644 --- a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopOffsetDoubleSpread.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopOffsetDoubleSpread.tsx @@ -9,8 +9,8 @@ import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; import { OffsetDoubleSpreadIcon } from '@/assets/icons/svg/OffsetDoubleSpreadIcon.tsx'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; -import { isOffsetDoubleSpreadPagesEditable } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; +import { isOffsetDoubleSpreadPagesEditable } from '@/features/reader/settings/ReaderSettings.utils.tsx'; export const ReaderNavBarDesktopOffsetDoubleSpread = ({ readingMode, diff --git a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopPageScale.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx similarity index 96% rename from src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopPageScale.tsx rename to src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx index ab52b3c4..511d23ba 100644 --- a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopPageScale.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx @@ -15,12 +15,12 @@ import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReaderPageScaleMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { PAGE_SCALE_VALUE_TO_DISPLAY_DATA, READER_PAGE_SCALE_MODE_TO_SCALING_ALLOWED, READER_PAGE_SCALE_MODE_VALUES, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; import { CustomButtonIcon } from '@/features/core/components/buttons/CustomButtonIcon.tsx'; diff --git a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingDirection.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx similarity index 93% rename from src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingDirection.tsx rename to src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx index 474e3466..4468151e 100644 --- a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingDirection.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx @@ -8,11 +8,11 @@ import { useTranslation } from 'react-i18next'; import { ValueRotationButton } from '@/features/core/components/buttons/ValueRotationButton.tsx'; -import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/Reader.types.ts'; import { READING_DIRECTION_VALUES, READING_DIRECTION_VALUE_TO_DISPLAY_DATA, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; export const ReaderNavBarDesktopReadingDirection = ({ diff --git a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingMode.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx similarity index 93% rename from src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingMode.tsx rename to src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx index 89b2b857..22f01f57 100644 --- a/src/features/reader/components/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopReadingMode.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx @@ -8,11 +8,11 @@ import { useTranslation } from 'react-i18next'; import { ValueRotationButton } from '@/features/core/components/buttons/ValueRotationButton.tsx'; -import { IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/Reader.types.ts'; import { READING_MODE_VALUE_TO_DISPLAY_DATA, READING_MODE_VALUES, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; export const ReaderNavBarDesktopReadingMode = ({ diff --git a/src/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobile.tsx b/src/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx similarity index 93% rename from src/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobile.tsx rename to src/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx index 3125c0bc..f8f2f8da 100644 --- a/src/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobile.tsx +++ b/src/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx @@ -19,13 +19,13 @@ import { useTranslation } from 'react-i18next'; import Slide from '@mui/material/Slide'; import { memo, useCallback, useLayoutEffect, useRef, useState } from 'react'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { ReaderBottomBarMobileProps } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { MobileReaderProgressBar } from '@/features/reader/components/overlay/progress-bar/variants/MobileReaderProgressBar.tsx'; -import { ReaderChapterList } from '@/features/reader/components/overlay/navigation/ReaderChapterList.tsx'; -import { ReaderBottomBarMobileQuickSettings } from '@/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobileQuickSettings.tsx'; +import { ReaderBottomBarMobileProps } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { MobileReaderProgressBar } from '@/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx'; +import { ReaderChapterList } from '@/features/reader/overlay/navigation/components/ReaderChapterList.tsx'; +import { ReaderBottomBarMobileQuickSettings } from '@/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; -import { ReaderStateChapters, TReaderScrollbarContext } from '@/features/reader/types/Reader.types.ts'; +import { ReaderStateChapters, TReaderScrollbarContext } from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; diff --git a/src/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobileQuickSettings.tsx b/src/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx similarity index 83% rename from src/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobileQuickSettings.tsx rename to src/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx index b9834130..f25fef21 100644 --- a/src/features/reader/components/overlay/navigation/mobile/ReaderBottomBarMobileQuickSettings.tsx +++ b/src/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx @@ -9,21 +9,21 @@ import Stack from '@mui/material/Stack'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import { ReaderSettingReadingMode } from '@/features/reader/components/settings/layout/ReaderSettingReadingMode.tsx'; -import { ReaderSettingReadingDirection } from '@/features/reader/components/settings/layout/ReaderSettingReadingDirection.tsx'; +import { ReaderSettingReadingMode } from '@/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx'; +import { ReaderSettingReadingDirection } from '@/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; -import { DefaultSettingFootnote } from '@/features/reader/components/settings/DefaultSettingFootnote.tsx'; +import { DefaultSettingFootnote } from '@/features/reader/settings/components/DefaultSettingFootnote.tsx'; import { IReaderSettingsWithDefaultFlag, TReaderAutoScrollContext, TReaderStateMangaContext, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; -import { ReaderSettingAutoScroll } from '@/features/reader/components/settings/behaviour/ReaderSettingAutoScroll.tsx'; +import { ReaderSettingAutoScroll } from '@/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; -import { useReaderAutoScrollContext } from '@/features/reader/contexts/ReaderAutoScrollContext.tsx'; +import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx'; const BaseReaderBottomBarMobileQuickSettings = ({ manga, diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBar.tsx b/src/features/reader/overlay/progress-bar/ReaderProgressBar.tsx similarity index 91% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBar.tsx rename to src/features/reader/overlay/progress-bar/ReaderProgressBar.tsx index 26ec1bfa..7f11e425 100644 --- a/src/features/reader/components/overlay/progress-bar/ReaderProgressBar.tsx +++ b/src/features/reader/overlay/progress-bar/ReaderProgressBar.tsx @@ -11,29 +11,32 @@ import { ComponentProps, memo, ReactNode, useCallback, useMemo, useRef, useState import ClickAwayListener from '@mui/material/ClickAwayListener'; import { TypographyProps } from '@mui/material/Typography'; import { StackProps } from '@mui/material/Stack'; -import { ReaderProgressBarProps, TReaderProgressBarContext } from '@/features/reader/types/ReaderProgressBar.types.ts'; -import { ReaderProgressBarPageNumber } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarPageNumber.tsx'; -import { ReaderProgressBarContainer } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarContainer.tsx'; -import { ReaderProgressBarRoot } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarRoot.tsx'; -import { ReaderProgressBarSlotsContainer } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotsContainer.tsx'; -import { ProgressBarHighlightReadPages } from '@/features/reader/components/overlay/progress-bar/ProgressBarHighlightReadPages.tsx'; -import { ReaderProgressBarCurrentPageSlot } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarCurrentPageSlot.tsx'; +import { + ReaderProgressBarProps, + TReaderProgressBarContext, +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; +import { ReaderProgressBarPageNumber } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarPageNumber.tsx'; +import { ReaderProgressBarContainer } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx'; +import { ReaderProgressBarRoot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarRoot.tsx'; +import { ReaderProgressBarSlotsContainer } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotsContainer.tsx'; +import { ProgressBarHighlightReadPages } from '@/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx'; +import { ReaderProgressBarCurrentPageSlot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx'; import { getNextIndexFromPage, getPage, getPageForMousePos, getProgressBarPositionInfo, -} from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; import { getOptionForDirection as getOptionForDirectionImpl } from '@/features/theme/services/ThemeCreator.ts'; -import { ReaderProgressBarSlotsActionArea } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotsActionArea.tsx'; +import { ReaderProgressBarSlotsActionArea } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotsActionArea.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; -import { useReaderProgressBarContext } from '@/features/reader/contexts/ReaderProgressBarContext.tsx'; -import { ReaderProgressBarSlotWrapper } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotWrapper.tsx'; +import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx'; +import { ReaderProgressBarSlotWrapper } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; -import { IReaderSettings, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReadingMode } from '@/features/reader/Reader.types.ts'; const BaseReaderProgressBar = ({ totalPages, diff --git a/src/features/reader/types/ReaderProgressBar.types.ts b/src/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts similarity index 98% rename from src/features/reader/types/ReaderProgressBar.types.ts rename to src/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts index 37ca064b..8d0b31e7 100644 --- a/src/features/reader/types/ReaderProgressBar.types.ts +++ b/src/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts @@ -8,7 +8,7 @@ import { BoxProps } from '@mui/material/Box'; import { TooltipProps } from '@mui/material/Tooltip'; -import { IReaderSettings, ReaderTransitionPageMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReaderTransitionPageMode } from '@/features/reader/Reader.types.ts'; interface SinglePageData { index: number; diff --git a/src/features/reader/utils/ReaderProgressBar.utils.tsx b/src/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx similarity index 94% rename from src/features/reader/utils/ReaderProgressBar.utils.tsx rename to src/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx index 3dcd663e..cfffc1da 100644 --- a/src/features/reader/utils/ReaderProgressBar.utils.tsx +++ b/src/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx @@ -6,9 +6,12 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { ReaderProgressBarProps, TReaderProgressCurrentPage } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { + ReaderProgressBarProps, + TReaderProgressCurrentPage, +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { getOptionForDirection as getOptionForDirectionImpl } from '@/features/theme/services/ThemeCreator.ts'; -import { ProgressBarPosition } from '@/features/reader/types/Reader.types.ts'; +import { ProgressBarPosition } from '@/features/reader/Reader.types.ts'; import { coerceIn } from '@/lib/HelperFunctions.ts'; export const getPage = (pageIndex: number, pages: ReaderProgressBarProps['pages']): TReaderProgressCurrentPage => { diff --git a/src/features/reader/components/overlay/progress-bar/ProgressBarHighlightReadPages.tsx b/src/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx similarity index 88% rename from src/features/reader/components/overlay/progress-bar/ProgressBarHighlightReadPages.tsx rename to src/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx index 45e8f7d3..c5c2cf89 100644 --- a/src/features/reader/components/overlay/progress-bar/ProgressBarHighlightReadPages.tsx +++ b/src/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx @@ -9,9 +9,9 @@ import Box from '@mui/material/Box'; import { styled } from '@mui/material/styles'; import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { getProgressBarPositionInfo } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +import { getProgressBarPositionInfo } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; type ProgressBarHighlightReadPagesProps = Pick & { currentPagesIndex: number; diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarContainer.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx similarity index 89% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarContainer.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx index 8c16e2eb..4a76bb9a 100644 --- a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarContainer.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx @@ -8,10 +8,10 @@ import Stack from '@mui/material/Stack'; import { styled } from '@mui/material/styles'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { getProgressBarPositionInfo } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +import { getProgressBarPositionInfo } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; type ReaderProgressBarContainerProps = Pick; export const ReaderProgressBarContainer = styled(Stack, { diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarCurrentPageSlot.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx similarity index 87% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarCurrentPageSlot.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx index e16d71c4..bf437118 100644 --- a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarCurrentPageSlot.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx @@ -9,10 +9,10 @@ import Box from '@mui/material/Box'; import { ReactNode } from 'react'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { CurrentPageSlotProps } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { CurrentPageSlotProps } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { getProgressBarPositionInfo } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; -import { READER_PROGRESS_BAR_POSITION_TO_PLACEMENT } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { getProgressBarPositionInfo } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; +import { READER_PROGRESS_BAR_POSITION_TO_PLACEMENT } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderProgressBarCurrentPageSlot = ({ pageName, diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarDirectionWrapper.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx similarity index 100% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarDirectionWrapper.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarPageNumber.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarPageNumber.tsx similarity index 100% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarPageNumber.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarPageNumber.tsx diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarRoot.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarRoot.tsx similarity index 100% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarRoot.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarRoot.tsx diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlot.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx similarity index 86% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlot.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx index 3b58c6c5..fc36864c 100644 --- a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlot.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx @@ -9,9 +9,9 @@ import Box from '@mui/material/Box'; import { memo, ReactNode } from 'react'; import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { ReaderProgressBarSlotProps } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReaderProgressBarSlotProps } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; -import { READER_PROGRESS_BAR_POSITION_TO_PLACEMENT } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { READER_PROGRESS_BAR_POSITION_TO_PLACEMENT } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderProgressBarSlot = memo( ({ pageName, progressBarPosition, slotProps, children }: ReaderProgressBarSlotProps & { children?: ReactNode }) => ( diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotWrapper.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx similarity index 96% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotWrapper.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx index 523d7561..a6a8aad3 100644 --- a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotWrapper.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx @@ -9,7 +9,7 @@ import Box, { BoxProps } from '@mui/material/Box'; import { memo, ReactNode, useMemo } from 'react'; import { styled } from '@mui/material/styles'; -import { ReaderProgressBarProps } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReaderProgressBarProps } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; type StyledWrapperProps = { diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotsActionArea.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotsActionArea.tsx similarity index 100% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotsActionArea.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotsActionArea.tsx diff --git a/src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotsContainer.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotsContainer.tsx similarity index 100% rename from src/features/reader/components/overlay/progress-bar/ReaderProgressBarSlotsContainer.tsx rename to src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotsContainer.tsx diff --git a/src/features/reader/contexts/ReaderProgressBarContext.tsx b/src/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx similarity index 84% rename from src/features/reader/contexts/ReaderProgressBarContext.tsx rename to src/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx index edeebaa6..772e6f16 100644 --- a/src/features/reader/contexts/ReaderProgressBarContext.tsx +++ b/src/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { TReaderProgressBarContext } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { TReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; export const ReaderProgressBarContext = createContext({ isMaximized: false, diff --git a/src/features/reader/contexts/ReaderProgressBarContextProvider.tsx b/src/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContextProvider.tsx similarity index 86% rename from src/features/reader/contexts/ReaderProgressBarContextProvider.tsx rename to src/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContextProvider.tsx index 746b5f04..97ed6b84 100644 --- a/src/features/reader/contexts/ReaderProgressBarContextProvider.tsx +++ b/src/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContextProvider.tsx @@ -7,7 +7,7 @@ */ import { ReactNode, useMemo, useState } from 'react'; -import { ReaderProgressBarContext } from '@/features/reader/contexts/ReaderProgressBarContext.tsx'; +import { ReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx'; export const ReaderProgressBarContextProvider = ({ children }: { children: ReactNode }) => { const [isMaximized, setIsMaximized] = useState(false); diff --git a/src/features/reader/components/overlay/progress-bar/variants/StandardReaderProgressBar.tsx b/src/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx similarity index 94% rename from src/features/reader/components/overlay/progress-bar/variants/StandardReaderProgressBar.tsx rename to src/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx index ad96e85b..78024394 100644 --- a/src/features/reader/components/overlay/progress-bar/variants/StandardReaderProgressBar.tsx +++ b/src/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx @@ -8,22 +8,25 @@ import { useTheme } from '@mui/material/styles'; import { memo, useCallback, useState } from 'react'; -import { ReaderProgressBar } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBar.tsx'; +import { ReaderProgressBar } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.tsx'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { IReaderSettings, ProgressBarType, TReaderScrollbarContext } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ProgressBarType, TReaderScrollbarContext } from '@/features/reader/Reader.types.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { getProgressBarPositionInfo } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; -import { ReaderProgressBarDirectionWrapper } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarDirectionWrapper.tsx'; -import { ReaderProgressBarProps, TReaderProgressBarContext } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { getProgressBarPositionInfo } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; +import { ReaderProgressBarDirectionWrapper } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx'; +import { + ReaderProgressBarProps, + TReaderProgressBarContext, +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; -import { useReaderProgressBarContext } from '@/features/reader/contexts/ReaderProgressBarContext.tsx'; +import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; -import { ReaderProgressBarSlotDesktop } from '@/features/reader/components/overlay/progress-bar/desktop/ReaderProgressBarSlotDesktop.tsx'; +import { ReaderProgressBarSlotDesktop } from '@/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; -import { getProgressBarPosition } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +import { getProgressBarPosition } from '@/features/reader/settings/ReaderSettings.utils.tsx'; const BaseStandardReaderProgressBar = ({ readerNavBarWidth, diff --git a/src/features/reader/components/overlay/progress-bar/desktop/ReaderProgressBarSlotDesktop.tsx b/src/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx similarity index 94% rename from src/features/reader/components/overlay/progress-bar/desktop/ReaderProgressBarSlotDesktop.tsx rename to src/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx index 73959ba6..8097e05d 100644 --- a/src/features/reader/components/overlay/progress-bar/desktop/ReaderProgressBarSlotDesktop.tsx +++ b/src/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx @@ -10,8 +10,8 @@ import { alpha, darken, lighten, useTheme } from '@mui/material/styles'; import Box from '@mui/material/Box'; import { memo } from 'react'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { ReaderProgressBarSlot } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarSlot.tsx'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { ReaderProgressBarSlot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; export const ReaderProgressBarSlotDesktop = memo( ({ diff --git a/src/features/reader/components/overlay/progress-bar/variants/MobileReaderProgressBar.tsx b/src/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx similarity index 93% rename from src/features/reader/components/overlay/progress-bar/variants/MobileReaderProgressBar.tsx rename to src/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx index 88c52ce5..ac696f39 100644 --- a/src/features/reader/components/overlay/progress-bar/variants/MobileReaderProgressBar.tsx +++ b/src/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx @@ -14,28 +14,34 @@ import { alpha } from '@mui/material/styles'; import Box from '@mui/material/Box'; import { ComponentProps, memo, useCallback, useLayoutEffect, useMemo, useState } from 'react'; import Slide, { SlideProps } from '@mui/material/Slide'; -import { ReaderProgressBar } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBar.tsx'; +import { ReaderProgressBar } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.tsx'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { getPage, getProgressBarPositionInfo } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +import { + getPage, + getProgressBarPositionInfo, +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { IReaderSettings, ProgressBarPosition, ReaderStateChapters, TReaderScrollbarContext, -} from '@/features/reader/types/Reader.types.ts'; -import { ReaderProgressBarDirectionWrapper } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarDirectionWrapper.tsx'; -import { useReaderProgressBarContext } from '@/features/reader/contexts/ReaderProgressBarContext.tsx'; -import { useReaderOverlayContext } from '@/features/reader/contexts/ReaderOverlayContext.tsx'; +} from '@/features/reader/Reader.types.ts'; +import { ReaderProgressBarDirectionWrapper } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx'; +import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/contexts/ReaderProgressBarContext.tsx'; +import { useReaderOverlayContext } from '@/features/reader/overlay/contexts/ReaderOverlayContext.tsx'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; -import { TReaderOverlayContext } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { ReaderProgressBarProps, TReaderProgressBarContext } from '@/features/reader/types/ReaderProgressBar.types.ts'; -import { ReaderProgressBarSlotMobile } from '@/features/reader/components/overlay/progress-bar/mobile/ReaderProgressBarSlotMobile.tsx'; +import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { + ReaderProgressBarProps, + TReaderProgressBarContext, +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; +import { ReaderProgressBarSlotMobile } from '@/features/reader/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; -import { getProgressBarPosition } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +import { getProgressBarPosition } from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; diff --git a/src/features/reader/components/overlay/progress-bar/mobile/ReaderProgressBarSlotMobile.tsx b/src/features/reader/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx similarity index 93% rename from src/features/reader/components/overlay/progress-bar/mobile/ReaderProgressBarSlotMobile.tsx rename to src/features/reader/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx index 652aa70e..c9e79bf0 100644 --- a/src/features/reader/components/overlay/progress-bar/mobile/ReaderProgressBarSlotMobile.tsx +++ b/src/features/reader/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx @@ -8,9 +8,9 @@ import Box from '@mui/material/Box'; import { ComponentProps, memo } from 'react'; -import { ProgressBarPosition } from '@/features/reader/types/Reader.types.ts'; +import { ProgressBarPosition } from '@/features/reader/Reader.types.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { ReaderProgressBarSlot } from '@/features/reader/components/overlay/progress-bar/ReaderProgressBarSlot'; +import { ReaderProgressBarSlot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx'; const SLOT_SX_PROP: NonNullable['slotProps']>['box']>['sx'] = { display: 'flex', diff --git a/src/features/reader/components/settings/general/ReaderSettingProgressBarPosition.tsx b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx similarity index 98% rename from src/features/reader/components/settings/general/ReaderSettingProgressBarPosition.tsx rename to src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx index 55c5176d..5d877752 100644 --- a/src/features/reader/components/settings/general/ReaderSettingProgressBarPosition.tsx +++ b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx @@ -14,7 +14,7 @@ import { IReaderSettings, ProgressBarPosition, ProgressBarPositionAutoVertical, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { ValueToDisplayData } from '@/features/core/Core.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; diff --git a/src/features/reader/components/settings/general/ReaderSettingProgressBarSize.tsx b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx similarity index 94% rename from src/features/reader/components/settings/general/ReaderSettingProgressBarSize.tsx rename to src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx index 46df8c3a..5fe95627 100644 --- a/src/features/reader/components/settings/general/ReaderSettingProgressBarSize.tsx +++ b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx @@ -7,9 +7,9 @@ */ import { useTranslation } from 'react-i18next'; -import { IReaderSettings, ProgressBarType, ReaderOverlayMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ProgressBarType, ReaderOverlayMode } from '@/features/reader/Reader.types.ts'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { AUTO_SCROLL_SPEED, DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { AUTO_SCROLL_SPEED, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingProgressBarSize = ({ overlayMode, diff --git a/src/features/reader/components/settings/general/ReaderSettingProgressBarType.tsx b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx similarity index 97% rename from src/features/reader/components/settings/general/ReaderSettingProgressBarType.tsx rename to src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx index 4b646bc5..df1096f9 100644 --- a/src/features/reader/components/settings/general/ReaderSettingProgressBarType.tsx +++ b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx @@ -7,7 +7,7 @@ */ import { useTranslation } from 'react-i18next'; -import { IReaderSettings, ProgressBarType, ReaderOverlayMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ProgressBarType, ReaderOverlayMode } from '@/features/reader/Reader.types.ts'; import { ValueToDisplayData } from '@/features/core/Core.types.ts'; import { HiddenProgressBarIcon } from '@/assets/icons/svg/HiddenProgressBarIcon.tsx'; import { StandardProgressBarIcon } from '@/assets/icons/svg/StandardProgressBarIcon.tsx'; diff --git a/src/features/reader/components/settings/general/ReaderSettingOverlayMode.tsx b/src/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx similarity index 98% rename from src/features/reader/components/settings/general/ReaderSettingOverlayMode.tsx rename to src/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx index 6d882a49..c3dbb9d6 100644 --- a/src/features/reader/components/settings/general/ReaderSettingOverlayMode.tsx +++ b/src/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx @@ -10,7 +10,7 @@ import { useTranslation } from 'react-i18next'; import PhoneIphoneIcon from '@mui/icons-material/PhoneIphone'; import ComputerIcon from '@mui/icons-material/Computer'; import AutoModeIcon from '@mui/icons-material/AutoMode'; -import { IReaderSettings, ReaderOverlayMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReaderOverlayMode } from '@/features/reader/Reader.types.ts'; import { ValueToDisplayData } from '@/features/core/Core.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; diff --git a/src/features/reader/screens/Reader.tsx b/src/features/reader/screens/Reader.tsx index e17e1e52..e41695f2 100644 --- a/src/features/reader/screens/Reader.tsx +++ b/src/features/reader/screens/Reader.tsx @@ -10,9 +10,9 @@ import Box from '@mui/material/Box'; import { memo, useEffect, useLayoutEffect, useRef, useState } from 'react'; import { useParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { useDefaultReaderSettings } from '@/features/reader/services/ReaderSettingsMetadata.ts'; +import { useDefaultReaderSettings } from '@/features/reader/settings/ReaderSettingsMetadata.ts'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; -import { ReaderOverlay } from '@/features/reader/components/overlay/ReaderOverlay.tsx'; +import { ReaderOverlay } from '@/features/reader/overlay/ReaderOverlay.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { GetChaptersReaderQuery, GetMangaReaderQuery } from '@/lib/graphql/generated/graphql.ts'; import { GET_MANGA_READER } from '@/lib/graphql/queries/MangaQuery.ts'; @@ -21,15 +21,15 @@ import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/E import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { GET_CHAPTERS_READER } from '@/lib/graphql/queries/ChapterQuery.ts'; -import { TapZoneLayout } from '@/features/reader/components/TapZoneLayout.tsx'; -import { useReaderOverlayContext } from '@/features/reader/contexts/ReaderOverlayContext.tsx'; -import { ReaderRGBAFilter } from '@/features/reader/components/ReaderRGBAFilter.tsx'; +import { TapZoneLayout } from '@/features/reader/tap-zones/TapZoneLayout.tsx'; +import { useReaderOverlayContext } from '@/features/reader/overlay/contexts/ReaderOverlayContext.tsx'; +import { ReaderRGBAFilter } from '@/features/reader/filters/ReaderRGBAFilter.tsx'; import { useReaderStateSettingsContext } from '@/features/reader/contexts/state/ReaderStateSettingsContext.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; -import { ReaderViewer } from '@/features/reader/components/viewer/ReaderViewer.tsx'; +import { ReaderViewer } from '@/features/reader/viewer/ReaderViewer.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { READER_BACKGROUND_TO_COLOR } from '@/features/reader/constants/ReaderSettings.constants.tsx'; -import { ReaderHotkeys } from '@/features/reader/components/ReaderHotkeys.tsx'; +import { READER_BACKGROUND_TO_COLOR } from '@/features/reader/settings/ReaderSettings.constants.tsx'; +import { ReaderHotkeys } from '@/features/reader/hotkeys/ReaderHotkeys.tsx'; import { IReaderSettings, IReaderSettingsWithDefaultFlag, @@ -37,16 +37,16 @@ import { TReaderAutoScrollContext, TReaderStateMangaContext, TReaderStateSettingsContext, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { TReaderOverlayContext } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; -import { useReaderAutoScrollContext } from '@/features/reader/contexts/ReaderAutoScrollContext.tsx'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; -import { useReaderTapZoneContext } from '@/features/reader/contexts/ReaderTapZoneContext.tsx'; +import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; +import { useReaderTapZoneContext } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx'; import { useReaderResetStates } from '@/features/reader/hooks/useReaderResetStates.ts'; import { useReaderSetSettingsState } from '@/features/reader/hooks/useReaderSetSettingsState.ts'; import { useReaderShowSettingPreviewOnChange } from '@/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts'; diff --git a/src/features/reader/services/ReaderControls.ts b/src/features/reader/services/ReaderControls.ts index ea663ecf..07ba9d94 100644 --- a/src/features/reader/services/ReaderControls.ts +++ b/src/features/reader/services/ReaderControls.ts @@ -17,7 +17,7 @@ import { getPage, getPageForMousePos, getProgressBarPositionInfo, -} from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; @@ -28,32 +28,35 @@ import { ReaderTransitionPageMode, ReadingDirection, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { ScrollDirection, ScrollOffset } from '@/features/core/Core.types.ts'; -import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { isATransitionPageVisible, isEndOfPageInViewport, isPageInViewport, -} from '@/features/reader/utils/ReaderPager.utils.tsx'; -import { useReaderOverlayContext } from '@/features/reader/contexts/ReaderOverlayContext.tsx'; -import { useReaderTapZoneContext } from '@/features/reader/contexts/ReaderTapZoneContext.tsx'; -import { TapZoneRegionType, TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; -import { ReaderTapZoneService } from '@/features/reader/services/ReaderTapZoneService.ts'; -import { isContinuousReadingMode } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +} from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; +import { useReaderOverlayContext } from '@/features/reader/overlay/contexts/ReaderOverlayContext.tsx'; +import { useReaderTapZoneContext } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx'; +import { TapZoneRegionType, TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; +import { ReaderTapZoneService } from '@/features/reader/tap-zones/ReaderTapZoneService.ts'; +import { isContinuousReadingMode } from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { getReaderChapterFromCache, getReaderOpenChapterResumeMode, updateReaderStateVisibleChapters, -} from '@/features/reader/utils/Reader.utils.ts'; +} from '@/features/reader/Reader.utils.ts'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { DirectionOffset, TranslationKey } from '@/Base.types.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { ChapterIdInfo, TChapterReader } from '@/features/chapter/Chapter.types.ts'; import { awaitConfirmation } from '@/features/core/utils/AwaitableDialog.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { TReaderOverlayContext } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { ReaderProgressBarProps, TReaderProgressCurrentPage } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { + ReaderProgressBarProps, + TReaderProgressCurrentPage, +} from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; const getScrollDirectionInvert = ( scrollDirection: ScrollDirection, diff --git a/src/features/reader/services/ReaderService.ts b/src/features/reader/services/ReaderService.ts index 8ba27b1b..ca18a712 100644 --- a/src/features/reader/services/ReaderService.ts +++ b/src/features/reader/services/ReaderService.ts @@ -21,12 +21,12 @@ import { ReaderStateChapters, ReadingDirection, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; import { convertFromReaderSettingsWithDefaultFlag, updateReaderSettings, -} from '@/features/reader/services/ReaderSettingsMetadata.ts'; +} from '@/features/reader/settings/ReaderSettingsMetadata.ts'; import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { MANGA_META_FIELDS } from '@/lib/graphql/fragments/MangaFragments.ts'; @@ -35,7 +35,7 @@ import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; import { GLOBAL_METADATA } from '@/lib/graphql/fragments/Fragments.ts'; import { updateMetadataList } from '@/features/metadata/services/MetadataApolloCacheHandler.ts'; import { useBackButton } from '@/features/core/hooks/useBackButton.ts'; -import { GLOBAL_READER_SETTING_KEYS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { GLOBAL_READER_SETTING_KEYS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { useReaderStateSettingsContext } from '@/features/reader/contexts/state/ReaderStateSettingsContext.tsx'; import { UpdateChapterPatchInput } from '@/lib/graphql/generated/graphql.ts'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; @@ -47,7 +47,7 @@ import { getReaderChapterFromCache, isInDownloadAheadRange, updateReaderStateVisibleChapters, -} from '@/features/reader/utils/Reader.utils.ts'; +} from '@/features/reader/Reader.utils.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { Queue } from '@/lib/Queue.ts'; import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; diff --git a/src/features/reader/constants/ReaderSettings.constants.tsx b/src/features/reader/settings/ReaderSettings.constants.tsx similarity index 98% rename from src/features/reader/constants/ReaderSettings.constants.tsx rename to src/features/reader/settings/ReaderSettings.constants.tsx index 1a57ee7b..37e294e4 100644 --- a/src/features/reader/constants/ReaderSettings.constants.tsx +++ b/src/features/reader/settings/ReaderSettings.constants.tsx @@ -28,13 +28,13 @@ import { ReaderScrollAmount, ReadingDirection, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { SinglePageIcon } from '@/assets/icons/svg/SinglePageIcon.tsx'; import { DoublePageIcon } from '@/assets/icons/svg/DoublePageIcon.tsx'; import { ContinuousVerticalPageIcon } from '@/assets/icons/svg/ContinuousVerticalPageIcon.tsx'; import { ContinuousHorizontalPageIcon } from '@/assets/icons/svg/ContinuousHorizontalPageIcon.tsx'; import { TranslationKey } from '@/Base.types.ts'; -import { TapZoneLayouts } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TapZoneLayouts } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { WebtoonPageIcon } from '@/assets/icons/svg/WebtoonPageIcon.tsx'; export const AUTO_SCROLL_SPEED = { diff --git a/src/features/reader/utils/ReaderSettings.utils.tsx b/src/features/reader/settings/ReaderSettings.utils.tsx similarity index 88% rename from src/features/reader/utils/ReaderSettings.utils.tsx rename to src/features/reader/settings/ReaderSettings.utils.tsx index 338320b6..0f09edba 100644 --- a/src/features/reader/utils/ReaderSettings.utils.tsx +++ b/src/features/reader/settings/ReaderSettings.utils.tsx @@ -15,13 +15,13 @@ import { ReaderPagerProps, ReaderPageScaleMode, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { MangaGenreInfo, MangaSourceLngInfo, MangaSourceNameInfo } from '@/features/manga/Manga.types.ts'; import { Mangas } from '@/features/manga/services/Mangas.ts'; -import { ReaderPagedPager } from '@/features/reader/components/viewer/pager/ReaderPagedPager.tsx'; -import { ReaderDoublePagedPager } from '@/features/reader/components/viewer/pager/ReaderDoublePagedPager.tsx'; -import { ReaderVerticalPager } from '@/features/reader/components/viewer/pager/ReaderVerticalPager.tsx'; -import { ReaderHorizontalPager } from '@/features/reader/components/viewer/pager/ReaderHorizontalPager.tsx'; +import { ReaderPagedPager } from '@/features/reader/viewer/pager/components/ReaderPagedPager.tsx'; +import { ReaderDoublePagedPager } from '@/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx'; +import { ReaderVerticalPager } from '@/features/reader/viewer/pager/components/ReaderVerticalPager.tsx'; +import { ReaderHorizontalPager } from '@/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx'; export const isOffsetDoubleSpreadPagesEditable = (readingMode: IReaderSettings['readingMode']): boolean => readingMode === ReadingMode.DOUBLE_PAGE; diff --git a/src/features/reader/services/ReaderSettingsMetadata.ts b/src/features/reader/settings/ReaderSettingsMetadata.ts similarity index 98% rename from src/features/reader/services/ReaderSettingsMetadata.ts rename to src/features/reader/settings/ReaderSettingsMetadata.ts index 8bae1581..3ce881da 100644 --- a/src/features/reader/services/ReaderSettingsMetadata.ts +++ b/src/features/reader/settings/ReaderSettingsMetadata.ts @@ -14,7 +14,7 @@ import { requestUpdateServerMetadata, } from '@/features/metadata/services/MetadataUpdater.ts'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; -import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/Reader.types.ts'; import { convertFromGqlMeta } from '@/features/metadata/services/MetadataConverter.ts'; import { getMetadataFrom } from '@/features/metadata/services/MetadataReader.ts'; import { @@ -29,7 +29,7 @@ import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; import { DEFAULT_READER_SETTINGS, GLOBAL_READER_SETTING_KEYS, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { DEFAULT_DEVICE, getActiveDevice } from '@/features/device/services/Device.ts'; import { APP_METADATA_KEY_PREFIX } from '@/features/metadata/Metadata.constants.ts'; import { extractOriginalKey } from '@/features/metadata/Metadata.utils.ts'; diff --git a/src/features/reader/components/settings/behaviour/ReaderBehaviourSettings.tsx b/src/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx similarity index 93% rename from src/features/reader/components/settings/behaviour/ReaderBehaviourSettings.tsx rename to src/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx index d360c01a..2df20add 100644 --- a/src/features/reader/components/settings/behaviour/ReaderBehaviourSettings.tsx +++ b/src/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx @@ -11,17 +11,17 @@ import { useTranslation } from 'react-i18next'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { IReaderSettingsWithDefaultFlag, ReaderSettingsTypeProps } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettingsWithDefaultFlag, ReaderSettingsTypeProps } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; -import { ReaderSettingExitMode } from '@/features/reader/components/settings/behaviour/ReaderSettingExitMode.tsx'; -import { isOffsetDoubleSpreadPagesEditable } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +import { ReaderSettingExitMode } from '@/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx'; +import { isOffsetDoubleSpreadPagesEditable } from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; import { DEFAULT_READER_SETTINGS, IMAGE_PRE_LOAD_AMOUNT, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; -import { ReaderSettingAutoScroll } from '@/features/reader/components/settings/behaviour/ReaderSettingAutoScroll.tsx'; -import { ReaderSettingScrollAmount } from '@/features/reader/components/settings/behaviour/ReaderSettingScrollAmount.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; +import { ReaderSettingAutoScroll } from '@/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx'; +import { ReaderSettingScrollAmount } from '@/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx'; export const ReaderBehaviourSettings = ({ settings, diff --git a/src/features/reader/components/settings/behaviour/ReaderSettingExitMode.tsx b/src/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx similarity index 98% rename from src/features/reader/components/settings/behaviour/ReaderSettingExitMode.tsx rename to src/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx index e5ae9c85..1512e6ad 100644 --- a/src/features/reader/components/settings/behaviour/ReaderSettingExitMode.tsx +++ b/src/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx @@ -7,7 +7,7 @@ */ import { useTranslation } from 'react-i18next'; -import { IReaderSettings, ReaderExitMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReaderExitMode } from '@/features/reader/Reader.types.ts'; import { ValueToDisplayData } from '@/features/core/Core.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; diff --git a/src/features/reader/components/settings/behaviour/ReaderSettingScrollAmount.tsx b/src/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx similarity index 97% rename from src/features/reader/components/settings/behaviour/ReaderSettingScrollAmount.tsx rename to src/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx index e4831abe..9221bd96 100644 --- a/src/features/reader/components/settings/behaviour/ReaderSettingScrollAmount.tsx +++ b/src/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx @@ -7,11 +7,11 @@ */ import { useTranslation } from 'react-i18next'; -import { IReaderSettings, ReaderScrollAmount } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReaderScrollAmount } from '@/features/reader/Reader.types.ts'; import { ValueToDisplayData } from '@/features/core/Core.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { DEFAULT_READER_SETTINGS, SCROLL_AMOUNT } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { DEFAULT_READER_SETTINGS, SCROLL_AMOUNT } from '@/features/reader/settings/ReaderSettings.constants.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [ReaderScrollAmount.TINY]: { diff --git a/src/features/reader/components/settings/DefaultSettingFootnote.tsx b/src/features/reader/settings/components/DefaultSettingFootnote.tsx similarity index 100% rename from src/features/reader/components/settings/DefaultSettingFootnote.tsx rename to src/features/reader/settings/components/DefaultSettingFootnote.tsx diff --git a/src/features/reader/components/settings/ReaderSettingsTabs.tsx b/src/features/reader/settings/components/ReaderSettingsTabs.tsx similarity index 90% rename from src/features/reader/components/settings/ReaderSettingsTabs.tsx rename to src/features/reader/settings/components/ReaderSettingsTabs.tsx index f42c38f4..3f9224a6 100644 --- a/src/features/reader/components/settings/ReaderSettingsTabs.tsx +++ b/src/features/reader/settings/components/ReaderSettingsTabs.tsx @@ -12,18 +12,18 @@ import { useTranslation } from 'react-i18next'; import { TabsMenu } from '@/features/core/components/tabs/TabsMenu.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; -import { IReaderSettings, IReaderSettingsWithDefaultFlag } from '@/features/reader/types/Reader.types.ts'; -import { useReaderTapZoneContext } from '@/features/reader/contexts/ReaderTapZoneContext.tsx'; +import { IReaderSettings, IReaderSettingsWithDefaultFlag } from '@/features/reader/Reader.types.ts'; +import { useReaderTapZoneContext } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { READER_SETTING_TABS, ReaderSettingTab } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { READER_SETTING_TABS, ReaderSettingTab } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { TabPanel } from '@/features/core/components/tabs/TabPanel.tsx'; -import { ReaderLayoutSettings } from '@/features/reader/components/settings/layout/ReaderLayoutSettings.tsx'; -import { ReaderGeneralSettings } from '@/features/reader/components/settings/general/ReaderGeneralSettings.tsx'; -import { ReaderFilterSettings } from '@/features/reader/components/settings/filters/ReaderFilterSettings.tsx'; -import { ReaderBehaviourSettings } from '@/features/reader/components/settings/behaviour/ReaderBehaviourSettings.tsx'; -import { ReaderDefaultLayoutSettings } from '@/features/reader/components/settings/layout/ReaderDefaultLayoutSettings.tsx'; -import { ReaderHotkeysSettings } from '@/features/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { ReaderLayoutSettings } from '@/features/reader/settings/layout/ReaderLayoutSettings.tsx'; +import { ReaderGeneralSettings } from '@/features/reader/settings/general/ReaderGeneralSettings.tsx'; +import { ReaderFilterSettings } from '@/features/reader/filters/settings/ReaderFilterSettings.tsx'; +import { ReaderBehaviourSettings } from '@/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx'; +import { ReaderDefaultLayoutSettings } from '@/features/reader/settings/layout/ReaderDefaultLayoutSettings.tsx'; +import { ReaderHotkeysSettings } from '@/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; const BaseReaderSettingsTabs = ({ diff --git a/src/features/reader/components/settings/general/ReaderGeneralSettings.tsx b/src/features/reader/settings/general/ReaderGeneralSettings.tsx similarity index 85% rename from src/features/reader/components/settings/general/ReaderGeneralSettings.tsx rename to src/features/reader/settings/general/ReaderGeneralSettings.tsx index 762f1c26..389f5e54 100644 --- a/src/features/reader/components/settings/general/ReaderGeneralSettings.tsx +++ b/src/features/reader/settings/general/ReaderGeneralSettings.tsx @@ -8,18 +8,18 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { ReaderSettingProgressBarType } from '@/features/reader/components/settings/general/ReaderSettingProgressBarType.tsx'; -import { ReaderSettingProgressBarSize } from '@/features/reader/components/settings/general/ReaderSettingProgressBarSize.tsx'; -import { ReaderSettingProgressBarPosition } from '@/features/reader/components/settings/general/ReaderSettingProgressBarPosition.tsx'; +import { ReaderSettingProgressBarType } from '@/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx'; +import { ReaderSettingProgressBarSize } from '@/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx'; +import { ReaderSettingProgressBarPosition } from '@/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx'; import { IReaderSettings, ProgressBarType, ReaderOverlayMode, ReaderSettingsTypeProps, -} from '@/features/reader/types/Reader.types.ts'; -import { ReaderSettingOverlayMode } from '@/features/reader/components/settings/general/ReaderSettingOverlayMode.tsx'; +} from '@/features/reader/Reader.types.ts'; +import { ReaderSettingOverlayMode } from '@/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; -import { ReaderSettingBackgroundColor } from '@/features/reader/components/settings/general/ReaderSettingBackgroundColor.tsx'; +import { ReaderSettingBackgroundColor } from '@/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx'; export const ReaderGeneralSettings = ({ overlayMode, diff --git a/src/features/reader/components/settings/general/ReaderSettingBackgroundColor.tsx b/src/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx similarity index 97% rename from src/features/reader/components/settings/general/ReaderSettingBackgroundColor.tsx rename to src/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx index ed9a816e..8373dfb8 100644 --- a/src/features/reader/components/settings/general/ReaderSettingBackgroundColor.tsx +++ b/src/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx @@ -9,7 +9,7 @@ import { useTranslation } from 'react-i18next'; import { ValueToDisplayData } from '@/features/core/Core.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; -import { IReaderSettingsWithDefaultFlag, ReaderBackgroundColor } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettingsWithDefaultFlag, ReaderBackgroundColor } from '@/features/reader/Reader.types.ts'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [ReaderBackgroundColor.THEME]: { diff --git a/src/features/reader/components/settings/layout/ReaderDefaultLayoutSettings.tsx b/src/features/reader/settings/layout/ReaderDefaultLayoutSettings.tsx similarity index 81% rename from src/features/reader/components/settings/layout/ReaderDefaultLayoutSettings.tsx rename to src/features/reader/settings/layout/ReaderDefaultLayoutSettings.tsx index ba175ac9..847a2d3d 100644 --- a/src/features/reader/components/settings/layout/ReaderDefaultLayoutSettings.tsx +++ b/src/features/reader/settings/layout/ReaderDefaultLayoutSettings.tsx @@ -9,14 +9,14 @@ import Stack from '@mui/material/Stack'; import { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; -import { ReaderLayoutSettings } from '@/features/reader/components/settings/layout/ReaderLayoutSettings.tsx'; -import { ReaderSettingProfileSettings } from '@/features/reader/components/settings/layout/profiles/ReaderSettingProfileSettings.tsx'; +import { ReaderLayoutSettings } from '@/features/reader/settings/layout/ReaderLayoutSettings.tsx'; +import { ReaderSettingProfileSettings } from '@/features/reader/settings/layout/components/ReaderSettingProfileSettings.tsx'; import { READING_MODE_VALUE_TO_DISPLAY_DATA, READING_MODE_VALUES, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; -import { ReaderSettingReadingMode } from '@/features/reader/components/settings/layout/ReaderSettingReadingMode.tsx'; -import { IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; +import { ReaderSettingReadingMode } from '@/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx'; +import { IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/Reader.types.ts'; export const ReaderDefaultLayoutSettings = ({ profiles = READING_MODE_VALUES, diff --git a/src/features/reader/components/settings/layout/ReaderLayoutSettings.tsx b/src/features/reader/settings/layout/ReaderLayoutSettings.tsx similarity index 78% rename from src/features/reader/components/settings/layout/ReaderLayoutSettings.tsx rename to src/features/reader/settings/layout/ReaderLayoutSettings.tsx index 03b0445e..8cd1a522 100644 --- a/src/features/reader/components/settings/layout/ReaderLayoutSettings.tsx +++ b/src/features/reader/settings/layout/ReaderLayoutSettings.tsx @@ -10,18 +10,18 @@ import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import Divider from '@mui/material/Divider'; import { useTranslation } from 'react-i18next'; -import { ReaderSettingReadingMode } from '@/features/reader/components/settings/layout/ReaderSettingReadingMode.tsx'; -import { ReaderSettingReadingDirection } from '@/features/reader/components/settings/layout/ReaderSettingReadingDirection.tsx'; -import { ReaderSettingTapZoneLayout } from '@/features/reader/components/settings/layout/ReaderSettingTapZoneLayout.tsx'; -import { ReaderSettingTapZoneInvertMode } from '@/features/reader/components/settings/layout/ReaderSettingTapZoneInvertMode.tsx'; -import { ReaderSettingPageScaleMode } from '@/features/reader/components/settings/layout/ReaderSettingPageScaleMode.tsx'; -import { ReaderSettingStretchPage } from '@/features/reader/components/settings/layout/ReaderSettingStretchPage.tsx'; -import { ReaderSettingsTypeProps } from '@/features/reader/types/Reader.types.ts'; -import { ReaderSettingPageGap } from '@/features/reader/components/settings/layout/ReaderSettingPageGap.tsx'; -import { ReaderSettingWidth } from '@/features/reader/components/settings/layout/ReaderSettingWidth.tsx'; -import { DefaultSettingFootnote } from '@/features/reader/components/settings/DefaultSettingFootnote.tsx'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; -import { ReaderDefaultLayoutSettings } from '@/features/reader/components/settings/layout/ReaderDefaultLayoutSettings.tsx'; +import { ReaderSettingReadingMode } from '@/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx'; +import { ReaderSettingReadingDirection } from '@/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx'; +import { ReaderSettingTapZoneLayout } from '@/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx'; +import { ReaderSettingTapZoneInvertMode } from '@/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx'; +import { ReaderSettingPageScaleMode } from '@/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx'; +import { ReaderSettingStretchPage } from '@/features/reader/settings/layout/components/ReaderSettingStretchPage.tsx'; +import { ReaderSettingsTypeProps } from '@/features/reader/Reader.types.ts'; +import { ReaderSettingPageGap } from '@/features/reader/settings/layout/components/ReaderSettingPageGap.tsx'; +import { ReaderSettingWidth } from '@/features/reader/settings/layout/components/ReaderSettingWidth.tsx'; +import { DefaultSettingFootnote } from '@/features/reader/settings/components/DefaultSettingFootnote.tsx'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; +import { ReaderDefaultLayoutSettings } from '@/features/reader/settings/layout/ReaderDefaultLayoutSettings.tsx'; export const ReaderLayoutSettings = ({ setShowPreview, diff --git a/src/features/reader/components/settings/layout/ReaderSettingPageGap.tsx b/src/features/reader/settings/layout/components/ReaderSettingPageGap.tsx similarity index 91% rename from src/features/reader/components/settings/layout/ReaderSettingPageGap.tsx rename to src/features/reader/settings/layout/components/ReaderSettingPageGap.tsx index 591304d2..79870e45 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingPageGap.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingPageGap.tsx @@ -7,10 +7,10 @@ */ import { useTranslation } from 'react-i18next'; -import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/Reader.types.ts'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { DEFAULT_READER_SETTINGS, PAGE_GAP } from '@/features/reader/constants/ReaderSettings.constants.tsx'; -import { isContinuousReadingMode } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +import { DEFAULT_READER_SETTINGS, PAGE_GAP } from '@/features/reader/settings/ReaderSettings.constants.tsx'; +import { isContinuousReadingMode } from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; export const ReaderSettingPageGap = ({ diff --git a/src/features/reader/components/settings/layout/ReaderSettingPageScaleMode.tsx b/src/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx similarity index 87% rename from src/features/reader/components/settings/layout/ReaderSettingPageScaleMode.tsx rename to src/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx index ab3f05ff..51f9e341 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingPageScaleMode.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx @@ -7,15 +7,11 @@ */ import { useTranslation } from 'react-i18next'; -import { - IReaderSettings, - IReaderSettingsWithDefaultFlag, - ReadingDirection, -} from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/Reader.types.ts'; import { PAGE_SCALE_VALUE_TO_DISPLAY_DATA, READER_PAGE_SCALE_MODE_VALUES, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; diff --git a/src/features/reader/components/settings/layout/profiles/ReaderSettingProfileSettings.tsx b/src/features/reader/settings/layout/components/ReaderSettingProfileSettings.tsx similarity index 88% rename from src/features/reader/components/settings/layout/profiles/ReaderSettingProfileSettings.tsx rename to src/features/reader/settings/layout/components/ReaderSettingProfileSettings.tsx index 298e6dbf..0560244e 100644 --- a/src/features/reader/components/settings/layout/profiles/ReaderSettingProfileSettings.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingProfileSettings.tsx @@ -10,9 +10,9 @@ import Stack from '@mui/material/Stack'; import ListSubheader from '@mui/material/ListSubheader'; import { ComponentProps, useMemo } from 'react'; import Typography from '@mui/material/Typography'; -import { ReaderLayoutSettings } from '@/features/reader/components/settings/layout/ReaderLayoutSettings.tsx'; -import { useDefaultReaderSettingsWithDefaultFlag } from '@/features/reader/services/ReaderSettingsMetadata.ts'; -import { ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { ReaderLayoutSettings } from '@/features/reader/settings/layout/ReaderLayoutSettings.tsx'; +import { useDefaultReaderSettingsWithDefaultFlag } from '@/features/reader/settings/ReaderSettingsMetadata.ts'; +import { ReadingMode } from '@/features/reader/Reader.types.ts'; export const ReaderSettingProfileSettings = ({ profile, diff --git a/src/features/reader/components/settings/layout/ReaderSettingReadingDirection.tsx b/src/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx similarity index 97% rename from src/features/reader/components/settings/layout/ReaderSettingReadingDirection.tsx rename to src/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx index c0b95550..6cd6ef34 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingReadingDirection.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx @@ -9,7 +9,7 @@ import ArrowCircleLeftIcon from '@mui/icons-material/ArrowCircleLeft'; import ArrowCircleRightIcon from '@mui/icons-material/ArrowCircleRight'; import { useTranslation } from 'react-i18next'; -import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/Reader.types.ts'; import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/features/core/Core.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; diff --git a/src/features/reader/components/settings/layout/ReaderSettingReadingMode.tsx b/src/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx similarity index 93% rename from src/features/reader/components/settings/layout/ReaderSettingReadingMode.tsx rename to src/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx index 45547efa..4790de47 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingReadingMode.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx @@ -7,11 +7,11 @@ */ import { useTranslation } from 'react-i18next'; -import { IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/Reader.types.ts'; import { READING_MODE_VALUE_TO_DISPLAY_DATA, READING_MODE_VALUES, -} from '@/features/reader/constants/ReaderSettings.constants.tsx'; +} from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; diff --git a/src/features/reader/components/settings/layout/ReaderSettingStretchPage.tsx b/src/features/reader/settings/layout/components/ReaderSettingStretchPage.tsx similarity index 90% rename from src/features/reader/components/settings/layout/ReaderSettingStretchPage.tsx rename to src/features/reader/settings/layout/components/ReaderSettingStretchPage.tsx index 1d6d7b36..86f43a73 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingStretchPage.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingStretchPage.tsx @@ -9,8 +9,8 @@ import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; import Box from '@mui/material/Box'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; -import { READER_PAGE_SCALE_MODE_TO_SCALING_ALLOWED } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; +import { READER_PAGE_SCALE_MODE_TO_SCALING_ALLOWED } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingStretchPage = ({ pageScaleMode, diff --git a/src/features/reader/components/settings/layout/ReaderSettingTapZoneInvertMode.tsx b/src/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx similarity index 93% rename from src/features/reader/components/settings/layout/ReaderSettingTapZoneInvertMode.tsx rename to src/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx index 2d2951a0..69ae56bb 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingTapZoneInvertMode.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx @@ -8,12 +8,8 @@ import { useTranslation } from 'react-i18next'; import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/features/core/Core.types.ts'; -import { - IReaderSettings, - IReaderSettingsWithDefaultFlag, - ReadingDirection, -} from '@/features/reader/types/Reader.types.ts'; -import { TapZoneInvertMode } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/Reader.types.ts'; +import { TapZoneInvertMode } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; enum TapZonesInvertOption { diff --git a/src/features/reader/components/settings/layout/ReaderSettingTapZoneLayout.tsx b/src/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx similarity index 94% rename from src/features/reader/components/settings/layout/ReaderSettingTapZoneLayout.tsx rename to src/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx index c386ad2b..beecaef3 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingTapZoneLayout.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx @@ -7,9 +7,9 @@ */ import { useTranslation } from 'react-i18next'; -import { TapZoneLayouts } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TapZoneLayouts } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/features/core/Core.types.ts'; -import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/Reader.types.ts'; import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { diff --git a/src/features/reader/components/settings/layout/ReaderSettingWidth.tsx b/src/features/reader/settings/layout/components/ReaderSettingWidth.tsx similarity index 92% rename from src/features/reader/components/settings/layout/ReaderSettingWidth.tsx rename to src/features/reader/settings/layout/components/ReaderSettingWidth.tsx index 71287008..7808d8b8 100644 --- a/src/features/reader/components/settings/layout/ReaderSettingWidth.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingWidth.tsx @@ -8,12 +8,12 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { IReaderSettings } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; -import { DEFAULT_READER_SETTINGS } from '@/features/reader/constants/ReaderSettings.constants.tsx'; -import { isReaderWidthEditable } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +import { DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; +import { isReaderWidthEditable } from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; import { ResetButton } from '@/features/core/components/buttons/ResetButton.tsx'; diff --git a/src/features/reader/screens/GlobalReaderSettings.tsx b/src/features/reader/settings/screens/GlobalReaderSettings.tsx similarity index 93% rename from src/features/reader/screens/GlobalReaderSettings.tsx rename to src/features/reader/settings/screens/GlobalReaderSettings.tsx index c80946db..0d4f0d14 100644 --- a/src/features/reader/screens/GlobalReaderSettings.tsx +++ b/src/features/reader/settings/screens/GlobalReaderSettings.tsx @@ -8,13 +8,13 @@ import { useTranslation } from 'react-i18next'; import { useState } from 'react'; -import { useDefaultReaderSettingsWithDefaultFlag } from '@/features/reader/services/ReaderSettingsMetadata.ts'; +import { useDefaultReaderSettingsWithDefaultFlag } from '@/features/reader/settings/ReaderSettingsMetadata.ts'; import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { IReaderSettings, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReadingMode } from '@/features/reader/Reader.types.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { ReaderSettingsTabs } from '@/features/reader/components/settings/ReaderSettingsTabs.tsx'; +import { ReaderSettingsTabs } from '@/features/reader/settings/components/ReaderSettingsTabs.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { GLOBAL_READER_SETTINGS_MANGA } from '@/features/manga/Manga.constants.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; diff --git a/src/features/reader/components/settings/ReaderSettings.tsx b/src/features/reader/settings/screens/ReaderSettings.tsx similarity index 91% rename from src/features/reader/components/settings/ReaderSettings.tsx rename to src/features/reader/settings/screens/ReaderSettings.tsx index fe62cc4d..cbff903f 100644 --- a/src/features/reader/components/settings/ReaderSettings.tsx +++ b/src/features/reader/settings/screens/ReaderSettings.tsx @@ -12,8 +12,8 @@ import DialogContent from '@mui/material/DialogContent'; import { useState } from 'react'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { ReaderSettingsTabs } from '@/features/reader/components/settings/ReaderSettingsTabs.tsx'; -import { ReaderSettingTab } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { ReaderSettingsTabs } from '@/features/reader/settings/components/ReaderSettingsTabs.tsx'; +import { ReaderSettingTab } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { useDisableAllHotkeysWhileMounted } from '@/features/hotkeys/Hotkeys.utils.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; diff --git a/src/features/reader/constants/ReaderTapZone.constants.ts b/src/features/reader/tap-zones/ReaderTapZone.constants.ts similarity index 98% rename from src/features/reader/constants/ReaderTapZone.constants.ts rename to src/features/reader/tap-zones/ReaderTapZone.constants.ts index d2280de6..9410dd55 100644 --- a/src/features/reader/constants/ReaderTapZone.constants.ts +++ b/src/features/reader/tap-zones/ReaderTapZone.constants.ts @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { TapZoneLayouts, TapZoneRegion, TapZoneRegionType } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TapZoneLayouts, TapZoneRegion, TapZoneRegionType } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { TranslationKey } from '@/Base.types.ts'; export const READER_TAP_ZONE_LAYOUTS: Record = { diff --git a/src/features/reader/services/ReaderTapZoneService.ts b/src/features/reader/tap-zones/ReaderTapZoneService.ts similarity index 98% rename from src/features/reader/services/ReaderTapZoneService.ts rename to src/features/reader/tap-zones/ReaderTapZoneService.ts index 59d58422..32de9628 100644 --- a/src/features/reader/services/ReaderTapZoneService.ts +++ b/src/features/reader/tap-zones/ReaderTapZoneService.ts @@ -14,11 +14,11 @@ import { TapZoneLayouts, TapZoneRegion, TapZoneRegionType, -} from '@/features/reader/types/TapZoneLayout.types.ts'; +} from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { READER_TAP_ZONE_LAYOUTS, TAP_ZONE_REGION_TYPE_DATA, -} from '@/features/reader/constants/ReaderTapZone.constants.ts'; +} from '@/features/reader/tap-zones/ReaderTapZone.constants.ts'; interface InvertMode extends TapZoneInvertMode { isRTL: boolean; diff --git a/src/features/reader/components/TapZoneLayout.tsx b/src/features/reader/tap-zones/TapZoneLayout.tsx similarity index 90% rename from src/features/reader/components/TapZoneLayout.tsx rename to src/features/reader/tap-zones/TapZoneLayout.tsx index 44246bb5..12d01ded 100644 --- a/src/features/reader/components/TapZoneLayout.tsx +++ b/src/features/reader/tap-zones/TapZoneLayout.tsx @@ -9,15 +9,15 @@ import Box from '@mui/material/Box'; import { useCallback, useLayoutEffect, useState } from 'react'; import { useTheme } from '@mui/material/styles'; -import { useReaderTapZoneContext } from '@/features/reader/contexts/ReaderTapZoneContext.tsx'; -import { ReaderTapZoneService } from '@/features/reader/services/ReaderTapZoneService.ts'; +import { useReaderTapZoneContext } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx'; +import { ReaderTapZoneService } from '@/features/reader/tap-zones/ReaderTapZoneService.ts'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { IReaderSettings, ReadingDirection } from '@/features/reader/types/Reader.types.ts'; +import { IReaderSettings, ReadingDirection } from '@/features/reader/Reader.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; const CANVAS_ID = 'reader-tap-zone-layout-canvas'; diff --git a/src/features/reader/types/TapZoneLayout.types.ts b/src/features/reader/tap-zones/TapZoneLayout.types.ts similarity index 100% rename from src/features/reader/types/TapZoneLayout.types.ts rename to src/features/reader/tap-zones/TapZoneLayout.types.ts diff --git a/src/features/reader/contexts/ReaderTapZoneContext.tsx b/src/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx similarity index 85% rename from src/features/reader/contexts/ReaderTapZoneContext.tsx rename to src/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx index 574b2d71..47f929f3 100644 --- a/src/features/reader/contexts/ReaderTapZoneContext.tsx +++ b/src/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; export const ReaderTapZoneContext = createContext({ showPreview: false, diff --git a/src/features/reader/contexts/ReaderTapZoneContextProvider.tsx b/src/features/reader/tap-zones/contexts/ReaderTapZoneContextProvider.tsx similarity index 86% rename from src/features/reader/contexts/ReaderTapZoneContextProvider.tsx rename to src/features/reader/tap-zones/contexts/ReaderTapZoneContextProvider.tsx index d0c3bbab..bcd5c6f2 100644 --- a/src/features/reader/contexts/ReaderTapZoneContextProvider.tsx +++ b/src/features/reader/tap-zones/contexts/ReaderTapZoneContextProvider.tsx @@ -7,7 +7,7 @@ */ import { ReactNode, useMemo, useState } from 'react'; -import { ReaderTapZoneContext } from '@/features/reader/contexts/ReaderTapZoneContext.tsx'; +import { ReaderTapZoneContext } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx'; export const ReaderTapZoneContextProvider = ({ children }: { children: ReactNode }) => { const [showPreview, setShowPreview] = useState(false); diff --git a/src/features/reader/components/viewer/ReaderChapterViewer.tsx b/src/features/reader/viewer/ReaderChapterViewer.tsx similarity index 95% rename from src/features/reader/components/viewer/ReaderChapterViewer.tsx rename to src/features/reader/viewer/ReaderChapterViewer.tsx index 519b5437..ed8134ce 100644 --- a/src/features/reader/components/viewer/ReaderChapterViewer.tsx +++ b/src/features/reader/viewer/ReaderChapterViewer.tsx @@ -20,31 +20,28 @@ import { ReaderTransitionPageMode, ReadingDirection, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; -import { getDoublePageModePages } from '@/features/reader/utils/ReaderPager.utils.tsx'; +} from '@/features/reader/Reader.types.ts'; +import { getDoublePageModePages } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; import { getPagerForReadingMode, isContinuousReadingMode, isContinuousVerticalReadingMode, shouldApplyReaderWidth, -} from '@/features/reader/utils/ReaderSettings.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; -import { - createHandleReaderPageLoadError, - createUpdateReaderPageLoadState, -} from '@/features/reader/utils/Reader.utils.ts'; -import { useReaderConvertPagesForReadingMode } from '@/features/reader/hooks/useReaderConvertPagesForReadingMode.ts'; -import { ReaderTransitionPage } from '@/features/reader/components/viewer/ReaderTransitionPage.tsx'; +} from '@/features/reader/settings/ReaderSettings.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; +import { createHandleReaderPageLoadError, createUpdateReaderPageLoadState } from '@/features/reader/Reader.utils.ts'; +import { useReaderConvertPagesForReadingMode } from '@/features/reader/viewer/hooks/useReaderConvertPagesForReadingMode.ts'; +import { ReaderTransitionPage } from '@/features/reader/viewer/components/ReaderTransitionPage.tsx'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { READER_STATE_PAGES_DEFAULTS } from '@/features/reader/constants/ReaderContext.constants.ts'; +import { READER_STATE_PAGES_DEFAULTS } from '@/features/reader/ReaderContext.constants.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { useReaderSetPagesState } from '@/features/reader/hooks/useReaderSetPagesState.ts'; +import { useReaderSetPagesState } from '@/features/reader/viewer/hooks/useReaderSetPagesState.ts'; import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { getErrorMessage, noOp } from '@/lib/HelperFunctions.ts'; import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { ReaderInfiniteScrollUpdateChapter } from '@/features/reader/components/viewer/ReaderInfiniteScrollUpdateChapter.tsx'; +import { ReaderInfiniteScrollUpdateChapter } from '@/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx'; import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/reader/components/viewer/ReaderViewer.tsx b/src/features/reader/viewer/ReaderViewer.tsx similarity index 94% rename from src/features/reader/components/viewer/ReaderViewer.tsx rename to src/features/reader/viewer/ReaderViewer.tsx index cdd3a773..b755301b 100644 --- a/src/features/reader/components/viewer/ReaderViewer.tsx +++ b/src/features/reader/viewer/ReaderViewer.tsx @@ -31,7 +31,7 @@ import { ReadingDirection, ReadingMode, TReaderScrollbarContext, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; @@ -40,33 +40,33 @@ import { isContinuousReadingMode, isContinuousVerticalReadingMode, shouldApplyReaderWidth, -} from '@/features/reader/utils/ReaderSettings.utils.tsx'; +} from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { useMouseDragScroll } from '@/features/core/hooks/useMouseDragScroll.tsx'; -import { useReaderOverlayContext } from '@/features/reader/contexts/ReaderOverlayContext.tsx'; +import { useReaderOverlayContext } from '@/features/reader/overlay/contexts/ReaderOverlayContext.tsx'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { TReaderOverlayContext } from '@/features/reader/types/ReaderOverlay.types.ts'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; -import { useReaderAutoScrollContext } from '@/features/reader/contexts/ReaderAutoScrollContext.tsx'; -import { TReaderTapZoneContext } from '@/features/reader/types/TapZoneLayout.types.ts'; -import { useReaderTapZoneContext } from '@/features/reader/contexts/ReaderTapZoneContext.tsx'; -import { useReaderAutoScroll } from '@/features/reader/hooks/useReaderAutoScroll.ts'; -import { useReaderHideOverlayOnUserScroll } from '@/features/reader/hooks/useReaderHideOverlayOnUserScroll.ts'; -import { useReaderHorizontalModeInvertXYScrolling } from '@/features/reader/hooks/useReaderHorizontalModeInvertXYScrolling.ts'; -import { useReaderHideCursorOnInactivity } from '@/features/reader/hooks/useReaderHideCursorOnInactivity.ts'; -import { useReaderScrollToStartOnPageChange } from '@/features/reader/hooks/useReaderScrollToStartOnPageChange.ts'; -import { useReaderHandlePageSelection } from '@/features/reader/hooks/useReaderHandlePageSelection.ts'; +import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/contexts/ReaderAutoScrollContext.tsx'; +import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; +import { useReaderTapZoneContext } from '@/features/reader/tap-zones/contexts/ReaderTapZoneContext.tsx'; +import { useReaderAutoScroll } from '@/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts'; +import { useReaderHideOverlayOnUserScroll } from '@/features/reader/overlay/hooks/useReaderHideOverlayOnUserScroll.ts'; +import { useReaderHorizontalModeInvertXYScrolling } from '@/features/reader/viewer/hooks/useReaderHorizontalModeInvertXYScrolling.ts'; +import { useReaderHideCursorOnInactivity } from '@/features/reader/viewer/hooks/useReaderHideCursorOnInactivity.ts'; +import { useReaderScrollToStartOnPageChange } from '@/features/reader/viewer/hooks/useReaderScrollToStartOnPageChange.ts'; +import { useReaderHandlePageSelection } from '@/features/reader/viewer/hooks/useReaderHandlePageSelection.ts'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; -import { ReaderChapterViewer } from '@/features/reader/components/viewer/ReaderChapterViewer.tsx'; +import { ReaderChapterViewer } from '@/features/reader/viewer/ReaderChapterViewer.tsx'; import { getPreviousNextChapterVisibility, getReaderChapterViewerCurrentPageIndex, getReaderChapterViewResumeMode, -} from '@/features/reader/utils/Reader.utils.ts'; +} from '@/features/reader/Reader.utils.ts'; import { coerceIn, noOp } from '@/lib/HelperFunctions.ts'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { useReaderPreserveScrollPosition } from '@/features/reader/hooks/useReaderPreserveScrollPosition.ts'; +import { useReaderPreserveScrollPosition } from '@/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/reader/components/viewer/ReaderPage.tsx b/src/features/reader/viewer/components/ReaderPage.tsx similarity index 98% rename from src/features/reader/components/viewer/ReaderPage.tsx rename to src/features/reader/viewer/components/ReaderPage.tsx index fb012734..655c2c69 100644 --- a/src/features/reader/components/viewer/ReaderPage.tsx +++ b/src/features/reader/viewer/components/ReaderPage.tsx @@ -13,12 +13,12 @@ import { ReaderCustomFilter, ReaderPagerProps, TReaderScrollbarContext, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { getImageMarginStyling, getImagePlaceholderStyling, getReaderImageStyling, -} from '@/features/reader/utils/ReaderPager.utils.tsx'; +} from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; diff --git a/src/features/reader/components/viewer/ReaderTransitionPage.tsx b/src/features/reader/viewer/components/ReaderTransitionPage.tsx similarity index 96% rename from src/features/reader/components/viewer/ReaderTransitionPage.tsx rename to src/features/reader/viewer/components/ReaderTransitionPage.tsx index 1142a536..8efcc689 100644 --- a/src/features/reader/components/viewer/ReaderTransitionPage.tsx +++ b/src/features/reader/viewer/components/ReaderTransitionPage.tsx @@ -21,23 +21,23 @@ import { ReadingMode, TReaderScrollbarContext, TReaderStateMangaContext, -} from '@/features/reader/types/Reader.types.ts'; -import { isTransitionPageVisible } from '@/features/reader/utils/ReaderPager.utils.tsx'; +} from '@/features/reader/Reader.types.ts'; +import { isTransitionPageVisible } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; import { useBackButton } from '@/features/core/hooks/useBackButton.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; import { isContinuousReadingMode, isContinuousVerticalReadingMode, -} from '@/features/reader/utils/ReaderSettings.utils.tsx'; +} from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx'; import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; import { getValueFromObject, noOp } from '@/lib/HelperFunctions.ts'; -import { READER_BACKGROUND_TO_COLOR } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { READER_BACKGROUND_TO_COLOR } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { ChapterType } from '@/lib/graphql/generated/graphql.ts'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/reader/hooks/useReaderConvertPagesForReadingMode.ts b/src/features/reader/viewer/hooks/useReaderConvertPagesForReadingMode.ts similarity index 87% rename from src/features/reader/hooks/useReaderConvertPagesForReadingMode.ts rename to src/features/reader/viewer/hooks/useReaderConvertPagesForReadingMode.ts index ec5e87b5..5a36e464 100644 --- a/src/features/reader/hooks/useReaderConvertPagesForReadingMode.ts +++ b/src/features/reader/viewer/hooks/useReaderConvertPagesForReadingMode.ts @@ -7,10 +7,10 @@ */ import { useLayoutEffect, useState } from 'react'; -import { ReaderPageSpreadState, ReadingMode } from '@/features/reader/types/Reader.types.ts'; -import { getNextIndexFromPage, getPage } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; -import { createPagesData } from '@/features/reader/utils/ReaderPager.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReaderPageSpreadState, ReadingMode } from '@/features/reader/Reader.types.ts'; +import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; +import { createPagesData } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; export const useReaderConvertPagesForReadingMode = ( diff --git a/src/features/reader/hooks/useReaderHandlePageSelection.ts b/src/features/reader/viewer/hooks/useReaderHandlePageSelection.ts similarity index 88% rename from src/features/reader/hooks/useReaderHandlePageSelection.ts rename to src/features/reader/viewer/hooks/useReaderHandlePageSelection.ts index 8115e89e..b0eed125 100644 --- a/src/features/reader/hooks/useReaderHandlePageSelection.ts +++ b/src/features/reader/viewer/hooks/useReaderHandlePageSelection.ts @@ -8,11 +8,11 @@ import { MutableRefObject, useLayoutEffect } from 'react'; import { Direction } from '@mui/material/styles'; -import { ReadingDirection } from '@/features/reader/types/Reader.types.ts'; -import { getNextIndexFromPage, getPage } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +import { ReadingDirection } from '@/features/reader/Reader.types.ts'; +import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; import { DirectionOffset } from '@/Base.types.ts'; -import { getScrollIntoViewInlineOption } from '@/features/reader/utils/ReaderPager.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { getScrollIntoViewInlineOption } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; export const useReaderHandlePageSelection = ( diff --git a/src/features/reader/hooks/useReaderHideCursorOnInactivity.ts b/src/features/reader/viewer/hooks/useReaderHideCursorOnInactivity.ts similarity index 100% rename from src/features/reader/hooks/useReaderHideCursorOnInactivity.ts rename to src/features/reader/viewer/hooks/useReaderHideCursorOnInactivity.ts diff --git a/src/features/reader/hooks/useReaderHorizontalModeInvertXYScrolling.ts b/src/features/reader/viewer/hooks/useReaderHorizontalModeInvertXYScrolling.ts similarity index 99% rename from src/features/reader/hooks/useReaderHorizontalModeInvertXYScrolling.ts rename to src/features/reader/viewer/hooks/useReaderHorizontalModeInvertXYScrolling.ts index 8a4b64fe..1bbb8120 100644 --- a/src/features/reader/hooks/useReaderHorizontalModeInvertXYScrolling.ts +++ b/src/features/reader/viewer/hooks/useReaderHorizontalModeInvertXYScrolling.ts @@ -7,7 +7,7 @@ */ import { MutableRefObject, useEffect } from 'react'; -import { ReadingDirection, ReadingMode } from '@/features/reader/types/Reader.types.ts'; +import { ReadingDirection, ReadingMode } from '@/features/reader/Reader.types.ts'; export const useReaderHorizontalModeInvertXYScrolling = ( readingMode: ReadingMode, diff --git a/src/features/reader/hooks/useReaderPreserveScrollPosition.ts b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts similarity index 98% rename from src/features/reader/hooks/useReaderPreserveScrollPosition.ts rename to src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts index 12461543..be20eb8b 100644 --- a/src/features/reader/hooks/useReaderPreserveScrollPosition.ts +++ b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts @@ -13,15 +13,15 @@ import { ReaderStateChapters, ReadingDirection, ReadingMode, -} from '@/features/reader/types/Reader.types.ts'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types'; +} from '@/features/reader/Reader.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { isContinuousReadingMode, isContinuousVerticalReadingMode, isHeightPageScaleMode, isReaderWidthEditable, -} from '@/features/reader/utils/ReaderSettings.utils.tsx'; -import { getPreviousNextChapterVisibility } from '@/features/reader/utils/Reader.utils.ts'; +} from '@/features/reader/settings/ReaderSettings.utils.tsx'; +import { getPreviousNextChapterVisibility } from '@/features/reader/Reader.utils.ts'; import { ChapterIdInfo, TChapterReader } from '@/features/chapter/Chapter.types.ts'; const shouldPreserveOnResizeChange = ( diff --git a/src/features/reader/hooks/useReaderScrollToStartOnPageChange.ts b/src/features/reader/viewer/hooks/useReaderScrollToStartOnPageChange.ts similarity index 83% rename from src/features/reader/hooks/useReaderScrollToStartOnPageChange.ts rename to src/features/reader/viewer/hooks/useReaderScrollToStartOnPageChange.ts index a978e59b..2217e186 100644 --- a/src/features/reader/hooks/useReaderScrollToStartOnPageChange.ts +++ b/src/features/reader/viewer/hooks/useReaderScrollToStartOnPageChange.ts @@ -8,9 +8,9 @@ import { MutableRefObject, useLayoutEffect } from 'react'; import { Direction } from '@mui/material/styles'; -import { ReadingDirection } from '@/features/reader/types/Reader.types.ts'; -import { getScrollToXForReadingDirection } from '@/features/reader/utils/ReaderPager.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReadingDirection } from '@/features/reader/Reader.types.ts'; +import { getScrollToXForReadingDirection } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; export const useReaderScrollToStartOnPageChange = ( currentPageIndex: ReaderStatePages['currentPageIndex'], diff --git a/src/features/reader/hooks/useReaderSetPagesState.ts b/src/features/reader/viewer/hooks/useReaderSetPagesState.ts similarity index 91% rename from src/features/reader/hooks/useReaderSetPagesState.ts rename to src/features/reader/viewer/hooks/useReaderSetPagesState.ts index f0c60b47..a73eb7b3 100644 --- a/src/features/reader/hooks/useReaderSetPagesState.ts +++ b/src/features/reader/viewer/hooks/useReaderSetPagesState.ts @@ -7,16 +7,16 @@ */ import { useLayoutEffect, useRef } from 'react'; -import { getInitialReaderPageIndex } from '@/features/reader/utils/Reader.utils.ts'; -import { createPagesData } from '@/features/reader/utils/ReaderPager.utils.tsx'; +import { getInitialReaderPageIndex } from '@/features/reader/Reader.utils.ts'; +import { createPagesData } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; import { ReaderPageSpreadState, ReaderResumeMode, ReaderStateChapters, ReaderTransitionPageMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { TChapterReader } from '@/features/chapter/Chapter.types.ts'; export const useReaderSetPagesState = ( diff --git a/src/features/reader/utils/ReaderPager.utils.tsx b/src/features/reader/viewer/pager/ReaderPager.utils.tsx similarity index 98% rename from src/features/reader/utils/ReaderPager.utils.tsx rename to src/features/reader/viewer/pager/ReaderPager.utils.tsx index a98fcd4b..8eac32fc 100644 --- a/src/features/reader/utils/ReaderPager.utils.tsx +++ b/src/features/reader/viewer/pager/ReaderPager.utils.tsx @@ -17,22 +17,22 @@ import { ReadingDirection, ReadingMode, TReaderScrollbarContext, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; import { getSetReaderWidth, isContinuousReadingMode, isContinuousVerticalReadingMode, shouldApplyReaderWidth, -} from '@/features/reader/utils/ReaderSettings.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +} from '@/features/reader/settings/ReaderSettings.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { ReaderPage } from '@/features/reader/components/viewer/ReaderPage.tsx'; +import { ReaderPage } from '@/features/reader/viewer/components/ReaderPage.tsx'; import { reverseString } from '@/util/Strings.ts'; -import { getPage } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +import { getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; import { DirectionOffset } from '@/Base.types.ts'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; -import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/constants/ReaderSettings.constants.tsx'; +import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { coerceIn } from '@/lib/HelperFunctions.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; diff --git a/src/features/reader/components/viewer/pager/BasePager.tsx b/src/features/reader/viewer/pager/components/BasePager.tsx similarity index 95% rename from src/features/reader/components/viewer/pager/BasePager.tsx rename to src/features/reader/viewer/pager/components/BasePager.tsx index f53405eb..a68c0e0e 100644 --- a/src/features/reader/components/viewer/pager/BasePager.tsx +++ b/src/features/reader/viewer/pager/components/BasePager.tsx @@ -8,16 +8,16 @@ import { forwardRef, memo, ReactNode, useCallback, useEffect, useMemo, useRef } from 'react'; import Box, { BoxProps } from '@mui/material/Box'; -import { getPageIndexesToLoad, isATransitionPageVisible } from '@/features/reader/utils/ReaderPager.utils.tsx'; -import { ReaderStatePages } from '@/features/reader/types/ReaderProgressBar.types.ts'; +import { getPageIndexesToLoad, isATransitionPageVisible } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; +import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { IReaderSettings, ReaderPagerProps, ReaderResumeMode, ReaderTransitionPageMode, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { isContinuousReadingMode } from '@/features/reader/utils/ReaderSettings.utils.tsx'; +import { isContinuousReadingMode } from '@/features/reader/settings/ReaderSettings.utils.tsx'; const getPreviousCurrentPageIndex = (resumeMode: ReaderResumeMode): number => resumeMode === ReaderResumeMode.END ? Number.MAX_SAFE_INTEGER : -1; diff --git a/src/features/reader/components/viewer/pager/ReaderDoublePagedPager.tsx b/src/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx similarity index 95% rename from src/features/reader/components/viewer/pager/ReaderDoublePagedPager.tsx rename to src/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx index 6e4ccd5f..e0a367ac 100644 --- a/src/features/reader/components/viewer/pager/ReaderDoublePagedPager.tsx +++ b/src/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx @@ -8,16 +8,16 @@ import { Direction, useTheme } from '@mui/material/styles'; import { forwardRef, Fragment, memo, useMemo } from 'react'; -import { BasePager } from '@/features/reader/components/viewer/pager/BasePager.tsx'; +import { BasePager } from '@/features/reader/viewer/pager/components/BasePager.tsx'; import { IReaderSettings, ReaderPagerProps, ReaderPageScaleMode, ReadingDirection, -} from '@/features/reader/types/Reader.types.ts'; +} from '@/features/reader/Reader.types.ts'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { createReaderPage } from '@/features/reader/utils/ReaderPager.utils.tsx'; -import { getNextIndexFromPage, getPage } from '@/features/reader/utils/ReaderProgressBar.utils.tsx'; +import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; +import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; const getPagePosition = ( pageType: 'first' | 'second', diff --git a/src/features/reader/components/viewer/pager/ReaderHorizontalPager.tsx b/src/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx similarity index 92% rename from src/features/reader/components/viewer/pager/ReaderHorizontalPager.tsx rename to src/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx index 99792185..e941ac21 100644 --- a/src/features/reader/components/viewer/pager/ReaderHorizontalPager.tsx +++ b/src/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx @@ -8,10 +8,10 @@ import { useTheme } from '@mui/material/styles'; import { forwardRef, memo } from 'react'; -import { BasePager } from '@/features/reader/components/viewer/pager/BasePager.tsx'; +import { BasePager } from '@/features/reader/viewer/pager/components/BasePager.tsx'; import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { IReaderSettings, ReaderPagerProps, ReadingDirection } from '@/features/reader/types/Reader.types.ts'; -import { createReaderPage } from '@/features/reader/utils/ReaderPager.utils.tsx'; +import { IReaderSettings, ReaderPagerProps, ReadingDirection } from '@/features/reader/Reader.types.ts'; +import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; const BaseReaderHorizontalPager = forwardRef< HTMLDivElement, diff --git a/src/features/reader/components/viewer/pager/ReaderPagedPager.tsx b/src/features/reader/viewer/pager/components/ReaderPagedPager.tsx similarity index 87% rename from src/features/reader/components/viewer/pager/ReaderPagedPager.tsx rename to src/features/reader/viewer/pager/components/ReaderPagedPager.tsx index 49938d4e..ea585a01 100644 --- a/src/features/reader/components/viewer/pager/ReaderPagedPager.tsx +++ b/src/features/reader/viewer/pager/components/ReaderPagedPager.tsx @@ -7,9 +7,9 @@ */ import { forwardRef, memo } from 'react'; -import { BasePager } from '@/features/reader/components/viewer/pager/BasePager.tsx'; -import { ReaderPagerProps } from '@/features/reader/types/Reader.types.ts'; -import { createReaderPage } from '@/features/reader/utils/ReaderPager.utils.tsx'; +import { BasePager } from '@/features/reader/viewer/pager/components/BasePager.tsx'; +import { ReaderPagerProps } from '@/features/reader/Reader.types.ts'; +import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; const BaseReaderPagedPager = forwardRef( ({ onLoad, onError, pageLoadStates, retryFailedPagesKeyPrefix, isPreloadMode, ...props }, ref) => { diff --git a/src/features/reader/components/viewer/pager/ReaderVerticalPager.tsx b/src/features/reader/viewer/pager/components/ReaderVerticalPager.tsx similarity index 90% rename from src/features/reader/components/viewer/pager/ReaderVerticalPager.tsx rename to src/features/reader/viewer/pager/components/ReaderVerticalPager.tsx index 5ba137bf..a59112a2 100644 --- a/src/features/reader/components/viewer/pager/ReaderVerticalPager.tsx +++ b/src/features/reader/viewer/pager/components/ReaderVerticalPager.tsx @@ -7,9 +7,9 @@ */ import { forwardRef, memo } from 'react'; -import { BasePager } from '@/features/reader/components/viewer/pager/BasePager.tsx'; -import { ReaderPagerProps, ReadingMode } from '@/features/reader/types/Reader.types.ts'; -import { createReaderPage } from '@/features/reader/utils/ReaderPager.utils.tsx'; +import { BasePager } from '@/features/reader/viewer/pager/components/BasePager.tsx'; +import { ReaderPagerProps, ReadingMode } from '@/features/reader/Reader.types.ts'; +import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; const BaseReaderVerticalPager = forwardRef( ({ onLoad, onError, pageLoadStates, retryFailedPagesKeyPrefix, isPreloadMode, ...props }, ref) => {