From 9e5af57a5f4c9f206b4215b20414b43e7d396555 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sat, 16 Aug 2025 02:48:46 +0200 Subject: [PATCH] Move "core" folder out of "features" into "base" --- src/App.tsx | 10 ++++---- src/Base.types.ts | 18 -------------- .../core => base}/AppRoute.constants.ts | 2 +- src/{ => base}/Asserts.ts | 0 .../core/Core.types.ts => base/Base.types.ts} | 11 ++++++++- src/{features/core => base}/IsoLanguages.ts | 0 .../core => base}/components/AppbarSearch.tsx | 6 ++--- .../components/CustomTooltip.tsx | 0 .../core => base}/components/GridLayouts.tsx | 4 ++-- .../core => base}/components/SpinnerImage.tsx | 4 ++-- .../components/buttons/ButtonSelect.tsx | 6 ++--- .../components/buttons/CustomButton.tsx | 0 .../components/buttons/CustomButtonIcon.tsx | 0 .../components/buttons/ResetButton.tsx | 2 +- .../components/buttons/StyledFab.tsx | 0 .../buttons/ValueRotationButton.tsx | 8 +++---- .../downloads/DownloadStateIndicator.tsx | 2 +- .../components/feedback/EmptyView.tsx | 0 .../feedback/EmptyViewAbsoluteCentered.tsx | 2 +- .../components/feedback/ErrorBoundary.tsx | 2 +- .../feedback/LoadingPlaceholder.tsx | 0 .../components/feedback/Progress.tsx | 0 .../feedback/SnackbarWithDescription.tsx | 6 ++--- .../components/inputs/ButtonSelectInput.tsx | 2 +- .../components/inputs/CheckboxContainer.ts | 0 .../components/inputs/CheckboxInput.tsx | 0 .../components/inputs/LanguageSelect.tsx | 4 ++-- .../components/inputs/PasswordTextField.tsx | 0 .../components/inputs/RadioInput.tsx | 0 .../components/inputs/SearchTextField.tsx | 0 .../components/inputs/Select.tsx | 0 .../components/inputs/SliderInput.tsx | 2 +- .../components/inputs/SortRadioInput.tsx | 2 +- .../components/inputs/ThreeStateCheckbox.tsx | 0 .../inputs/ThreeStateCheckboxInput.tsx | 2 +- .../components/lists/ListItemLink.tsx | 0 .../components/lists/cards/ListCardAvatar.tsx | 2 +- .../lists/cards/ListCardContent.tsx | 0 .../cards/OptionalCardActionAreaLink.tsx | 0 .../components/menu/IconMenuItem.tsx | 0 .../core => base}/components/menu/Menu.tsx | 0 .../components/menu/Menu.utils.ts | 2 +- .../components/menu/MenuItem.tsx | 0 .../components/menu/NestedMenuItem.tsx | 4 ++-- .../components/modals/ConfirmDialog.tsx | 0 .../components/modals/OptionsPanel.tsx | 0 .../components/modals/OptionsTabs.tsx | 4 ++-- .../settings/CheckboxListSetting.tsx | 2 +- .../components/settings/DateSetting.tsx | 0 .../settings/MutableListSetting.tsx | 8 +++---- .../components/settings/NumberSetting.tsx | 0 .../components/settings/SelectSetting.tsx | 5 ++-- .../components/settings/TimeSetting.tsx | 0 .../components/settings/text/TextSetting.tsx | 5 +--- .../settings/text/TextSettingDialog.tsx | 2 +- .../components/tabs/TabPanel.tsx | 0 .../components/tabs/TabsMenu.tsx | 0 .../components/tabs/TabsWrapper.tsx | 0 .../core => base}/components/texts/Kbd.tsx | 0 .../components/texts/Metadata.tsx | 0 .../components/texts/Superscript.tsx | 3 ++- .../components/texts/TypographyMaxLines.tsx | 2 +- .../components/virtuoso/StyledGroupHeader.tsx | 2 +- .../virtuoso/StyledGroupItemWrapper.tsx | 0 .../virtuoso/StyledGroupedVirtuoso.tsx | 0 .../core => base}/contexts/AppContext.tsx | 4 ++-- .../contexts/AppPageHistoryContext.tsx | 2 +- .../core => base}/hoc/withPropsFrom.tsx | 0 .../hooks/useAutomaticScrolling.ts | 4 ++-- .../core => base}/hooks/useBackButton.ts | 4 ++-- .../core => base}/hooks/useDebounce.ts | 0 .../core => base}/hooks/useHistory.ts | 0 .../hooks/useIntersectionObserver.tsx | 0 .../hooks/useMouseDragScroll.tsx | 2 +- .../core => base}/hooks/usePersistedValue.tsx | 2 +- .../core => base}/hooks/useResizeObserver.tsx | 0 .../core => base}/hooks/useStorage.tsx | 0 .../core => base}/utils/ApplyStyles.ts | 0 .../core => base}/utils/AwaitableDialog.tsx | 2 +- src/{util => base/utils}/DateHelper.ts | 0 .../core => base}/utils/Languages.ts | 5 ++-- .../core => base}/utils/LazyLoad.tsx | 2 +- .../core => base}/utils/MediaQuery.tsx | 2 +- .../core => base}/utils/ShouldForwardProp.ts | 0 src/{util => base/utils}/Strings.ts | 0 src/{features/core => base}/utils/Toast.ts | 0 .../utils/ValueRotationButton.utils.ts | 0 src/{util => base/utils}/cloneObject.tsx | 0 .../components/ServerUpdateChecker.tsx | 4 ++-- .../components/WebUIUpdateChecker.tsx | 4 ++-- .../app-updates/hooks/useUpdateChecker.tsx | 2 +- src/features/backup/screens/Backup.tsx | 16 ++++++------- src/features/browse/screens/Browse.tsx | 10 ++++---- .../browse/screens/BrowseSettings.tsx | 12 +++++----- .../components/CategoriesInclusionSetting.tsx | 6 ++--- .../category/components/CategorySelect.tsx | 8 +++---- .../components/CategorySettingsCard.tsx | 4 ++-- .../components/CreateOrEditCategoryDialog.tsx | 4 ++-- .../category/screens/CategorySettings.tsx | 6 ++--- src/features/chapter/Chapter.constants.ts | 2 +- src/features/chapter/Chapter.types.ts | 2 +- .../ChapterExcludeSanlatorsFilter.tsx | 4 ++-- .../chapter/components/ChapterList.tsx | 14 +++++------ .../chapter/components/ChapterOptions.tsx | 10 ++++---- .../components/ChaptersToolbarMenu.tsx | 2 +- .../actions/ChapterActionMenuItems.tsx | 4 ++-- .../ChaptersDownloadActionMenuItems.tsx | 4 ++-- .../buttons/ChapterDownloadButton.tsx | 4 ++-- .../buttons/ChapterDownloadRetryButton.tsx | 4 ++-- .../chapter/components/cards/ChapterCard.tsx | 14 +++++------ .../components/cards/ChapterCardMetadata.tsx | 4 ++-- .../components/cards/ChapterCardThumbnail.tsx | 4 ++-- .../components/cards/ChapterListCard.tsx | 2 +- src/features/chapter/services/Chapters.ts | 12 +++++----- .../chapter/utils/ChapterList.util.tsx | 2 +- .../SelectableCollectionSelectAll.tsx | 2 +- .../SelectableCollectionSelectMode.tsx | 2 +- .../collection/components/SelectionFAB.tsx | 7 +++--- src/features/device/DeviceContext.tsx | 2 +- src/features/device/screens/DeviceSetting.tsx | 10 ++++---- .../DeleteChaptersWhileReadingSetting.tsx | 2 +- .../components/DownloadAheadSetting.tsx | 6 ++--- .../components/DownloadConversionSetting.tsx | 4 ++-- .../components/DownloadQueueChapterCard.tsx | 12 +++++----- .../downloads/screens/DownloadQueue.tsx | 8 +++---- .../downloads/screens/DownloadSettings.tsx | 10 ++++---- .../extension/Extensions.constants.ts | 4 ++-- src/features/extension/Extensions.utils.ts | 6 ++--- .../extension/components/ExtensionCard.tsx | 12 +++++----- .../extension/components/ExtensionOptions.tsx | 12 +++++----- .../extension/screens/ExtensionInfo.tsx | 24 +++++++++---------- src/features/extension/screens/Extensions.tsx | 22 ++++++++--------- .../global-search/screens/SearchAll.tsx | 18 +++++++------- .../history/components/ChapterHistoryCard.tsx | 8 +++---- src/features/history/screens/History.tsx | 10 ++++---- .../history/screens/HistorySettings.tsx | 6 ++--- src/features/library/Library.types.ts | 3 +-- .../library/components/LibraryMangaGrid.tsx | 2 +- .../components/LibraryOptionsPanel.tsx | 15 ++++++------ .../library/components/LibraryToolbarMenu.tsx | 2 +- .../hooks/useGetVisibleLibraryMangas.ts | 5 ++-- src/features/library/screens/Library.tsx | 16 ++++++------- .../library/screens/LibraryDuplicates.tsx | 18 +++++++------- .../library/screens/LibrarySettings.tsx | 10 ++++---- .../library/util/LibraryDuplicates.util.ts | 2 +- .../workers/LibraryDuplicatesWorker.ts | 2 +- src/features/manga/Manga.constants.ts | 2 +- src/features/manga/Manga.types.ts | 2 +- .../components/ContinueReadingButton.tsx | 2 +- .../manga/components/MangaActionMenuItems.tsx | 8 +++---- src/features/manga/components/MangaBadges.tsx | 2 +- src/features/manga/components/MangaGrid.tsx | 10 ++++---- .../manga/components/MangaOptionButton.tsx | 2 +- .../manga/components/MangaToolbarMenu.tsx | 4 ++-- src/features/manga/components/ResumeFAB.tsx | 2 +- .../manga/components/TrackMangaButton.tsx | 6 ++--- .../manga/components/cards/MangaCard.tsx | 6 ++--- .../manga/components/cards/MangaGridCard.tsx | 10 ++++---- .../manga/components/cards/MangaListCard.tsx | 10 ++++---- .../components/details/DescriptionGenre.tsx | 4 ++-- .../manga/components/details/MangaDetails.tsx | 14 +++++------ .../manga/components/details/SearchLink.tsx | 2 +- .../manga/components/details/Thumbnail.tsx | 2 +- .../hooks/useManageMangaLibraryState.tsx | 6 ++--- src/features/manga/hooks/useRefreshManga.ts | 2 +- src/features/manga/screens/Manga.tsx | 6 ++--- src/features/manga/services/Mangas.ts | 6 ++--- src/features/metadata/Metadata.constants.ts | 2 +- src/features/migration/Migration.constants.ts | 2 +- .../migration/components/MigrateDialog.tsx | 6 ++--- .../migration/components/MigrationCard.tsx | 6 ++--- src/features/migration/screens/Migrate.tsx | 10 ++++---- src/features/migration/screens/Migration.tsx | 10 ++++---- src/features/navigation-bar/NavbarContext.tsx | 2 +- .../navigation-bar/NavigationBar.constants.ts | 2 +- .../navigation-bar/NavigationBar.types.ts | 4 ++-- .../navigation-bar/NavigationBar.util.ts | 2 +- .../components/DefaultNavBar.tsx | 6 ++--- .../components/DesktopSideBar.tsx | 8 +++---- .../components/MobileBottomBar.tsx | 4 ++-- src/features/reader/Reader.types.ts | 4 ++-- src/features/reader/Reader.utils.ts | 3 ++- .../auto-scroll/ReaderAutoScrollContext.tsx | 6 ++--- .../auto-scroll/hooks/useReaderAutoScroll.ts | 2 +- .../settings/ReaderSettingAutoScroll.tsx | 4 ++-- .../reader/filters/ReaderRGBAFilter.tsx | 2 +- .../filters/settings/ReaderFilterSettings.tsx | 2 +- .../components/ReaderSettingBrightness.tsx | 4 ++-- .../components/ReaderSettingContrast.tsx | 4 ++-- .../components/ReaderSettingGrayscale.tsx | 2 +- .../settings/components/ReaderSettingHue.tsx | 4 ++-- .../components/ReaderSettingInvert.tsx | 2 +- .../settings/components/ReaderSettingRGBA.tsx | 8 +++---- .../components/ReaderSettingSaturate.tsx | 4 ++-- .../components/ReaderSettingSepia.tsx | 2 +- .../reader/hooks/useReaderSetChaptersState.ts | 2 +- .../useReaderShowSettingPreviewOnChange.ts | 4 ++-- src/features/reader/hotkeys/ReaderHotkeys.tsx | 4 ++-- .../settings/ReaderHotkeysSettings.tsx | 2 +- .../hotkeys/settings/components/Hotkey.tsx | 4 ++-- .../components/ReaderSettingHotkey.tsx | 6 ++--- .../ReaderInfiniteScrollUpdateChapter.tsx | 2 +- .../useReaderInfiniteScrollUpdateChapter.ts | 2 +- src/features/reader/overlay/ReaderOverlay.tsx | 4 ++-- .../overlay/components/ReaderPageNumber.tsx | 4 ++-- .../mobile/ReaderOverlayHeaderMobile.tsx | 12 +++++----- .../components/ReaderBookmarkButton.tsx | 2 +- .../components/ReaderExitButton.tsx | 4 ++-- .../components/ReaderLibraryButton.tsx | 4 ++-- .../desktop/ReaderNavBarDesktop.tsx | 8 +++---- .../components/ReaderNavBarDesktopActions.tsx | 6 ++--- .../ReaderNavBarDesktopChapterNavigation.tsx | 4 ++-- .../ReaderNavBarDesktopMetadata.tsx | 6 ++--- .../ReaderNavBarDesktopNextPreviousButton.tsx | 4 ++-- .../ReaderNavBarDesktopPageNavigation.tsx | 4 ++-- .../ReaderNavBarDesktopQuickSettings.tsx | 2 +- .../ReaderNavBarDesktopPageScale.tsx | 8 +++---- .../ReaderNavBarDesktopReadingDirection.tsx | 4 ++-- .../ReaderNavBarDesktopReadingMode.tsx | 4 ++-- .../mobile/ReaderBottomBarMobile.tsx | 6 ++--- .../ReaderBottomBarMobileQuickSettings.tsx | 4 ++-- .../progress-bar/ReaderProgressBar.tsx | 4 ++-- .../ProgressBarHighlightReadPages.tsx | 4 ++-- .../components/ReaderProgressBarContainer.tsx | 4 ++-- .../ReaderProgressBarCurrentPageSlot.tsx | 4 ++-- .../ReaderProgressBarDirectionWrapper.tsx | 2 +- .../components/ReaderProgressBarSlot.tsx | 2 +- .../ReaderProgressBarSlotWrapper.tsx | 2 +- .../desktop/StandardReaderProgressBar.tsx | 6 ++--- .../ReaderProgressBarSlotDesktop.tsx | 2 +- .../mobile/MobileReaderProgressBar.tsx | 6 ++--- .../ReaderProgressBarSlotMobile.tsx | 2 +- .../ReaderSettingProgressBarPosition.tsx | 4 ++-- .../ReaderSettingProgressBarSize.tsx | 2 +- .../ReaderSettingProgressBarType.tsx | 4 ++-- .../settings/ReaderSettingOverlayMode.tsx | 4 ++-- src/features/reader/screens/Reader.tsx | 6 ++--- .../reader/services/ReaderControls.ts | 5 ++-- src/features/reader/services/ReaderService.ts | 10 ++++---- .../settings/ReaderSettings.constants.tsx | 3 +-- .../behaviour/ReaderBehaviourSettings.tsx | 4 ++-- .../components/ReaderSettingExitMode.tsx | 4 ++-- .../components/ReaderSettingScrollAmount.tsx | 6 ++--- .../components/DefaultSettingFootnote.tsx | 2 +- .../components/ReaderSettingsTabs.tsx | 10 ++++---- .../general/ReaderGeneralSettings.tsx | 2 +- .../ReaderSettingBackgroundColor.tsx | 4 ++-- .../components/ReaderSettingPageGap.tsx | 4 ++-- .../components/ReaderSettingPageScaleMode.tsx | 4 ++-- .../ReaderSettingReadingDirection.tsx | 4 ++-- .../components/ReaderSettingReadingMode.tsx | 4 ++-- .../ReaderSettingTapZoneInvertMode.tsx | 4 ++-- .../components/ReaderSettingTapZoneLayout.tsx | 4 ++-- .../layout/components/ReaderSettingWidth.tsx | 8 +++---- .../settings/screens/GlobalReaderSettings.tsx | 4 ++-- .../settings/screens/ReaderSettings.tsx | 2 +- .../tap-zones/ReaderTapZone.constants.ts | 3 ++- .../reader/tap-zones/TapZoneLayout.tsx | 4 ++-- .../reader/viewer/ReaderChapterViewer.tsx | 8 +++---- src/features/reader/viewer/ReaderViewer.tsx | 8 +++---- .../reader/viewer/components/ReaderPage.tsx | 6 ++--- .../components/ReaderTransitionPage.tsx | 8 +++---- .../hooks/useReaderHandlePageSelection.ts | 2 +- .../reader/viewer/pager/ReaderPager.utils.tsx | 6 ++--- .../viewer/pager/components/BasePager.tsx | 2 +- .../components/ReaderDoublePagedPager.tsx | 2 +- .../components/ReaderHorizontalPager.tsx | 2 +- src/features/settings/Settings.constants.ts | 10 +++----- .../globalUpdate/GlobalUpdateSettings.tsx | 2 +- .../GlobalUpdateSettingsEntries.tsx | 6 ++--- .../GlobalUpdateSettingsInterval.tsx | 4 ++-- .../webUI/WebUIUpdateIntervalSetting.tsx | 6 ++--- src/features/settings/screens/About.tsx | 8 +++---- src/features/settings/screens/Appearance.tsx | 14 +++++------ src/features/settings/screens/More.tsx | 6 ++--- .../settings/screens/ServerSettings.tsx | 14 +++++------ src/features/settings/screens/Settings.tsx | 6 ++--- .../settings/screens/WebUISettings.tsx | 10 ++++---- src/features/source/components/SourceCard.tsx | 12 +++++----- .../source/components/SourceGridLayout.tsx | 6 ++--- .../components/SourceLanguageSelect.tsx | 8 +++---- .../source/components/SourceOptions.tsx | 8 +++---- .../components/filters/CheckBoxFilter.tsx | 2 +- .../source/components/filters/SortFilter.tsx | 2 +- .../source/components/filters/TextFilter.tsx | 2 +- .../components/filters/TriStateFilter.tsx | 2 +- .../MultiSelectListPreference.tsx | 2 +- .../source/screens/SourceConfigure.tsx | 8 +++---- src/features/source/screens/SourceMangas.tsx | 17 +++++++------ src/features/source/screens/Sources.tsx | 16 ++++++------- src/features/source/services/Sources.ts | 4 ++-- src/features/theme/AppThemeContext.tsx | 6 ++--- .../theme/components/CreateThemeButton.tsx | 4 ++-- .../theme/components/CreateThemeDialog.tsx | 8 +++---- src/features/theme/components/ThemeList.tsx | 6 ++--- .../theme/components/ThemePreview.tsx | 6 ++--- src/features/theme/services/ThemeCreator.ts | 4 ++-- src/features/tracker/Tracker.constants.ts | 3 ++- .../tracker/components/TrackManga.tsx | 8 +++---- .../tracker/components/TrackerSearch.tsx | 14 +++++------ .../components/cards/SettingsTrackerCard.tsx | 6 ++--- .../components/cards/TrackerActiveCard.tsx | 16 ++++++------- .../components/cards/TrackerMangaCard.tsx | 10 ++++---- .../tracker/screens/TrackerOAuthLogin.tsx | 4 ++-- .../tracker/screens/TrackingSettings.tsx | 6 ++--- .../updates/components/ChapterUpdateCard.tsx | 6 ++--- .../updates/components/UpdateChecker.tsx | 10 ++++---- src/features/updates/screens/Updates.tsx | 12 +++++----- src/lib/dnd-kit/DndKitUtil.ts | 2 +- src/lib/dnd-kit/DndSortableItem.tsx | 2 +- src/lib/virtuoso/Virtuoso.util.tsx | 2 +- 311 files changed, 712 insertions(+), 727 deletions(-) delete mode 100644 src/Base.types.ts rename src/{features/core => base}/AppRoute.constants.ts (99%) rename src/{ => base}/Asserts.ts (100%) rename src/{features/core/Core.types.ts => base/Base.types.ts} (88%) rename src/{features/core => base}/IsoLanguages.ts (100%) rename src/{features/core => base}/components/AppbarSearch.tsx (94%) rename src/{features/core => base}/components/CustomTooltip.tsx (100%) rename src/{features/core => base}/components/GridLayouts.tsx (96%) rename src/{features/core => base}/components/SpinnerImage.tsx (98%) rename src/{features/core => base}/components/buttons/ButtonSelect.tsx (89%) rename src/{features/core => base}/components/buttons/CustomButton.tsx (100%) rename src/{features/core => base}/components/buttons/CustomButtonIcon.tsx (100%) rename src/{features/core => base}/components/buttons/ResetButton.tsx (93%) rename src/{features/core => base}/components/buttons/StyledFab.tsx (100%) rename src/{features/core => base}/components/buttons/ValueRotationButton.tsx (89%) rename src/{features/core => base}/components/downloads/DownloadStateIndicator.tsx (97%) rename src/{features/core => base}/components/feedback/EmptyView.tsx (100%) rename src/{features/core => base}/components/feedback/EmptyViewAbsoluteCentered.tsx (86%) rename src/{features/core => base}/components/feedback/ErrorBoundary.tsx (97%) rename src/{features/core => base}/components/feedback/LoadingPlaceholder.tsx (100%) rename src/{features/core => base}/components/feedback/Progress.tsx (100%) rename src/{features/core => base}/components/feedback/SnackbarWithDescription.tsx (96%) rename src/{features/core => base}/components/inputs/ButtonSelectInput.tsx (91%) rename src/{features/core => base}/components/inputs/CheckboxContainer.ts (100%) rename src/{features/core => base}/components/inputs/CheckboxInput.tsx (100%) rename src/{features/core => base}/components/inputs/LanguageSelect.tsx (97%) rename src/{features/core => base}/components/inputs/PasswordTextField.tsx (100%) rename src/{features/core => base}/components/inputs/RadioInput.tsx (100%) rename src/{features/core => base}/components/inputs/SearchTextField.tsx (100%) rename src/{features/core => base}/components/inputs/Select.tsx (100%) rename src/{features/core => base}/components/inputs/SliderInput.tsx (94%) rename src/{features/core => base}/components/inputs/SortRadioInput.tsx (88%) rename src/{features/core => base}/components/inputs/ThreeStateCheckbox.tsx (100%) rename src/{features/core => base}/components/inputs/ThreeStateCheckboxInput.tsx (83%) rename src/{features/core => base}/components/lists/ListItemLink.tsx (100%) rename src/{features/core => base}/components/lists/cards/ListCardAvatar.tsx (92%) rename src/{features/core => base}/components/lists/cards/ListCardContent.tsx (100%) rename src/{features/core => base}/components/lists/cards/OptionalCardActionAreaLink.tsx (100%) rename src/{features/core => base}/components/menu/IconMenuItem.tsx (100%) rename src/{features/core => base}/components/menu/Menu.tsx (100%) rename src/{features/core => base}/components/menu/Menu.utils.ts (96%) rename src/{features/core => base}/components/menu/MenuItem.tsx (100%) rename src/{features/core => base}/components/menu/NestedMenuItem.tsx (97%) rename src/{features/core => base}/components/modals/ConfirmDialog.tsx (100%) rename src/{features/core => base}/components/modals/OptionsPanel.tsx (100%) rename src/{features/core => base}/components/modals/OptionsTabs.tsx (91%) rename src/{features/core => base}/components/settings/CheckboxListSetting.tsx (98%) rename src/{features/core => base}/components/settings/DateSetting.tsx (100%) rename src/{features/core => base}/components/settings/MutableListSetting.tsx (96%) rename src/{features/core => base}/components/settings/NumberSetting.tsx (100%) rename src/{features/core => base}/components/settings/SelectSetting.tsx (98%) rename src/{features/core => base}/components/settings/TimeSetting.tsx (100%) rename src/{features/core => base}/components/settings/text/TextSetting.tsx (91%) rename src/{features/core => base}/components/settings/text/TextSettingDialog.tsx (97%) rename src/{features/core => base}/components/tabs/TabPanel.tsx (100%) rename src/{features/core => base}/components/tabs/TabsMenu.tsx (100%) rename src/{features/core => base}/components/tabs/TabsWrapper.tsx (100%) rename src/{features/core => base}/components/texts/Kbd.tsx (100%) rename src/{features/core => base}/components/texts/Metadata.tsx (100%) rename src/{features/core => base}/components/texts/Superscript.tsx (95%) rename src/{features/core => base}/components/texts/TypographyMaxLines.tsx (94%) rename src/{features/core => base}/components/virtuoso/StyledGroupHeader.tsx (92%) rename src/{features/core => base}/components/virtuoso/StyledGroupItemWrapper.tsx (100%) rename src/{features/core => base}/components/virtuoso/StyledGroupedVirtuoso.tsx (100%) rename src/{features/core => base}/contexts/AppContext.tsx (92%) rename src/{features/core => base}/contexts/AppPageHistoryContext.tsx (91%) rename src/{features/core => base}/hoc/withPropsFrom.tsx (100%) rename src/{features/core => base}/hooks/useAutomaticScrolling.ts (97%) rename src/{features/core => base}/hooks/useBackButton.ts (88%) rename src/{features/core => base}/hooks/useDebounce.ts (100%) rename src/{features/core => base}/hooks/useHistory.ts (100%) rename src/{features/core => base}/hooks/useIntersectionObserver.tsx (100%) rename src/{features/core => base}/hooks/useMouseDragScroll.tsx (99%) rename src/{features/core => base}/hooks/usePersistedValue.tsx (92%) rename src/{features/core => base}/hooks/useResizeObserver.tsx (100%) rename src/{features/core => base}/hooks/useStorage.tsx (100%) rename src/{features/core => base}/utils/ApplyStyles.ts (100%) rename src/{features/core => base}/utils/AwaitableDialog.tsx (95%) rename src/{util => base/utils}/DateHelper.ts (100%) rename src/{features/core => base}/utils/Languages.ts (97%) rename src/{features/core => base}/utils/LazyLoad.tsx (77%) rename src/{features/core => base}/utils/MediaQuery.tsx (98%) rename src/{features/core => base}/utils/ShouldForwardProp.ts (100%) rename src/{util => base/utils}/Strings.ts (100%) rename src/{features/core => base}/utils/Toast.ts (100%) rename src/{features/core => base}/utils/ValueRotationButton.utils.ts (100%) rename src/{util => base/utils}/cloneObject.tsx (100%) diff --git a/src/App.tsx b/src/App.tsx index 4a3b401c..3bbeb6ad 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -12,20 +12,20 @@ import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; import { loadErrorMessages, loadDevMessages } from '@apollo/client/dev'; import { loadable } from 'react-lazily/loadable'; import Box from '@mui/material/Box'; -import { AppContext } from '@/features/core/contexts/AppContext.tsx'; +import { AppContext } from '@/base/contexts/AppContext.tsx'; import '@/i18n'; import { DefaultNavBar } from '@/features/navigation-bar/components/DefaultNavBar.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { WebUIUpdateChecker } from '@/features/app-updates/components/WebUIUpdateChecker.tsx'; import { ServerUpdateChecker } from '@/features/app-updates/components/ServerUpdateChecker.tsx'; -import { lazyLoadFallback } from '@/features/core/utils/LazyLoad.tsx'; -import { ErrorBoundary } from '@/features/core/components/feedback/ErrorBoundary.tsx'; +import { lazyLoadFallback } from '@/base/utils/LazyLoad.tsx'; +import { ErrorBoundary } from '@/base/components/feedback/ErrorBoundary.tsx'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { BrowseTab } from '@/features/browse/Browse.types.ts'; const { Browse } = loadable(() => import('@/features/browse/screens/Browse.tsx'), lazyLoadFallback); diff --git a/src/Base.types.ts b/src/Base.types.ts deleted file mode 100644 index 1a14c84d..00000000 --- a/src/Base.types.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (C) Contributors to the Suwayomi project - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - */ - -import { ParseKeys } from 'i18next'; - -export enum DirectionOffset { - PREVIOUS = -1, - NEXT = 1, -} - -export type NullAndUndefined = T | null | undefined; - -export type TranslationKey = ParseKeys; diff --git a/src/features/core/AppRoute.constants.ts b/src/base/AppRoute.constants.ts similarity index 99% rename from src/features/core/AppRoute.constants.ts rename to src/base/AppRoute.constants.ts index 1264d67b..2b773140 100644 --- a/src/features/core/AppRoute.constants.ts +++ b/src/base/AppRoute.constants.ts @@ -11,7 +11,7 @@ import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; import { ChapterSourceOrderInfo } from '@/features/chapter/Chapter.types.ts'; import { BrowseTab } from '@/features/browse/Browse.types.ts'; -import { SearchParam } from '@/features/core/Core.types.ts'; +import { SearchParam } from '@/base/Base.types.ts'; type AppRouteInfo = { match: string; diff --git a/src/Asserts.ts b/src/base/Asserts.ts similarity index 100% rename from src/Asserts.ts rename to src/base/Asserts.ts diff --git a/src/features/core/Core.types.ts b/src/base/Base.types.ts similarity index 88% rename from src/features/core/Core.types.ts rename to src/base/Base.types.ts index 3ac5eb4b..0ebb8f3c 100644 --- a/src/features/core/Core.types.ts +++ b/src/base/Base.types.ts @@ -7,7 +7,7 @@ */ import { ReactNode } from 'react'; -import { TranslationKey } from '@/Base.types.ts'; +import { ParseKeys } from 'i18next'; export enum GridLayout { Compact = 0, @@ -15,6 +15,15 @@ export enum GridLayout { List = 2, } +export enum DirectionOffset { + PREVIOUS = -1, + NEXT = 1, +} + +export type NullAndUndefined = T | null | undefined; + +export type TranslationKey = ParseKeys; + interface DisplayDataTranslationKey { isTitleString?: never; title: TranslationKey; diff --git a/src/features/core/IsoLanguages.ts b/src/base/IsoLanguages.ts similarity index 100% rename from src/features/core/IsoLanguages.ts rename to src/base/IsoLanguages.ts diff --git a/src/features/core/components/AppbarSearch.tsx b/src/base/components/AppbarSearch.tsx similarity index 94% rename from src/features/core/components/AppbarSearch.tsx rename to src/base/components/AppbarSearch.tsx index ea8bc30c..0c0153ad 100644 --- a/src/features/core/components/AppbarSearch.tsx +++ b/src/base/components/AppbarSearch.tsx @@ -14,9 +14,9 @@ import { useTranslation } from 'react-i18next'; import { useLocation } from 'react-router-dom'; import { useTheme } from '@mui/material/styles'; import { useHotkeys } from 'react-hotkeys-hook'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { SearchTextField } from '@/features/core/components/inputs/SearchTextField.tsx'; -import { SearchParam } from '@/features/core/Core.types.ts'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { SearchTextField } from '@/base/components/inputs/SearchTextField.tsx'; +import { SearchParam } from '@/base/Base.types.ts'; interface IProps { isClosable?: boolean; diff --git a/src/features/core/components/CustomTooltip.tsx b/src/base/components/CustomTooltip.tsx similarity index 100% rename from src/features/core/components/CustomTooltip.tsx rename to src/base/components/CustomTooltip.tsx diff --git a/src/features/core/components/GridLayouts.tsx b/src/base/components/GridLayouts.tsx similarity index 96% rename from src/features/core/components/GridLayouts.tsx rename to src/base/components/GridLayouts.tsx index 31428d7c..a0eb6aff 100644 --- a/src/features/core/components/GridLayouts.tsx +++ b/src/base/components/GridLayouts.tsx @@ -14,9 +14,9 @@ import Radio from '@mui/material/Radio'; import React from 'react'; import ViewModuleIcon from '@mui/icons-material/ViewModule'; import { useTranslation } from 'react-i18next'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout } from '@/base/Base.types.ts'; // TODO: clean up this to use a FormControl, and remove dependency on name o radio button export function GridLayouts({ diff --git a/src/features/core/components/SpinnerImage.tsx b/src/base/components/SpinnerImage.tsx similarity index 98% rename from src/features/core/components/SpinnerImage.tsx rename to src/base/components/SpinnerImage.tsx index f4694b1a..fd47f5c8 100644 --- a/src/features/core/components/SpinnerImage.tsx +++ b/src/base/components/SpinnerImage.tsx @@ -18,8 +18,8 @@ import ImageIcon from '@mui/icons-material/Image'; import { SxProps, Theme } from '@mui/material/styles'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { Priority } from '@/lib/Queue.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { useIntersectionObserver } from '@/features/core/hooks/useIntersectionObserver.tsx'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; +import { useIntersectionObserver } from '@/base/hooks/useIntersectionObserver.tsx'; export interface SpinnerImageProps { shouldLoad?: boolean; diff --git a/src/features/core/components/buttons/ButtonSelect.tsx b/src/base/components/buttons/ButtonSelect.tsx similarity index 89% rename from src/features/core/components/buttons/ButtonSelect.tsx rename to src/base/components/buttons/ButtonSelect.tsx index daf68dd0..b71c98f4 100644 --- a/src/features/core/components/buttons/ButtonSelect.tsx +++ b/src/base/components/buttons/ButtonSelect.tsx @@ -9,9 +9,9 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { MultiValueButtonProps } from '@/features/core/Core.types.ts'; -import { Superscript } from '@/features/core/components/texts/Superscript.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { MultiValueButtonProps } from '@/base/Base.types.ts'; +import { Superscript } from '@/base/components/texts/Superscript.tsx'; export const ButtonSelect = ({ value, diff --git a/src/features/core/components/buttons/CustomButton.tsx b/src/base/components/buttons/CustomButton.tsx similarity index 100% rename from src/features/core/components/buttons/CustomButton.tsx rename to src/base/components/buttons/CustomButton.tsx diff --git a/src/features/core/components/buttons/CustomButtonIcon.tsx b/src/base/components/buttons/CustomButtonIcon.tsx similarity index 100% rename from src/features/core/components/buttons/CustomButtonIcon.tsx rename to src/base/components/buttons/CustomButtonIcon.tsx diff --git a/src/features/core/components/buttons/ResetButton.tsx b/src/base/components/buttons/ResetButton.tsx similarity index 93% rename from src/features/core/components/buttons/ResetButton.tsx rename to src/base/components/buttons/ResetButton.tsx index dbb63c40..8739757e 100644 --- a/src/features/core/components/buttons/ResetButton.tsx +++ b/src/base/components/buttons/ResetButton.tsx @@ -10,7 +10,7 @@ import Button, { ButtonProps } from '@mui/material/Button'; import { useTranslation } from 'react-i18next'; import RestartAltIcon from '@mui/icons-material/RestartAlt'; import IconButton, { IconButtonProps } from '@mui/material/IconButton'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; type PropsIconButton = { asIconButton: true } & IconButtonProps; type PropsButton = { asIconButton?: false } & ButtonProps; diff --git a/src/features/core/components/buttons/StyledFab.tsx b/src/base/components/buttons/StyledFab.tsx similarity index 100% rename from src/features/core/components/buttons/StyledFab.tsx rename to src/base/components/buttons/StyledFab.tsx diff --git a/src/features/core/components/buttons/ValueRotationButton.tsx b/src/base/components/buttons/ValueRotationButton.tsx similarity index 89% rename from src/features/core/components/buttons/ValueRotationButton.tsx rename to src/base/components/buttons/ValueRotationButton.tsx index 066dc292..1331c817 100644 --- a/src/features/core/components/buttons/ValueRotationButton.tsx +++ b/src/base/components/buttons/ValueRotationButton.tsx @@ -9,10 +9,10 @@ import { useTranslation } from 'react-i18next'; import { ReactNode, useMemo } from 'react'; import Button from '@mui/material/Button'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { MultiValueButtonProps } from '@/features/core/Core.types.ts'; -import { getNextRotationValue } from '@/features/core/utils/ValueRotationButton.utils.ts'; -import { Superscript } from '@/features/core/components/texts/Superscript.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { MultiValueButtonProps } from '@/base/Base.types.ts'; +import { getNextRotationValue } from '@/base/utils/ValueRotationButton.utils.ts'; +import { Superscript } from '@/base/components/texts/Superscript.tsx'; export const ValueRotationButton = ({ tooltip, diff --git a/src/features/core/components/downloads/DownloadStateIndicator.tsx b/src/base/components/downloads/DownloadStateIndicator.tsx similarity index 97% rename from src/features/core/components/downloads/DownloadStateIndicator.tsx rename to src/base/components/downloads/DownloadStateIndicator.tsx index 94cf059c..2b14eb8d 100644 --- a/src/features/core/components/downloads/DownloadStateIndicator.tsx +++ b/src/base/components/downloads/DownloadStateIndicator.tsx @@ -12,8 +12,8 @@ import Typography from '@mui/material/Typography'; import { useTranslation } from 'react-i18next'; import { DownloadState } from '@/lib/graphql/generated/graphql.ts'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; const DOWNLOAD_STATE_TO_TRANSLATION_KEY_MAP: { [state in DownloadState]: TranslationKey } = { DOWNLOADING: 'download.state.label.downloading', diff --git a/src/features/core/components/feedback/EmptyView.tsx b/src/base/components/feedback/EmptyView.tsx similarity index 100% rename from src/features/core/components/feedback/EmptyView.tsx rename to src/base/components/feedback/EmptyView.tsx diff --git a/src/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx b/src/base/components/feedback/EmptyViewAbsoluteCentered.tsx similarity index 86% rename from src/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx rename to src/base/components/feedback/EmptyViewAbsoluteCentered.tsx index 0b7890f6..8a635edc 100644 --- a/src/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx +++ b/src/base/components/feedback/EmptyViewAbsoluteCentered.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { EmptyView, EmptyViewProps } from '@/features/core/components/feedback/EmptyView.tsx'; +import { EmptyView, EmptyViewProps } from '@/base/components/feedback/EmptyView.tsx'; export function EmptyViewAbsoluteCentered({ sx, ...emptyViewProps }: EmptyViewProps) { return ( diff --git a/src/features/core/components/feedback/ErrorBoundary.tsx b/src/base/components/feedback/ErrorBoundary.tsx similarity index 97% rename from src/features/core/components/feedback/ErrorBoundary.tsx rename to src/base/components/feedback/ErrorBoundary.tsx index 1cf4920a..209073e3 100644 --- a/src/features/core/components/feedback/ErrorBoundary.tsx +++ b/src/base/components/feedback/ErrorBoundary.tsx @@ -10,7 +10,7 @@ import { Component, ErrorInfo, ReactNode, useEffect, useRef, useState } from 're import { useLocation } from 'react-router-dom'; import { t } from 'i18next'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { EmptyView } from '@/features/core/components/feedback/EmptyView.tsx'; +import { EmptyView } from '@/base/components/feedback/EmptyView.tsx'; interface Props { children?: ReactNode; diff --git a/src/features/core/components/feedback/LoadingPlaceholder.tsx b/src/base/components/feedback/LoadingPlaceholder.tsx similarity index 100% rename from src/features/core/components/feedback/LoadingPlaceholder.tsx rename to src/base/components/feedback/LoadingPlaceholder.tsx diff --git a/src/features/core/components/feedback/Progress.tsx b/src/base/components/feedback/Progress.tsx similarity index 100% rename from src/features/core/components/feedback/Progress.tsx rename to src/base/components/feedback/Progress.tsx diff --git a/src/features/core/components/feedback/SnackbarWithDescription.tsx b/src/base/components/feedback/SnackbarWithDescription.tsx similarity index 96% rename from src/features/core/components/feedback/SnackbarWithDescription.tsx rename to src/base/components/feedback/SnackbarWithDescription.tsx index 7b8ceb27..c6da28ba 100644 --- a/src/features/core/components/feedback/SnackbarWithDescription.tsx +++ b/src/base/components/feedback/SnackbarWithDescription.tsx @@ -13,11 +13,11 @@ import AlertTitle from '@mui/material/AlertTitle'; import Button from '@mui/material/Button'; import { useTranslation } from 'react-i18next'; import { useTheme } from '@mui/material/styles'; -import { awaitConfirmation } from '@/features/core/utils/AwaitableDialog.tsx'; -import { TranslationKey } from '@/Base.types.ts'; +import { awaitConfirmation } from '@/base/utils/AwaitableDialog.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { extractGraphqlExceptionInfo } from '@/lib/HelperFunctions.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; const MAX_DESCRIPTION_LENGTH = 200; diff --git a/src/features/core/components/inputs/ButtonSelectInput.tsx b/src/base/components/inputs/ButtonSelectInput.tsx similarity index 91% rename from src/features/core/components/inputs/ButtonSelectInput.tsx rename to src/base/components/inputs/ButtonSelectInput.tsx index 69ca8632..16d6b501 100644 --- a/src/features/core/components/inputs/ButtonSelectInput.tsx +++ b/src/base/components/inputs/ButtonSelectInput.tsx @@ -10,7 +10,7 @@ import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import { ComponentProps } from 'react'; -import { ButtonSelect } from '@/features/core/components/buttons/ButtonSelect.tsx'; +import { ButtonSelect } from '@/base/components/buttons/ButtonSelect.tsx'; export const ButtonSelectInput = ({ label, diff --git a/src/features/core/components/inputs/CheckboxContainer.ts b/src/base/components/inputs/CheckboxContainer.ts similarity index 100% rename from src/features/core/components/inputs/CheckboxContainer.ts rename to src/base/components/inputs/CheckboxContainer.ts diff --git a/src/features/core/components/inputs/CheckboxInput.tsx b/src/base/components/inputs/CheckboxInput.tsx similarity index 100% rename from src/features/core/components/inputs/CheckboxInput.tsx rename to src/base/components/inputs/CheckboxInput.tsx diff --git a/src/features/core/components/inputs/LanguageSelect.tsx b/src/base/components/inputs/LanguageSelect.tsx similarity index 97% rename from src/features/core/components/inputs/LanguageSelect.tsx rename to src/base/components/inputs/LanguageSelect.tsx index 29b78083..f214b772 100644 --- a/src/features/core/components/inputs/LanguageSelect.tsx +++ b/src/base/components/inputs/LanguageSelect.tsx @@ -19,9 +19,9 @@ import ListItemText from '@mui/material/ListItemText'; import ListItem from '@mui/material/ListItem'; import { useTranslation } from 'react-i18next'; import { Virtuoso } from 'react-virtuoso'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { translateExtensionLanguage } from '@/features/extension/Extensions.utils.ts'; -import { languageSortComparator, toUniqueLanguageCodes } from '@/features/core/utils/Languages.ts'; +import { languageSortComparator, toUniqueLanguageCodes } from '@/base/utils/Languages.ts'; interface IProps { selectedLanguages: string[]; diff --git a/src/features/core/components/inputs/PasswordTextField.tsx b/src/base/components/inputs/PasswordTextField.tsx similarity index 100% rename from src/features/core/components/inputs/PasswordTextField.tsx rename to src/base/components/inputs/PasswordTextField.tsx diff --git a/src/features/core/components/inputs/RadioInput.tsx b/src/base/components/inputs/RadioInput.tsx similarity index 100% rename from src/features/core/components/inputs/RadioInput.tsx rename to src/base/components/inputs/RadioInput.tsx diff --git a/src/features/core/components/inputs/SearchTextField.tsx b/src/base/components/inputs/SearchTextField.tsx similarity index 100% rename from src/features/core/components/inputs/SearchTextField.tsx rename to src/base/components/inputs/SearchTextField.tsx diff --git a/src/features/core/components/inputs/Select.tsx b/src/base/components/inputs/Select.tsx similarity index 100% rename from src/features/core/components/inputs/Select.tsx rename to src/base/components/inputs/Select.tsx diff --git a/src/features/core/components/inputs/SliderInput.tsx b/src/base/components/inputs/SliderInput.tsx similarity index 94% rename from src/features/core/components/inputs/SliderInput.tsx rename to src/base/components/inputs/SliderInput.tsx index 46613b55..0fccd841 100644 --- a/src/features/core/components/inputs/SliderInput.tsx +++ b/src/base/components/inputs/SliderInput.tsx @@ -9,7 +9,7 @@ import Slider, { SliderProps } from '@mui/material/Slider'; import Typography, { TypographyProps } from '@mui/material/Typography'; import Stack from '@mui/material/Stack'; -import { ResetButton } from '@/features/core/components/buttons/ResetButton.tsx'; +import { ResetButton } from '@/base/components/buttons/ResetButton.tsx'; export const SliderInput = ({ label, diff --git a/src/features/core/components/inputs/SortRadioInput.tsx b/src/base/components/inputs/SortRadioInput.tsx similarity index 88% rename from src/features/core/components/inputs/SortRadioInput.tsx rename to src/base/components/inputs/SortRadioInput.tsx index 04a1bf7e..be857ea1 100644 --- a/src/features/core/components/inputs/SortRadioInput.tsx +++ b/src/base/components/inputs/SortRadioInput.tsx @@ -9,7 +9,7 @@ import ArrowDownward from '@mui/icons-material/ArrowDownward'; import ArrowUpward from '@mui/icons-material/ArrowUpward'; import { memo } from 'react'; -import { RadioInput, RadioInputProps } from '@/features/core/components/inputs/RadioInput.tsx'; +import { RadioInput, RadioInputProps } from '@/base/components/inputs/RadioInput.tsx'; interface IProps extends RadioInputProps { sortDescending?: boolean | null | undefined; diff --git a/src/features/core/components/inputs/ThreeStateCheckbox.tsx b/src/base/components/inputs/ThreeStateCheckbox.tsx similarity index 100% rename from src/features/core/components/inputs/ThreeStateCheckbox.tsx rename to src/base/components/inputs/ThreeStateCheckbox.tsx diff --git a/src/features/core/components/inputs/ThreeStateCheckboxInput.tsx b/src/base/components/inputs/ThreeStateCheckboxInput.tsx similarity index 83% rename from src/features/core/components/inputs/ThreeStateCheckboxInput.tsx rename to src/base/components/inputs/ThreeStateCheckboxInput.tsx index 363a547d..1ef2e3bd 100644 --- a/src/features/core/components/inputs/ThreeStateCheckboxInput.tsx +++ b/src/base/components/inputs/ThreeStateCheckboxInput.tsx @@ -8,7 +8,7 @@ import FormControlLabel from '@mui/material/FormControlLabel'; import React from 'react'; -import { ThreeStateCheckbox, ThreeStateCheckboxProps } from '@/features/core/components/inputs/ThreeStateCheckbox.tsx'; +import { ThreeStateCheckbox, ThreeStateCheckboxProps } from '@/base/components/inputs/ThreeStateCheckbox.tsx'; interface IProps extends ThreeStateCheckboxProps { label?: string; diff --git a/src/features/core/components/lists/ListItemLink.tsx b/src/base/components/lists/ListItemLink.tsx similarity index 100% rename from src/features/core/components/lists/ListItemLink.tsx rename to src/base/components/lists/ListItemLink.tsx diff --git a/src/features/core/components/lists/cards/ListCardAvatar.tsx b/src/base/components/lists/cards/ListCardAvatar.tsx similarity index 92% rename from src/features/core/components/lists/cards/ListCardAvatar.tsx rename to src/base/components/lists/cards/ListCardAvatar.tsx index a982b1cb..0aa243a1 100644 --- a/src/features/core/components/lists/cards/ListCardAvatar.tsx +++ b/src/base/components/lists/cards/ListCardAvatar.tsx @@ -7,7 +7,7 @@ */ import Avatar, { AvatarProps } from '@mui/material/Avatar'; -import { SpinnerImage, SpinnerImageProps } from '@/features/core/components/SpinnerImage.tsx'; +import { SpinnerImage, SpinnerImageProps } from '@/base/components/SpinnerImage.tsx'; export const ListCardAvatar = ({ iconUrl, diff --git a/src/features/core/components/lists/cards/ListCardContent.tsx b/src/base/components/lists/cards/ListCardContent.tsx similarity index 100% rename from src/features/core/components/lists/cards/ListCardContent.tsx rename to src/base/components/lists/cards/ListCardContent.tsx diff --git a/src/features/core/components/lists/cards/OptionalCardActionAreaLink.tsx b/src/base/components/lists/cards/OptionalCardActionAreaLink.tsx similarity index 100% rename from src/features/core/components/lists/cards/OptionalCardActionAreaLink.tsx rename to src/base/components/lists/cards/OptionalCardActionAreaLink.tsx diff --git a/src/features/core/components/menu/IconMenuItem.tsx b/src/base/components/menu/IconMenuItem.tsx similarity index 100% rename from src/features/core/components/menu/IconMenuItem.tsx rename to src/base/components/menu/IconMenuItem.tsx diff --git a/src/features/core/components/menu/Menu.tsx b/src/base/components/menu/Menu.tsx similarity index 100% rename from src/features/core/components/menu/Menu.tsx rename to src/base/components/menu/Menu.tsx diff --git a/src/features/core/components/menu/Menu.utils.ts b/src/base/components/menu/Menu.utils.ts similarity index 96% rename from src/features/core/components/menu/Menu.utils.ts rename to src/base/components/menu/Menu.utils.ts index 5e8afbab..fbeb0d68 100644 --- a/src/features/core/components/menu/Menu.utils.ts +++ b/src/base/components/menu/Menu.utils.ts @@ -8,7 +8,7 @@ import { t as translate } from 'i18next'; -import { TranslationKey } from '@/Base.types.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; export const createGetMenuItemTitle = ( diff --git a/src/features/core/components/menu/MenuItem.tsx b/src/base/components/menu/MenuItem.tsx similarity index 100% rename from src/features/core/components/menu/MenuItem.tsx rename to src/base/components/menu/MenuItem.tsx diff --git a/src/features/core/components/menu/NestedMenuItem.tsx b/src/base/components/menu/NestedMenuItem.tsx similarity index 97% rename from src/features/core/components/menu/NestedMenuItem.tsx rename to src/base/components/menu/NestedMenuItem.tsx index b24afb7b..03dc7b32 100644 --- a/src/features/core/components/menu/NestedMenuItem.tsx +++ b/src/base/components/menu/NestedMenuItem.tsx @@ -33,9 +33,9 @@ import Box from '@mui/material/Box'; import { OverridableComponent } from '@mui/material/OverridableComponent'; import { SvgIconTypeMap } from '@mui/material/SvgIcon'; import { useMergedRef } from '@mantine/hooks'; -import { IconMenuItem } from '@/features/core/components/menu/IconMenuItem.tsx'; +import { IconMenuItem } from '@/base/components/menu/IconMenuItem.tsx'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; export type NestedMenuItemProps = Omit & { parentMenuOpen: boolean; diff --git a/src/features/core/components/modals/ConfirmDialog.tsx b/src/base/components/modals/ConfirmDialog.tsx similarity index 100% rename from src/features/core/components/modals/ConfirmDialog.tsx rename to src/base/components/modals/ConfirmDialog.tsx diff --git a/src/features/core/components/modals/OptionsPanel.tsx b/src/base/components/modals/OptionsPanel.tsx similarity index 100% rename from src/features/core/components/modals/OptionsPanel.tsx rename to src/base/components/modals/OptionsPanel.tsx diff --git a/src/features/core/components/modals/OptionsTabs.tsx b/src/base/components/modals/OptionsTabs.tsx similarity index 91% rename from src/features/core/components/modals/OptionsTabs.tsx rename to src/base/components/modals/OptionsTabs.tsx index 2803045e..81b30808 100644 --- a/src/features/core/components/modals/OptionsTabs.tsx +++ b/src/base/components/modals/OptionsTabs.tsx @@ -10,8 +10,8 @@ import Stack from '@mui/material/Stack'; import Tab from '@mui/material/Tab'; import Tabs from '@mui/material/Tabs'; import React, { useState } from 'react'; -import { TabPanel } from '@/features/core/components/tabs/TabPanel.tsx'; -import { OptionsPanel } from '@/features/core/components/modals/OptionsPanel.tsx'; +import { TabPanel } from '@/base/components/tabs/TabPanel.tsx'; +import { OptionsPanel } from '@/base/components/modals/OptionsPanel.tsx'; interface IProps { open: boolean; diff --git a/src/features/core/components/settings/CheckboxListSetting.tsx b/src/base/components/settings/CheckboxListSetting.tsx similarity index 98% rename from src/features/core/components/settings/CheckboxListSetting.tsx rename to src/base/components/settings/CheckboxListSetting.tsx index 75ed7f44..2c138d3c 100644 --- a/src/features/core/components/settings/CheckboxListSetting.tsx +++ b/src/base/components/settings/CheckboxListSetting.tsx @@ -16,7 +16,7 @@ import { useTranslation } from 'react-i18next'; import Stack from '@mui/material/Stack'; import { useCallback, useMemo } from 'react'; import { CheckboxProps } from '@mui/material/Checkbox'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { useSelectableCollection } from '@/features/collection/hooks/useSelectableCollection.ts'; export function CheckboxListSetting({ diff --git a/src/features/core/components/settings/DateSetting.tsx b/src/base/components/settings/DateSetting.tsx similarity index 100% rename from src/features/core/components/settings/DateSetting.tsx rename to src/base/components/settings/DateSetting.tsx diff --git a/src/features/core/components/settings/MutableListSetting.tsx b/src/base/components/settings/MutableListSetting.tsx similarity index 96% rename from src/features/core/components/settings/MutableListSetting.tsx rename to src/base/components/settings/MutableListSetting.tsx index 56a3076c..780e3acf 100644 --- a/src/features/core/components/settings/MutableListSetting.tsx +++ b/src/base/components/settings/MutableListSetting.tsx @@ -23,10 +23,10 @@ import DeleteIcon from '@mui/icons-material/Delete'; import IconButton from '@mui/material/IconButton'; import DialogContentText from '@mui/material/DialogContentText'; import InfoIcon from '@mui/icons-material/Info'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { TextSetting, TextSettingProps } from '@/features/core/components/settings/text/TextSetting.tsx'; -import { TextSettingDialog } from '@/features/core/components/settings/text/TextSettingDialog.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { TextSetting, TextSettingProps } from '@/base/components/settings/text/TextSetting.tsx'; +import { TextSettingDialog } from '@/base/components/settings/text/TextSettingDialog.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; const MutableListItem = ({ handleDelete, diff --git a/src/features/core/components/settings/NumberSetting.tsx b/src/base/components/settings/NumberSetting.tsx similarity index 100% rename from src/features/core/components/settings/NumberSetting.tsx rename to src/base/components/settings/NumberSetting.tsx diff --git a/src/features/core/components/settings/SelectSetting.tsx b/src/base/components/settings/SelectSetting.tsx similarity index 98% rename from src/features/core/components/settings/SelectSetting.tsx rename to src/base/components/settings/SelectSetting.tsx index cfe97095..308482b4 100644 --- a/src/features/core/components/settings/SelectSetting.tsx +++ b/src/base/components/settings/SelectSetting.tsx @@ -21,8 +21,9 @@ import { useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import DialogContentText from '@mui/material/DialogContentText'; import InfoIcon from '@mui/icons-material/Info'; -import { Select } from '@/features/core/components/inputs/Select.tsx'; -import { TranslationKey } from '@/Base.types.ts'; +import { Select } from '@/base/components/inputs/Select.tsx'; + +import { TranslationKey } from '@/base/Base.types.ts'; export type SelectSettingValueDisplayInfo = { text: TranslationKey | string; diff --git a/src/features/core/components/settings/TimeSetting.tsx b/src/base/components/settings/TimeSetting.tsx similarity index 100% rename from src/features/core/components/settings/TimeSetting.tsx rename to src/base/components/settings/TimeSetting.tsx diff --git a/src/features/core/components/settings/text/TextSetting.tsx b/src/base/components/settings/text/TextSetting.tsx similarity index 91% rename from src/features/core/components/settings/text/TextSetting.tsx rename to src/base/components/settings/text/TextSetting.tsx index 6bc9e7a9..06706ada 100644 --- a/src/features/core/components/settings/text/TextSetting.tsx +++ b/src/base/components/settings/text/TextSetting.tsx @@ -9,10 +9,7 @@ import ListItemText from '@mui/material/ListItemText'; import ListItemButton from '@mui/material/ListItemButton'; import { useState } from 'react'; -import { - TextSettingDialog, - TextSettingDialogProps, -} from '@/features/core/components/settings/text/TextSettingDialog.tsx'; +import { TextSettingDialog, TextSettingDialogProps } from '@/base/components/settings/text/TextSettingDialog.tsx'; export type TextSettingProps = Omit & Required> & { diff --git a/src/features/core/components/settings/text/TextSettingDialog.tsx b/src/base/components/settings/text/TextSettingDialog.tsx similarity index 97% rename from src/features/core/components/settings/text/TextSettingDialog.tsx rename to src/base/components/settings/text/TextSettingDialog.tsx index 07e16962..18b1fbb1 100644 --- a/src/features/core/components/settings/text/TextSettingDialog.tsx +++ b/src/base/components/settings/text/TextSettingDialog.tsx @@ -15,7 +15,7 @@ import TextField from '@mui/material/TextField'; import DialogActions from '@mui/material/DialogActions'; import { useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { PasswordTextField } from '@/features/core/components/inputs/PasswordTextField.tsx'; +import { PasswordTextField } from '@/base/components/inputs/PasswordTextField.tsx'; export type TextSettingDialogProps = { settingName: string; diff --git a/src/features/core/components/tabs/TabPanel.tsx b/src/base/components/tabs/TabPanel.tsx similarity index 100% rename from src/features/core/components/tabs/TabPanel.tsx rename to src/base/components/tabs/TabPanel.tsx diff --git a/src/features/core/components/tabs/TabsMenu.tsx b/src/base/components/tabs/TabsMenu.tsx similarity index 100% rename from src/features/core/components/tabs/TabsMenu.tsx rename to src/base/components/tabs/TabsMenu.tsx diff --git a/src/features/core/components/tabs/TabsWrapper.tsx b/src/base/components/tabs/TabsWrapper.tsx similarity index 100% rename from src/features/core/components/tabs/TabsWrapper.tsx rename to src/base/components/tabs/TabsWrapper.tsx diff --git a/src/features/core/components/texts/Kbd.tsx b/src/base/components/texts/Kbd.tsx similarity index 100% rename from src/features/core/components/texts/Kbd.tsx rename to src/base/components/texts/Kbd.tsx diff --git a/src/features/core/components/texts/Metadata.tsx b/src/base/components/texts/Metadata.tsx similarity index 100% rename from src/features/core/components/texts/Metadata.tsx rename to src/base/components/texts/Metadata.tsx diff --git a/src/features/core/components/texts/Superscript.tsx b/src/base/components/texts/Superscript.tsx similarity index 95% rename from src/features/core/components/texts/Superscript.tsx rename to src/base/components/texts/Superscript.tsx index eaf24088..2a128322 100644 --- a/src/features/core/components/texts/Superscript.tsx +++ b/src/base/components/texts/Superscript.tsx @@ -9,7 +9,8 @@ import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import { Trans, useTranslation } from 'react-i18next'; -import { TranslationKey } from '@/Base.types.ts'; + +import { TranslationKey } from '@/base/Base.types.ts'; /** * Expects a translation key of format "{{value}}<0>superscript" diff --git a/src/features/core/components/texts/TypographyMaxLines.tsx b/src/base/components/texts/TypographyMaxLines.tsx similarity index 94% rename from src/features/core/components/texts/TypographyMaxLines.tsx rename to src/base/components/texts/TypographyMaxLines.tsx index d0fb123f..9cd5bcbd 100644 --- a/src/features/core/components/texts/TypographyMaxLines.tsx +++ b/src/base/components/texts/TypographyMaxLines.tsx @@ -8,7 +8,7 @@ import { styled, Theme, TypographyVariant } from '@mui/material/styles'; import Typography, { TypographyProps } from '@mui/material/Typography'; -import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; +import { shouldForwardProp } from '@/base/utils/ShouldForwardProp.ts'; const DEFAULT_LINE_HEIGHT = '1.5'; diff --git a/src/features/core/components/virtuoso/StyledGroupHeader.tsx b/src/base/components/virtuoso/StyledGroupHeader.tsx similarity index 92% rename from src/features/core/components/virtuoso/StyledGroupHeader.tsx rename to src/base/components/virtuoso/StyledGroupHeader.tsx index c98918fd..204047c7 100644 --- a/src/features/core/components/virtuoso/StyledGroupHeader.tsx +++ b/src/base/components/virtuoso/StyledGroupHeader.tsx @@ -9,7 +9,7 @@ import { styled } from '@mui/material/styles'; import { TypographyProps } from '@mui/material/Typography'; import Stack from '@mui/material/Stack'; -import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; +import { shouldForwardProp } from '@/base/utils/ShouldForwardProp.ts'; type StyledGroupHeaderProps = { isFirstItem: boolean; diff --git a/src/features/core/components/virtuoso/StyledGroupItemWrapper.tsx b/src/base/components/virtuoso/StyledGroupItemWrapper.tsx similarity index 100% rename from src/features/core/components/virtuoso/StyledGroupItemWrapper.tsx rename to src/base/components/virtuoso/StyledGroupItemWrapper.tsx diff --git a/src/features/core/components/virtuoso/StyledGroupedVirtuoso.tsx b/src/base/components/virtuoso/StyledGroupedVirtuoso.tsx similarity index 100% rename from src/features/core/components/virtuoso/StyledGroupedVirtuoso.tsx rename to src/base/components/virtuoso/StyledGroupedVirtuoso.tsx diff --git a/src/features/core/contexts/AppContext.tsx b/src/base/contexts/AppContext.tsx similarity index 92% rename from src/features/core/contexts/AppContext.tsx rename to src/base/contexts/AppContext.tsx index 728ee667..397c388a 100644 --- a/src/features/core/contexts/AppContext.tsx +++ b/src/base/contexts/AppContext.tsx @@ -15,8 +15,8 @@ import { SnackbarProvider } from 'notistack'; import { ActiveDeviceContextProvider } from '@/features/device/DeviceContext.tsx'; import { ReaderContextProvider } from '@/features/reader/contexts/ReaderContextProvider.tsx'; import { AppHotkeysProvider } from '@/features/hotkeys/AppHotkeysProvider.tsx'; -import { SnackbarWithDescription } from '@/features/core/components/feedback/SnackbarWithDescription.tsx'; -import { AppPageHistoryContextProvider } from '@/features/core/contexts/AppPageHistoryContext.tsx'; +import { SnackbarWithDescription } from '@/base/components/feedback/SnackbarWithDescription.tsx'; +import { AppPageHistoryContextProvider } from '@/base/contexts/AppPageHistoryContext.tsx'; import { AppThemeContextProvider } from '@/features/theme/AppThemeContext.tsx'; import { NavBarContextProvider } from '@/features/navigation-bar/NavbarContext.tsx'; diff --git a/src/features/core/contexts/AppPageHistoryContext.tsx b/src/base/contexts/AppPageHistoryContext.tsx similarity index 91% rename from src/features/core/contexts/AppPageHistoryContext.tsx rename to src/base/contexts/AppPageHistoryContext.tsx index 6c94c802..09630788 100644 --- a/src/features/core/contexts/AppPageHistoryContext.tsx +++ b/src/base/contexts/AppPageHistoryContext.tsx @@ -7,7 +7,7 @@ */ import { createContext, useContext } from 'react'; -import { useHistory } from '@/features/core/hooks/useHistory.ts'; +import { useHistory } from '@/base/hooks/useHistory.ts'; export const AppPageHistoryContext = createContext([]); diff --git a/src/features/core/hoc/withPropsFrom.tsx b/src/base/hoc/withPropsFrom.tsx similarity index 100% rename from src/features/core/hoc/withPropsFrom.tsx rename to src/base/hoc/withPropsFrom.tsx diff --git a/src/features/core/hooks/useAutomaticScrolling.ts b/src/base/hooks/useAutomaticScrolling.ts similarity index 97% rename from src/features/core/hooks/useAutomaticScrolling.ts rename to src/base/hooks/useAutomaticScrolling.ts index 1c7e3213..72fc0b7c 100644 --- a/src/features/core/hooks/useAutomaticScrolling.ts +++ b/src/base/hooks/useAutomaticScrolling.ts @@ -7,8 +7,8 @@ */ import { MutableRefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import { ScrollDirection } from '@/features/core/Core.types.ts'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { ScrollDirection } from '@/base/Base.types.ts'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; // "scrollBy" and "scrollTo" both require at least a change of 1px, otherwise, nothing happens const MIN_SCROLL_AMOUNT_PX = 1; diff --git a/src/features/core/hooks/useBackButton.ts b/src/base/hooks/useBackButton.ts similarity index 88% rename from src/features/core/hooks/useBackButton.ts rename to src/base/hooks/useBackButton.ts index e881d61a..19947732 100644 --- a/src/features/core/hooks/useBackButton.ts +++ b/src/base/hooks/useBackButton.ts @@ -8,8 +8,8 @@ import { useLocation, useNavigate } from 'react-router-dom'; import { useCallback } from 'react'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; -import { useAppPageHistoryContext } from '@/features/core/contexts/AppPageHistoryContext.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; +import { useAppPageHistoryContext } from '@/base/contexts/AppPageHistoryContext.tsx'; const PAGES_TO_IGNORE: readonly RegExp[] = [/\/manga\/[0-9]+\/chapter\/[0-9]+/g]; diff --git a/src/features/core/hooks/useDebounce.ts b/src/base/hooks/useDebounce.ts similarity index 100% rename from src/features/core/hooks/useDebounce.ts rename to src/base/hooks/useDebounce.ts diff --git a/src/features/core/hooks/useHistory.ts b/src/base/hooks/useHistory.ts similarity index 100% rename from src/features/core/hooks/useHistory.ts rename to src/base/hooks/useHistory.ts diff --git a/src/features/core/hooks/useIntersectionObserver.tsx b/src/base/hooks/useIntersectionObserver.tsx similarity index 100% rename from src/features/core/hooks/useIntersectionObserver.tsx rename to src/base/hooks/useIntersectionObserver.tsx diff --git a/src/features/core/hooks/useMouseDragScroll.tsx b/src/base/hooks/useMouseDragScroll.tsx similarity index 99% rename from src/features/core/hooks/useMouseDragScroll.tsx rename to src/base/hooks/useMouseDragScroll.tsx index 2d0187ed..aeeacb74 100644 --- a/src/features/core/hooks/useMouseDragScroll.tsx +++ b/src/base/hooks/useMouseDragScroll.tsx @@ -13,7 +13,7 @@ */ import { MutableRefObject, useEffect, useRef, useState } from 'react'; -import { ScrollDirection } from '@/features/core/Core.types.ts'; +import { ScrollDirection } from '@/base/Base.types.ts'; import { coerceIn } from '@/lib/HelperFunctions.ts'; type Positions = [OldestPos: number, SecondOldestPos: number, LatestPos: number]; diff --git a/src/features/core/hooks/usePersistedValue.tsx b/src/base/hooks/usePersistedValue.tsx similarity index 92% rename from src/features/core/hooks/usePersistedValue.tsx rename to src/base/hooks/usePersistedValue.tsx index e4b219e6..27bfbe0d 100644 --- a/src/features/core/hooks/usePersistedValue.tsx +++ b/src/base/hooks/usePersistedValue.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; export const getPersistedServerSetting = (serverValue: T | undefined, lastValue: T): T => { const isDisabled = serverValue === 0; diff --git a/src/features/core/hooks/useResizeObserver.tsx b/src/base/hooks/useResizeObserver.tsx similarity index 100% rename from src/features/core/hooks/useResizeObserver.tsx rename to src/base/hooks/useResizeObserver.tsx diff --git a/src/features/core/hooks/useStorage.tsx b/src/base/hooks/useStorage.tsx similarity index 100% rename from src/features/core/hooks/useStorage.tsx rename to src/base/hooks/useStorage.tsx diff --git a/src/features/core/utils/ApplyStyles.ts b/src/base/utils/ApplyStyles.ts similarity index 100% rename from src/features/core/utils/ApplyStyles.ts rename to src/base/utils/ApplyStyles.ts diff --git a/src/features/core/utils/AwaitableDialog.tsx b/src/base/utils/AwaitableDialog.tsx similarity index 95% rename from src/features/core/utils/AwaitableDialog.tsx rename to src/base/utils/AwaitableDialog.tsx index 82554e7d..b5e8b2ce 100644 --- a/src/features/core/utils/AwaitableDialog.tsx +++ b/src/base/utils/AwaitableDialog.tsx @@ -8,7 +8,7 @@ import { createRoot } from 'react-dom/client'; import { ThemeProvider } from '@mui/material/styles'; -import { ConfirmDialog } from '@/features/core/components/modals/ConfirmDialog.tsx'; +import { ConfirmDialog } from '@/base/components/modals/ConfirmDialog.tsx'; import { ControlledPromise } from '@/lib/ControlledPromise.ts'; import { getCurrentTheme } from '@/features/theme/services/ThemeCreator.ts'; diff --git a/src/util/DateHelper.ts b/src/base/utils/DateHelper.ts similarity index 100% rename from src/util/DateHelper.ts rename to src/base/utils/DateHelper.ts diff --git a/src/features/core/utils/Languages.ts b/src/base/utils/Languages.ts similarity index 97% rename from src/features/core/utils/Languages.ts rename to src/base/utils/Languages.ts index b2ff65fb..413cdfa9 100644 --- a/src/features/core/utils/Languages.ts +++ b/src/base/utils/Languages.ts @@ -7,8 +7,9 @@ */ import { t } from 'i18next'; -import { ISOLanguage, IsoLanguages } from '@/features/core/IsoLanguages.ts'; -import { TranslationKey } from '@/Base.types.ts'; +import { ISOLanguage, IsoLanguages } from '@/base/IsoLanguages.ts'; + +import { TranslationKey } from '@/base/Base.types.ts'; export enum DefaultLanguage { ALL = 'all', diff --git a/src/features/core/utils/LazyLoad.tsx b/src/base/utils/LazyLoad.tsx similarity index 77% rename from src/features/core/utils/LazyLoad.tsx rename to src/base/utils/LazyLoad.tsx index ecbf68d0..fdc30a65 100644 --- a/src/features/core/utils/LazyLoad.tsx +++ b/src/base/utils/LazyLoad.tsx @@ -6,6 +6,6 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; export const lazyLoadFallback = { fallback: }; diff --git a/src/features/core/utils/MediaQuery.tsx b/src/base/utils/MediaQuery.tsx similarity index 98% rename from src/features/core/utils/MediaQuery.tsx rename to src/base/utils/MediaQuery.tsx index 5ad34cd4..ffa55fa9 100644 --- a/src/features/core/utils/MediaQuery.tsx +++ b/src/base/utils/MediaQuery.tsx @@ -11,7 +11,7 @@ import { Breakpoint, SxProps, Theme } from '@mui/material/styles'; import { useCallback, useState } from 'react'; import { getCurrentTheme } from '@/features/theme/services/ThemeCreator.ts'; import { ThemeMode } from '@/features/theme/AppThemeContext.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; export class MediaQuery { static readonly MOBILE_WIDTH: Breakpoint | number = 'sm'; diff --git a/src/features/core/utils/ShouldForwardProp.ts b/src/base/utils/ShouldForwardProp.ts similarity index 100% rename from src/features/core/utils/ShouldForwardProp.ts rename to src/base/utils/ShouldForwardProp.ts diff --git a/src/util/Strings.ts b/src/base/utils/Strings.ts similarity index 100% rename from src/util/Strings.ts rename to src/base/utils/Strings.ts diff --git a/src/features/core/utils/Toast.ts b/src/base/utils/Toast.ts similarity index 100% rename from src/features/core/utils/Toast.ts rename to src/base/utils/Toast.ts diff --git a/src/features/core/utils/ValueRotationButton.utils.ts b/src/base/utils/ValueRotationButton.utils.ts similarity index 100% rename from src/features/core/utils/ValueRotationButton.utils.ts rename to src/base/utils/ValueRotationButton.utils.ts diff --git a/src/util/cloneObject.tsx b/src/base/utils/cloneObject.tsx similarity index 100% rename from src/util/cloneObject.tsx rename to src/base/utils/cloneObject.tsx diff --git a/src/features/app-updates/components/ServerUpdateChecker.tsx b/src/features/app-updates/components/ServerUpdateChecker.tsx index 5e4f8e0b..56ed7640 100644 --- a/src/features/app-updates/components/ServerUpdateChecker.tsx +++ b/src/features/app-updates/components/ServerUpdateChecker.tsx @@ -18,8 +18,8 @@ import { requestManager } from '@/lib/requests/RequestManager.ts'; import { useUpdateChecker } from '@/features/app-updates/hooks/useUpdateChecker.tsx'; import { VersionUpdateInfoDialog } from '@/features/app-updates/components/VersionUpdateInfoDialog.tsx'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; const disabledUpdateCheck = () => Promise.resolve(); diff --git a/src/features/app-updates/components/WebUIUpdateChecker.tsx b/src/features/app-updates/components/WebUIUpdateChecker.tsx index ef0fc787..689ac0a6 100644 --- a/src/features/app-updates/components/WebUIUpdateChecker.tsx +++ b/src/features/app-updates/components/WebUIUpdateChecker.tsx @@ -16,9 +16,9 @@ import DialogActions from '@mui/material/DialogActions'; import Button from '@mui/material/Button'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { UpdateState, WebUiChannel, WebUiUpdateStatus } from '@/lib/graphql/generated/graphql.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { ABOUT_WEBUI, WEBUI_UPDATE_CHECK } from '@/lib/graphql/fragments/InfoFragments.ts'; import { VersionUpdateInfoDialog } from '@/features/app-updates/components/VersionUpdateInfoDialog.tsx'; import { useUpdateChecker } from '@/features/app-updates/hooks/useUpdateChecker.tsx'; diff --git a/src/features/app-updates/hooks/useUpdateChecker.tsx b/src/features/app-updates/hooks/useUpdateChecker.tsx index f7b38e48..fea7eda3 100644 --- a/src/features/app-updates/hooks/useUpdateChecker.tsx +++ b/src/features/app-updates/hooks/useUpdateChecker.tsx @@ -8,7 +8,7 @@ import { useCallback, useEffect, useMemo } from 'react'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; const UPDATE_CHECK_INTERVAL = 1000 * 60 * 60; // 1 hour const UPDATE_REMINDER_THRESHOLD = 1000 * 60 * 60; // 1 hour diff --git a/src/features/backup/screens/Backup.tsx b/src/features/backup/screens/Backup.tsx index 48a9567a..43d45c02 100644 --- a/src/features/backup/screens/Backup.tsx +++ b/src/features/backup/screens/Backup.tsx @@ -25,17 +25,17 @@ import { Link } from 'react-router-dom'; import Stack from '@mui/material/Stack'; import { useEventListener, useMergedRef, useWindowEvent } from '@mantine/hooks'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { BackupRestoreState, ValidateBackupQuery } from '@/lib/graphql/generated/graphql.ts'; -import { Progress } from '@/features/core/components/feedback/Progress.tsx'; -import { TextSetting } from '@/features/core/components/settings/text/TextSetting.tsx'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { TimeSetting } from '@/features/core/components/settings/TimeSetting.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { Progress } from '@/base/components/feedback/Progress.tsx'; +import { TextSetting } from '@/base/components/settings/text/TextSetting.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { TimeSetting } from '@/base/components/settings/TimeSetting.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { ServerSettings } from '@/features/settings/Settings.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; import { BrowseTab } from '@/features/browse/Browse.types.ts'; diff --git a/src/features/browse/screens/Browse.tsx b/src/features/browse/screens/Browse.tsx index aed23cd8..865015d9 100644 --- a/src/features/browse/screens/Browse.tsx +++ b/src/features/browse/screens/Browse.tsx @@ -12,15 +12,15 @@ import { useTranslation } from 'react-i18next'; import { StringParam, useQueryParam } from 'use-query-params'; import { Sources } from '@/features/source/screens/Sources.tsx'; import { Extensions } from '@/features/extension/screens/Extensions.tsx'; -import { TabPanel } from '@/features/core/components/tabs/TabPanel.tsx'; -import { TabsWrapper } from '@/features/core/components/tabs/TabsWrapper.tsx'; -import { TabsMenu } from '@/features/core/components/tabs/TabsMenu.tsx'; +import { TabPanel } from '@/base/components/tabs/TabPanel.tsx'; +import { TabsWrapper } from '@/base/components/tabs/TabsWrapper.tsx'; +import { TabsMenu } from '@/base/components/tabs/TabsMenu.tsx'; import { Migration } from '@/features/migration/screens/Migration.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; import { BrowseTab } from '@/features/browse/Browse.types.ts'; import { GROUPED_VIRTUOSO_Z_INDEX } from '@/lib/virtuoso/Virtuoso.constants.ts'; -import { SearchParam } from '@/features/core/Core.types.ts'; +import { SearchParam } from '@/base/Base.types.ts'; export function Browse() { const { t } = useTranslation(); diff --git a/src/features/browse/screens/BrowseSettings.tsx b/src/features/browse/screens/BrowseSettings.tsx index 6e420bfb..c2467a7d 100644 --- a/src/features/browse/screens/BrowseSettings.tsx +++ b/src/features/browse/screens/BrowseSettings.tsx @@ -12,17 +12,17 @@ import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { MutableListSetting } from '@/features/core/components/settings/MutableListSetting.tsx'; -import { TextSetting } from '@/features/core/components/settings/text/TextSetting.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { MutableListSetting } from '@/base/components/settings/MutableListSetting.tsx'; +import { TextSetting } from '@/base/components/settings/text/TextSetting.tsx'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { MetadataBrowseSettings } from '@/features/browse/Browse.types.ts'; import { ServerSettings as GqlServerSettings } from '@/features/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/category/components/CategoriesInclusionSetting.tsx b/src/features/category/components/CategoriesInclusionSetting.tsx index 787561ba..275988ee 100644 --- a/src/features/category/components/CategoriesInclusionSetting.tsx +++ b/src/features/category/components/CategoriesInclusionSetting.tsx @@ -17,11 +17,11 @@ import DialogContentText from '@mui/material/DialogContentText'; import DialogActions from '@mui/material/DialogActions'; import Button from '@mui/material/Button'; import { t as translate } from 'i18next'; -import { ThreeStateCheckboxInput } from '@/features/core/components/inputs/ThreeStateCheckboxInput.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { ThreeStateCheckboxInput } from '@/base/components/inputs/ThreeStateCheckboxInput.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { IncludeOrExclude } from '@/lib/graphql/generated/graphql.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { CheckboxContainer } from '@/features/core/components/inputs/CheckboxContainer.ts'; +import { CheckboxContainer } from '@/base/components/inputs/CheckboxContainer.ts'; import { CategoryDownloadInclusionInfo, CategoryIdInfo, diff --git a/src/features/category/components/CategorySelect.tsx b/src/features/category/components/CategorySelect.tsx index 92c3788d..d16e21c0 100644 --- a/src/features/category/components/CategorySelect.tsx +++ b/src/features/category/components/CategorySelect.tsx @@ -19,10 +19,10 @@ import Stack from '@mui/material/Stack'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { Mangas } from '@/features/manga/services/Mangas.ts'; import { useSelectableCollection } from '@/features/collection/hooks/useSelectableCollection.ts'; -import { ThreeStateCheckboxInput } from '@/features/core/components/inputs/ThreeStateCheckboxInput.tsx'; +import { ThreeStateCheckboxInput } from '@/base/components/inputs/ThreeStateCheckboxInput.tsx'; import { Categories } from '@/features/category/services/Categories.ts'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { updateMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { @@ -33,7 +33,7 @@ import { } from '@/lib/graphql/generated/graphql.ts'; import { GET_CATEGORIES_BASE } from '@/lib/graphql/queries/CategoryQuery.ts'; import { GET_MANGA_CATEGORIES } from '@/lib/graphql/queries/MangaQuery.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; type BaseProps = { diff --git a/src/features/category/components/CategorySettingsCard.tsx b/src/features/category/components/CategorySettingsCard.tsx index 003ac3e2..cff03eec 100644 --- a/src/features/category/components/CategorySettingsCard.tsx +++ b/src/features/category/components/CategorySettingsCard.tsx @@ -15,10 +15,10 @@ import Box from '@mui/material/Box'; import Card from '@mui/material/Card'; import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { CategoryType } from '@/lib/graphql/generated/graphql.ts'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; export const CategorySettingsCard = ({ category, diff --git a/src/features/category/components/CreateOrEditCategoryDialog.tsx b/src/features/category/components/CreateOrEditCategoryDialog.tsx index cb7b1e0a..7ee3842f 100644 --- a/src/features/category/components/CreateOrEditCategoryDialog.tsx +++ b/src/features/category/components/CreateOrEditCategoryDialog.tsx @@ -19,8 +19,8 @@ import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { CategoryDefaultInfo, CategoryIdInfo, CategoryNameInfo } from '@/features/category/Category.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { assertIsDefined } from '@/Asserts.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { assertIsDefined } from '@/base/Asserts.ts'; export const CreateOrEditCategoryDialog = ({ category, diff --git a/src/features/category/screens/CategorySettings.tsx b/src/features/category/screens/CategorySettings.tsx index 7a6bceea..c7012ebd 100644 --- a/src/features/category/screens/CategorySettings.tsx +++ b/src/features/category/screens/CategorySettings.tsx @@ -14,9 +14,9 @@ import Box from '@mui/material/Box'; import { closestCenter, DndContext, DragEndEvent } from '@dnd-kit/core'; import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { DEFAULT_FULL_FAB_HEIGHT } from '@/features/core/components/buttons/StyledFab.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { DEFAULT_FULL_FAB_HEIGHT } from '@/base/components/buttons/StyledFab.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GetCategoriesSettingsQuery, GetCategoriesSettingsQueryVariables } from '@/lib/graphql/generated/graphql.ts'; import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts'; diff --git a/src/features/chapter/Chapter.constants.ts b/src/features/chapter/Chapter.constants.ts index 6edae1ba..2b8927eb 100644 --- a/src/features/chapter/Chapter.constants.ts +++ b/src/features/chapter/Chapter.constants.ts @@ -6,8 +6,8 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { TranslationKey } from '@/Base.types.ts'; import { ChapterAction, ChapterListOptions, ChapterSortMode } from '@/features/chapter/Chapter.types.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; export const FALLBACK_CHAPTER = { id: -1, name: '', realUrl: '', isBookmarked: false }; diff --git a/src/features/chapter/Chapter.types.ts b/src/features/chapter/Chapter.types.ts index 142a3f2d..b0444e1d 100644 --- a/src/features/chapter/Chapter.types.ts +++ b/src/features/chapter/Chapter.types.ts @@ -6,12 +6,12 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { NullAndUndefined } from '@/Base.types.ts'; import { ChapterReaderFieldsFragment, ChapterType, DownloadStatusFieldsFragment, } from '@/lib/graphql/generated/graphql.ts'; +import { NullAndUndefined } from '@/base/Base.types.ts'; export type ChapterSortMode = 'fetchedAt' | 'source' | 'chapterNumber' | 'uploadedAt'; diff --git a/src/features/chapter/components/ChapterExcludeSanlatorsFilter.tsx b/src/features/chapter/components/ChapterExcludeSanlatorsFilter.tsx index 91dbd9ba..8400e11b 100644 --- a/src/features/chapter/components/ChapterExcludeSanlatorsFilter.tsx +++ b/src/features/chapter/components/ChapterExcludeSanlatorsFilter.tsx @@ -10,9 +10,9 @@ import { bindTrigger, usePopupState } from 'material-ui-popup-state/hooks'; import { useTranslation } from 'react-i18next'; import PeopleAltOutlinedIcon from '@mui/icons-material/PeopleAltOutlined'; import DisabledByDefaultRounded from '@mui/icons-material/DisabledByDefaultRounded'; -import { CheckboxListSetting } from '@/features/core/components/settings/CheckboxListSetting.tsx'; +import { CheckboxListSetting } from '@/base/components/settings/CheckboxListSetting.tsx'; import { updateChapterListOptions } from '@/features/chapter/utils/ChapterList.util.tsx'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; export const ChapterExcludeSanlatorsFilter = ({ updateOption, diff --git a/src/features/chapter/components/ChapterList.tsx b/src/features/chapter/components/ChapterList.tsx index 18f21a85..a6db0edf 100644 --- a/src/features/chapter/components/ChapterList.tsx +++ b/src/features/chapter/components/ChapterList.tsx @@ -19,10 +19,10 @@ import { updateChapterListOptions, useChapterListOptions, } from '@/features/chapter/utils/ChapterList.util.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { ChaptersToolbarMenu } from '@/features/chapter/components/ChaptersToolbarMenu.tsx'; import { SelectionFAB } from '@/features/collection/components/SelectionFAB.tsx'; -import { DEFAULT_FULL_FAB_HEIGHT } from '@/features/core/components/buttons/StyledFab.tsx'; +import { DEFAULT_FULL_FAB_HEIGHT } from '@/base/components/buttons/StyledFab.tsx'; import { ChapterListFieldsFragment, GetChaptersMangaQuery, @@ -34,14 +34,14 @@ import { SelectableCollectionSelectAll } from '@/features/collection/components/ import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { ChapterActionMenuItems } from '@/features/chapter/components/actions/ChapterActionMenuItems.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { GET_CHAPTERS_MANGA } from '@/lib/graphql/queries/ChapterQuery.ts'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; -import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; +import { shouldForwardProp } from '@/base/utils/ShouldForwardProp.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { ChapterListCard } from '@/features/chapter/components/cards/ChapterListCard.tsx'; import { VirtuosoPersisted } from '@/lib/virtuoso/Component/VirtuosoPersisted.tsx'; diff --git a/src/features/chapter/components/ChapterOptions.tsx b/src/features/chapter/components/ChapterOptions.tsx index 180f1eaf..f90b3fed 100644 --- a/src/features/chapter/components/ChapterOptions.tsx +++ b/src/features/chapter/components/ChapterOptions.tsx @@ -9,15 +9,15 @@ import RadioGroup from '@mui/material/RadioGroup'; import React from 'react'; import { useTranslation } from 'react-i18next'; -import { RadioInput } from '@/features/core/components/inputs/RadioInput.tsx'; -import { SortRadioInput } from '@/features/core/components/inputs/SortRadioInput.tsx'; -import { ThreeStateCheckboxInput } from '@/features/core/components/inputs/ThreeStateCheckboxInput.tsx'; -import { OptionsTabs } from '@/features/core/components/modals/OptionsTabs.tsx'; +import { RadioInput } from '@/base/components/inputs/RadioInput.tsx'; +import { SortRadioInput } from '@/base/components/inputs/SortRadioInput.tsx'; +import { ThreeStateCheckboxInput } from '@/base/components/inputs/ThreeStateCheckboxInput.tsx'; +import { OptionsTabs } from '@/base/components/modals/OptionsTabs.tsx'; import { CHAPTER_SORT_OPTIONS_TO_TRANSLATION_KEY } from '@/features/chapter/Chapter.constants.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { ChapterListOptions } from '@/features/chapter/Chapter.types.ts'; import { updateChapterListOptions } from '@/features/chapter/utils/ChapterList.util.tsx'; import { ChapterExcludeSanlatorsFilter } from '@/features/chapter/components/ChapterExcludeSanlatorsFilter.tsx'; +import { TranslationKey } from '@/base/Base.types.ts'; interface IProps { open: boolean; diff --git a/src/features/chapter/components/ChaptersToolbarMenu.tsx b/src/features/chapter/components/ChaptersToolbarMenu.tsx index 0c88c52d..95648408 100644 --- a/src/features/chapter/components/ChaptersToolbarMenu.tsx +++ b/src/features/chapter/components/ChaptersToolbarMenu.tsx @@ -15,7 +15,7 @@ import Menu from '@mui/material/Menu'; import DownloadIcon from '@mui/icons-material/Download'; import DoneAllIcon from '@mui/icons-material/DoneAll'; import { useMemo } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { ChapterOptions } from '@/features/chapter/components/ChapterOptions.tsx'; import { isFilterActive, updateChapterListOptions } from '@/features/chapter/utils/ChapterList.util.tsx'; import { diff --git a/src/features/chapter/components/actions/ChapterActionMenuItems.tsx b/src/features/chapter/components/actions/ChapterActionMenuItems.tsx index 9cad34b4..ca5d412a 100644 --- a/src/features/chapter/components/actions/ChapterActionMenuItems.tsx +++ b/src/features/chapter/components/actions/ChapterActionMenuItems.tsx @@ -18,12 +18,12 @@ import DoneAll from '@mui/icons-material/DoneAll'; import { ComponentProps, useMemo } from 'react'; import { SelectableCollectionReturnType } from '@/features/collection/hooks/useSelectableCollection.ts'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { MenuItem } from '@/features/core/components/menu/MenuItem.tsx'; +import { MenuItem } from '@/base/components/menu/MenuItem.tsx'; import { createGetMenuItemTitle, createIsMenuItemDisabled, createShouldShowMenuItem, -} from '@/features/core/components/menu/Menu.utils.ts'; +} from '@/base/components/menu/Menu.utils.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { ChapterCard } from '@/features/chapter/components/cards/ChapterCard.tsx'; diff --git a/src/features/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx b/src/features/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx index 3f7042ac..6cf97229 100644 --- a/src/features/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx +++ b/src/features/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx @@ -19,16 +19,16 @@ import { MangaType, SortOrder, } from '@/lib/graphql/generated/graphql.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { MANGA_META_FIELDS } from '@/lib/graphql/fragments/MangaFragments.ts'; import { getMangaMetadata } from '@/features/manga/services/MangaMetadata.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { GET_CHAPTERS_MANGA } from '@/lib/graphql/queries/ChapterQuery.ts'; import { filterChapters } from '@/features/chapter/utils/ChapterList.util.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { CHAPTER_ACTION_TO_TRANSLATION } from '@/features/chapter/Chapter.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; const DOWNLOAD_OPTIONS: { title: TranslationKey; diff --git a/src/features/chapter/components/buttons/ChapterDownloadButton.tsx b/src/features/chapter/components/buttons/ChapterDownloadButton.tsx index 3b452090..e2a3e9d3 100644 --- a/src/features/chapter/components/buttons/ChapterDownloadButton.tsx +++ b/src/features/chapter/components/buttons/ChapterDownloadButton.tsx @@ -9,10 +9,10 @@ import IconButton from '@mui/material/IconButton'; import { useTranslation } from 'react-i18next'; import DownloadIcon from '@mui/icons-material/Download'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/chapter/components/buttons/ChapterDownloadRetryButton.tsx b/src/features/chapter/components/buttons/ChapterDownloadRetryButton.tsx index d4c32f8e..ae3ba332 100644 --- a/src/features/chapter/components/buttons/ChapterDownloadRetryButton.tsx +++ b/src/features/chapter/components/buttons/ChapterDownloadRetryButton.tsx @@ -10,10 +10,10 @@ import Refresh from '@mui/icons-material/Refresh'; import IconButton from '@mui/material/IconButton'; import { useTranslation } from 'react-i18next'; import { DownloadState } from '@/lib/graphql/generated/graphql.ts'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/chapter/components/cards/ChapterCard.tsx b/src/features/chapter/components/cards/ChapterCard.tsx index 3bf3eb3f..9f99ab6b 100644 --- a/src/features/chapter/components/cards/ChapterCard.tsx +++ b/src/features/chapter/components/cards/ChapterCard.tsx @@ -19,17 +19,17 @@ import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import PopupState, { bindMenu, bindTrigger } from 'material-ui-popup-state'; import { useLongPress } from 'use-long-press'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { getDateString } from '@/util/DateHelper.ts'; -import { DownloadStateIndicator } from '@/features/core/components/downloads/DownloadStateIndicator.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { getDateString } from '@/base/utils/DateHelper.ts'; +import { DownloadStateIndicator } from '@/base/components/downloads/DownloadStateIndicator.tsx'; import { ChapterType } from '@/lib/graphql/generated/graphql.ts'; import { ChapterActionMenuItems } from '@/features/chapter/components/actions/ChapterActionMenuItems.tsx'; -import { Menu } from '@/features/core/components/menu/Menu.tsx'; +import { Menu } from '@/base/components/menu/Menu.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { ChapterCardMetadata } from '@/features/chapter/components/cards/ChapterCardMetadata.tsx'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; import { ChapterBookmarkInfo, ChapterDownloadInfo, @@ -39,7 +39,7 @@ import { ChapterReadInfo, ChapterScanlatorInfo, } from '@/features/chapter/Chapter.types.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; type TChapter = ChapterIdInfo & ChapterMangaInfo & diff --git a/src/features/chapter/components/cards/ChapterCardMetadata.tsx b/src/features/chapter/components/cards/ChapterCardMetadata.tsx index 43f12933..e739b2ae 100644 --- a/src/features/chapter/components/cards/ChapterCardMetadata.tsx +++ b/src/features/chapter/components/cards/ChapterCardMetadata.tsx @@ -9,8 +9,8 @@ import Box from '@mui/material/Box'; import { ComponentProps, ReactNode } from 'react'; import Stack from '@mui/material/Stack'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; export const ChapterCardMetadata = ({ title, diff --git a/src/features/chapter/components/cards/ChapterCardThumbnail.tsx b/src/features/chapter/components/cards/ChapterCardThumbnail.tsx index 8a52cb8c..e19e5bfd 100644 --- a/src/features/chapter/components/cards/ChapterCardThumbnail.tsx +++ b/src/features/chapter/components/cards/ChapterCardThumbnail.tsx @@ -7,11 +7,11 @@ */ import { Link } from 'react-router-dom'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { Mangas } from '@/features/manga/services/Mangas.ts'; import { MangaIdInfo, MangaThumbnailInfo } from '@/features/manga/Manga.types.ts'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; -import { ListCardAvatar } from '@/features/core/components/lists/cards/ListCardAvatar.tsx'; +import { ListCardAvatar } from '@/base/components/lists/cards/ListCardAvatar.tsx'; export const ChapterCardThumbnail = ({ mangaId, diff --git a/src/features/chapter/components/cards/ChapterListCard.tsx b/src/features/chapter/components/cards/ChapterListCard.tsx index 1d1c5eff..c302f2a2 100644 --- a/src/features/chapter/components/cards/ChapterListCard.tsx +++ b/src/features/chapter/components/cards/ChapterListCard.tsx @@ -11,7 +11,7 @@ import { ComponentProps } from 'react'; import { ChapterCard } from '@/features/chapter/components/cards/ChapterCard.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { MissingChaptersInfoSeparator } from '@/features/chapter/components/MissingChaptersInfoSeparator.tsx'; type ChapterCardProps = ComponentProps; diff --git a/src/features/chapter/services/Chapters.ts b/src/features/chapter/services/Chapters.ts index 21105ac8..9fcbdd50 100644 --- a/src/features/chapter/services/Chapters.ts +++ b/src/features/chapter/services/Chapters.ts @@ -8,7 +8,7 @@ import { t as translate } from 'i18next'; import { DocumentNode, MaybeMasked, Unmasked, useFragment } from '@apollo/client'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { getMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { @@ -19,13 +19,12 @@ import { } from '@/lib/graphql/generated/graphql.ts'; 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/Reader.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { DOWNLOAD_TYPE_FIELDS } from '@/lib/graphql/fragments/DownloadFragments.ts'; -import { epochToDate, getDateString } from '@/util/DateHelper.ts'; +import { epochToDate, getDateString } from '@/base/utils/DateHelper.ts'; import { CHAPTER_ACTION_TO_CONFIRMATION_REQUIRED, CHAPTER_ACTION_TO_TRANSLATION, @@ -41,8 +40,9 @@ import { ChapterScanlatorInfo, ChapterSourceOrderInfo, } from '@/features/chapter/Chapter.types.ts'; -import { assertIsDefined } from '@/Asserts.ts'; -import { awaitConfirmation } from '@/features/core/utils/AwaitableDialog.tsx'; +import { assertIsDefined } from '@/base/Asserts.ts'; +import { awaitConfirmation } from '@/base/utils/AwaitableDialog.tsx'; +import { DirectionOffset } from '@/base/Base.types.ts'; export class Chapters { static getIds(chapters: { id: number }[]): number[] { diff --git a/src/features/chapter/utils/ChapterList.util.tsx b/src/features/chapter/utils/ChapterList.util.tsx index bcc00d68..5b3d926b 100644 --- a/src/features/chapter/utils/ChapterList.util.tsx +++ b/src/features/chapter/utils/ChapterList.util.tsx @@ -8,7 +8,6 @@ import { useMemo } from 'react'; import { ChapterType } from '@/lib/graphql/generated/graphql.ts'; -import { NullAndUndefined } from '@/Base.types.ts'; import { ChapterBookmarkInfo, ChapterDownloadInfo, @@ -20,6 +19,7 @@ import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; import { GqlMetaHolder } from '@/features/metadata/Metadata.types.ts'; import { createUpdateMangaMetadata, useGetMangaMetadata } from '@/features/manga/services/MangaMetadata.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; +import { NullAndUndefined } from '@/base/Base.types.ts'; export function unreadFilter(unread: NullAndUndefined, { isRead: isChapterRead }: ChapterReadInfo) { switch (unread) { diff --git a/src/features/collection/components/SelectableCollectionSelectAll.tsx b/src/features/collection/components/SelectableCollectionSelectAll.tsx index 483f3e5c..fb3517bf 100644 --- a/src/features/collection/components/SelectableCollectionSelectAll.tsx +++ b/src/features/collection/components/SelectableCollectionSelectAll.tsx @@ -8,7 +8,7 @@ import Checkbox from '@mui/material/Checkbox'; import { useTranslation } from 'react-i18next'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; export const SelectableCollectionSelectAll = ({ areAllItemsSelected, diff --git a/src/features/collection/components/SelectableCollectionSelectMode.tsx b/src/features/collection/components/SelectableCollectionSelectMode.tsx index b0de9980..6605aa5a 100644 --- a/src/features/collection/components/SelectableCollectionSelectMode.tsx +++ b/src/features/collection/components/SelectableCollectionSelectMode.tsx @@ -9,7 +9,7 @@ import Checkbox from '@mui/material/Checkbox'; import { useTranslation } from 'react-i18next'; import ClearIcon from '@mui/icons-material/Clear'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { SelectableCollectionSelectAll } from '@/features/collection/components/SelectableCollectionSelectAll.tsx'; export const SelectableCollectionSelectMode = ({ diff --git a/src/features/collection/components/SelectionFAB.tsx b/src/features/collection/components/SelectionFAB.tsx index 9081d107..3389f383 100644 --- a/src/features/collection/components/SelectionFAB.tsx +++ b/src/features/collection/components/SelectionFAB.tsx @@ -13,9 +13,10 @@ import { styled } from '@mui/material/styles'; import React, { type JSX } from 'react'; import { useTranslation } from 'react-i18next'; import PopupState, { bindMenu, bindTrigger } from 'material-ui-popup-state'; -import { DEFAULT_FAB_STYLE } from '@/features/core/components/buttons/StyledFab.tsx'; -import { Menu } from '@/features/core/components/menu/Menu.tsx'; -import { TranslationKey } from '@/Base.types.ts'; +import { DEFAULT_FAB_STYLE } from '@/base/components/buttons/StyledFab.tsx'; +import { Menu } from '@/base/components/menu/Menu.tsx'; + +import { TranslationKey } from '@/base/Base.types.ts'; interface SelectionFABProps { children: (handleClose: () => void, setHideMenu: (hide: boolean) => void) => JSX.Element; diff --git a/src/features/device/DeviceContext.tsx b/src/features/device/DeviceContext.tsx index 0f83f64d..06782ec6 100644 --- a/src/features/device/DeviceContext.tsx +++ b/src/features/device/DeviceContext.tsx @@ -8,7 +8,7 @@ import React, { ReactNode, useContext, useMemo } from 'react'; import { DEFAULT_DEVICE, setActiveDevice } from '@/features/device/services/Device.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; export const DeviceContext = React.createContext<{ activeDevice: string; diff --git a/src/features/device/screens/DeviceSetting.tsx b/src/features/device/screens/DeviceSetting.tsx index 25765a48..7a56c90f 100644 --- a/src/features/device/screens/DeviceSetting.tsx +++ b/src/features/device/screens/DeviceSetting.tsx @@ -15,12 +15,12 @@ import { updateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { MutableListSetting } from '@/features/core/components/settings/MutableListSetting.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { MutableListSetting } from '@/base/components/settings/MutableListSetting.tsx'; import { useDeviceContext } from '@/features/device/DeviceContext.tsx'; -import { Select } from '@/features/core/components/inputs/Select.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { Select } from '@/base/components/inputs/Select.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { DEFAULT_DEVICE } from '@/features/device/services/Device.ts'; import { MetadataServerSettingKeys, MetadataServerSettings } from '@/features/settings/Settings.types.ts'; diff --git a/src/features/downloads/components/DeleteChaptersWhileReadingSetting.tsx b/src/features/downloads/components/DeleteChaptersWhileReadingSetting.tsx index 71a1eca1..9884d89f 100644 --- a/src/features/downloads/components/DeleteChaptersWhileReadingSetting.tsx +++ b/src/features/downloads/components/DeleteChaptersWhileReadingSetting.tsx @@ -11,7 +11,7 @@ import { SelectSetting, SelectSettingValue, SelectSettingValueDisplayInfo, -} from '@/features/core/components/settings/SelectSetting.tsx'; +} from '@/base/components/settings/SelectSetting.tsx'; const CHAPTERS_TO_DELETE = [0, 1, 2, 3, 4, 5] as const; const CHAPTERS_TO_DELETE_TO_TRANSLATION_KEY: { diff --git a/src/features/downloads/components/DownloadAheadSetting.tsx b/src/features/downloads/components/DownloadAheadSetting.tsx index 6450c242..762ab5bc 100644 --- a/src/features/downloads/components/DownloadAheadSetting.tsx +++ b/src/features/downloads/components/DownloadAheadSetting.tsx @@ -11,10 +11,10 @@ import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { getPersistedServerSetting, usePersistedValue } from '@/features/core/hooks/usePersistedValue.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { getPersistedServerSetting, usePersistedValue } from '@/base/hooks/usePersistedValue.tsx'; import { updateMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { MetadataDownloadSettings } from '@/features/downloads/Downloads.types.ts'; import { MetadataServerSettings } from '@/features/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/downloads/components/DownloadConversionSetting.tsx b/src/features/downloads/components/DownloadConversionSetting.tsx index 8ce7be52..42fec0d8 100644 --- a/src/features/downloads/components/DownloadConversionSetting.tsx +++ b/src/features/downloads/components/DownloadConversionSetting.tsx @@ -23,8 +23,8 @@ import DialogActions from '@mui/material/DialogActions'; import DialogContentText from '@mui/material/DialogContentText'; import { SettingsDownloadConversion } from '@/lib/graphql/generated/graphql.ts'; import { DOWNLOAD_CONVERSION_COMPRESSION } from '@/features/downloads/Downloads.constants.ts'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; const DEFAULT_MIME_TYPE = 'default'; const MIME_TYPE_PREFIX = 'image/'; diff --git a/src/features/downloads/components/DownloadQueueChapterCard.tsx b/src/features/downloads/components/DownloadQueueChapterCard.tsx index c3617a7c..e252bc1a 100644 --- a/src/features/downloads/components/DownloadQueueChapterCard.tsx +++ b/src/features/downloads/components/DownloadQueueChapterCard.tsx @@ -15,20 +15,20 @@ import IconButton from '@mui/material/IconButton'; import { memo, useCallback } from 'react'; import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { ChapterDownloadRetryButton } from '@/features/chapter/components/buttons/ChapterDownloadRetryButton.tsx'; -import { DownloadStateIndicator } from '@/features/core/components/downloads/DownloadStateIndicator.tsx'; +import { DownloadStateIndicator } from '@/base/components/downloads/DownloadStateIndicator.tsx'; import { ChapterCardMetadata } from '@/features/chapter/components/cards/ChapterCardMetadata.tsx'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { DownloaderState } from '@/lib/graphql/generated/graphql.ts'; import { ChapterDownloadStatus, ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; export const DownloadQueueChapterCard = memo( ({ item, status }: { item: ChapterDownloadStatus; status: DownloaderState }) => { diff --git a/src/features/downloads/screens/DownloadQueue.tsx b/src/features/downloads/screens/DownloadQueue.tsx index ee8eee9e..2d7fbe08 100644 --- a/src/features/downloads/screens/DownloadQueue.tsx +++ b/src/features/downloads/screens/DownloadQueue.tsx @@ -16,11 +16,11 @@ import DeleteSweepIcon from '@mui/icons-material/DeleteSweep'; import { closestCenter, DndContext, DragEndEvent } from '@dnd-kit/core'; import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable'; import { useWindowEvent } from '@mantine/hooks'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { DownloaderState } from '@/lib/graphql/generated/graphql.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/downloads/screens/DownloadSettings.tsx b/src/features/downloads/screens/DownloadSettings.tsx index e7fb449f..4d10ddcb 100644 --- a/src/features/downloads/screens/DownloadSettings.tsx +++ b/src/features/downloads/screens/DownloadSettings.tsx @@ -12,19 +12,19 @@ import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; -import { TextSetting } from '@/features/core/components/settings/text/TextSetting.tsx'; +import { TextSetting } from '@/base/components/settings/text/TextSetting.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { DownloadAheadSetting } from '@/features/downloads/components/DownloadAheadSetting.tsx'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { DeleteChaptersWhileReadingSetting } from '@/features/downloads/components/DeleteChaptersWhileReadingSetting.tsx'; import { CategoriesInclusionSetting } from '@/features/category/components/CategoriesInclusionSetting.tsx'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GetCategoriesSettingsQuery, GetCategoriesSettingsQueryVariables } from '@/lib/graphql/generated/graphql.ts'; import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts'; diff --git a/src/features/extension/Extensions.constants.ts b/src/features/extension/Extensions.constants.ts index cd15fe4e..2785cabf 100644 --- a/src/features/extension/Extensions.constants.ts +++ b/src/features/extension/Extensions.constants.ts @@ -13,8 +13,8 @@ import { InstalledState, InstalledStates, } from '@/features/extension/Extensions.types.ts'; -import { TranslationKey } from '@/Base.types.ts'; -import { DefaultLanguage } from '@/features/core/utils/Languages.ts'; +import { DefaultLanguage } from '@/base/utils/Languages.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; export const EXTENSION_ACTION_TO_STATE_MAP: { [action in ExtensionAction]: ExtensionState } = { [ExtensionAction.UPDATE]: ExtensionState.UPDATING, diff --git a/src/features/extension/Extensions.utils.ts b/src/features/extension/Extensions.utils.ts index 280352c0..810f57b0 100644 --- a/src/features/extension/Extensions.utils.ts +++ b/src/features/extension/Extensions.utils.ts @@ -22,14 +22,14 @@ import { toComparableLanguage, toComparableLanguages, toUniqueLanguageCodes, -} from '@/features/core/utils/Languages.ts'; +} from '@/base/utils/Languages.ts'; import { EXTENSION_ACTION_TO_FAILURE_TRANSLATION_KEY_MAP, extensionLanguageToTranslationKey, } from '@/features/extension/Extensions.constants.ts'; -import { enhancedCleanup } from '@/util/Strings.ts'; +import { enhancedCleanup } from '@/base/utils/Strings.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; export const getInstalledState = ( diff --git a/src/features/extension/components/ExtensionCard.tsx b/src/features/extension/components/ExtensionCard.tsx index 30e50bd7..77789a2c 100644 --- a/src/features/extension/components/ExtensionCard.tsx +++ b/src/features/extension/components/ExtensionCard.tsx @@ -29,13 +29,13 @@ import { INSTALLED_STATE_TO_TRANSLATION_KEY_MAP, } from '@/features/extension/Extensions.constants.ts'; import { getInstalledState, updateExtension } from '@/features/extension/Extensions.utils.ts'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip'; -import { ListCardAvatar } from '@/features/core/components/lists/cards/ListCardAvatar.tsx'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { ListCardAvatar } from '@/base/components/lists/cards/ListCardAvatar.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; -import { OptionalCardActionAreaLink } from '@/features/core/components/lists/cards/OptionalCardActionAreaLink.tsx'; -import { languageCodeToName } from '@/features/core/utils/Languages.ts'; +import { OptionalCardActionAreaLink } from '@/base/components/lists/cards/OptionalCardActionAreaLink.tsx'; +import { languageCodeToName } from '@/base/utils/Languages.ts'; interface IProps { extension: TExtension; diff --git a/src/features/extension/components/ExtensionOptions.tsx b/src/features/extension/components/ExtensionOptions.tsx index ff8ffd87..88930811 100644 --- a/src/features/extension/components/ExtensionOptions.tsx +++ b/src/features/extension/components/ExtensionOptions.tsx @@ -19,16 +19,16 @@ import DialogContent from '@mui/material/DialogContent'; import { useMemo } from 'react'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered'; import { getErrorMessage } from '@/lib/HelperFunctions'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip'; -import { AppRoutes } from '@/features/core/AppRoute.constants'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { translateExtensionLanguage } from '@/features/extension/Extensions.utils'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; import { TExtension } from '@/features/extension/Extensions.types.ts'; import { Sources } from '@/features/source/services/Sources.ts'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; interface IExtensionOptions { extensionId: TExtension['pkgName'] | undefined; diff --git a/src/features/extension/screens/ExtensionInfo.tsx b/src/features/extension/screens/ExtensionInfo.tsx index c0a62078..4b8de16f 100644 --- a/src/features/extension/screens/ExtensionInfo.tsx +++ b/src/features/extension/screens/ExtensionInfo.tsx @@ -19,32 +19,32 @@ import SettingsIcon from '@mui/icons-material/Settings'; import Divider from '@mui/material/Divider'; import Switch from '@mui/material/Switch'; import CardActionArea from '@mui/material/CardActionArea'; -import { SpinnerImage } from '@/features/core/components/SpinnerImage.tsx'; -import { Metadata } from '@/features/core/components/texts/Metadata.tsx'; +import { SpinnerImage } from '@/base/components/SpinnerImage.tsx'; +import { Metadata } from '@/base/components/texts/Metadata.tsx'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { ExtensionAction, InstalledState, TExtension } from '@/features/extension/Extensions.types.ts'; -import { languageCodeToName, languageSortComparator } from '@/features/core/utils/Languages.ts'; -import { assertIsDefined } from '@/Asserts.ts'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; +import { languageCodeToName, languageSortComparator } from '@/base/utils/Languages.ts'; +import { assertIsDefined } from '@/base/Asserts.ts'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; import { getInstalledState, translateExtensionLanguage, updateExtension, } from '@/features/extension/Extensions.utils.ts'; import { Sources } from '@/features/source/services/Sources.ts'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { SourceConfigurableInfo, SourceIdInfo, SourceLanguageInfo } from '@/features/source/Source.types.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; -import { useBackButton } from '@/features/core/hooks/useBackButton.ts'; +import { useBackButton } from '@/base/hooks/useBackButton.ts'; import { createUpdateSourceMetadata, useGetSourceMetadata } from '@/features/source/services/SourceMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { INSTALLED_STATE_TO_TRANSLATION_KEY_MAP } from '@/features/extension/Extensions.constants.ts'; const Header = ({ name, pkgName, iconUrl, repo }: TExtension) => ( diff --git a/src/features/extension/screens/Extensions.tsx b/src/features/extension/screens/Extensions.tsx index 4cbb421f..22c09e16 100644 --- a/src/features/extension/screens/Extensions.tsx +++ b/src/features/extension/screens/Extensions.tsx @@ -17,17 +17,17 @@ import Typography from '@mui/material/Typography'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; import { useWindowEvent } from '@mantine/hooks'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { AppbarSearch } from '@/features/core/components/AppbarSearch.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { LanguageSelect } from '@/features/core/components/inputs/LanguageSelect.tsx'; +import { AppbarSearch } from '@/base/components/AppbarSearch.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { LanguageSelect } from '@/base/components/inputs/LanguageSelect.tsx'; import { ExtensionCard } from '@/features/extension/components/ExtensionCard.tsx'; -import { StyledGroupedVirtuoso } from '@/features/core/components/virtuoso/StyledGroupedVirtuoso.tsx'; -import { StyledGroupHeader } from '@/features/core/components/virtuoso/StyledGroupHeader.tsx'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { StyledGroupedVirtuoso } from '@/base/components/virtuoso/StyledGroupedVirtuoso.tsx'; +import { StyledGroupHeader } from '@/base/components/virtuoso/StyledGroupHeader.tsx'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; import { @@ -43,7 +43,7 @@ import { TExtension, } from '@/features/extension/Extensions.types.ts'; import { EXTENSION_ACTION_TO_FAILURE_TRANSLATION_KEY_MAP } from '@/features/extension/Extensions.constants.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { createUpdateMetadataServerSettings, @@ -51,7 +51,7 @@ import { } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { MetadataBrowseSettings } from '@/features/browse/Browse.types.ts'; import { useAppAction } from '@/features/navigation-bar/hooks/useAppAction.ts'; -import { SearchParam } from '@/features/core/Core.types.ts'; +import { SearchParam } from '@/base/Base.types.ts'; const LANGUAGE = 0; const EXTENSIONS = 1; diff --git a/src/features/global-search/screens/SearchAll.tsx b/src/features/global-search/screens/SearchAll.tsx index 5d614f8e..ef9b01ef 100644 --- a/src/features/global-search/screens/SearchAll.tsx +++ b/src/features/global-search/screens/SearchAll.tsx @@ -23,16 +23,16 @@ import { useElementSize } from '@mantine/hooks'; import IconButton from '@mui/material/IconButton'; // ms import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { AppbarSearch } from '@/features/core/components/AppbarSearch.tsx'; -import { useDebounce } from '@/features/core/hooks/useDebounce.ts'; +import { AppbarSearch } from '@/base/components/AppbarSearch.tsx'; +import { useDebounce } from '@/base/hooks/useDebounce.ts'; import { MangaCardProps } from '@/features/manga/Manga.types.ts'; -import { EmptyView } from '@/features/core/components/feedback/EmptyView.tsx'; +import { EmptyView } from '@/base/components/feedback/EmptyView.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { BaseMangaGrid } from '@/features/manga/components/BaseMangaGrid.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { translateExtensionLanguage } from '@/features/extension/Extensions.utils.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { Sources } from '@/features/source/services/Sources.ts'; import { @@ -48,12 +48,12 @@ import { } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { useAppTitleAndAction } from '@/features/navigation-bar/hooks/useAppTitleAndAction.ts'; import { getSourceMetadata } from '@/features/source/services/SourceMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; import { MetadataBrowseSettings } from '@/features/browse/Browse.types.ts'; import { SourceLanguageSelect } from '@/features/source/components/SourceLanguageSelect.tsx'; -import { SearchParam } from '@/features/core/Core.types.ts'; +import { SearchParam } from '@/base/Base.types.ts'; type SourceLoadingState = { isLoading: boolean; hasResults: boolean; emptySearch: boolean; error: any }; type SourceToLoadingStateMap = Map; diff --git a/src/features/history/components/ChapterHistoryCard.tsx b/src/features/history/components/ChapterHistoryCard.tsx index 8770dc27..a86390e9 100644 --- a/src/features/history/components/ChapterHistoryCard.tsx +++ b/src/features/history/components/ChapterHistoryCard.tsx @@ -11,16 +11,16 @@ import CardActionArea from '@mui/material/CardActionArea'; import Card from '@mui/material/Card'; import { Link } from 'react-router-dom'; import { memo } from 'react'; -import { DownloadStateIndicator } from '@/features/core/components/downloads/DownloadStateIndicator.tsx'; +import { DownloadStateIndicator } from '@/base/components/downloads/DownloadStateIndicator.tsx'; import { ChapterHistoryListFieldsFragment } from '@/lib/graphql/generated/graphql.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { epochToDate, timeFormatter } from '@/util/DateHelper.ts'; +import { epochToDate, timeFormatter } from '@/base/utils/DateHelper.ts'; import { ChapterCardThumbnail } from '@/features/chapter/components/cards/ChapterCardThumbnail.tsx'; import { ChapterCardMetadata } from '@/features/chapter/components/cards/ChapterCardMetadata.tsx'; import { ChapterDownloadButton } from '@/features/chapter/components/buttons/ChapterDownloadButton.tsx'; import { ChapterDownloadRetryButton } from '@/features/chapter/components/buttons/ChapterDownloadRetryButton.tsx'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent'; export const ChapterHistoryCard = memo(({ chapter }: { chapter: ChapterHistoryListFieldsFragment }) => { const { manga } = chapter; diff --git a/src/features/history/screens/History.tsx b/src/features/history/screens/History.tsx index 25e07079..15a11085 100644 --- a/src/features/history/screens/History.tsx +++ b/src/features/history/screens/History.tsx @@ -10,11 +10,11 @@ import Typography from '@mui/material/Typography'; import React, { useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { StyledGroupedVirtuoso } from '@/features/core/components/virtuoso/StyledGroupedVirtuoso.tsx'; -import { StyledGroupHeader } from '@/features/core/components/virtuoso/StyledGroupHeader.tsx'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { StyledGroupedVirtuoso } from '@/base/components/virtuoso/StyledGroupedVirtuoso.tsx'; +import { StyledGroupHeader } from '@/base/components/virtuoso/StyledGroupHeader.tsx'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/history/screens/HistorySettings.tsx b/src/features/history/screens/HistorySettings.tsx index b137db85..e376ca20 100644 --- a/src/features/history/screens/HistorySettings.tsx +++ b/src/features/history/screens/HistorySettings.tsx @@ -15,10 +15,10 @@ import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { MetadataHistorySettings } from '@/features/history/History.types.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; diff --git a/src/features/library/Library.types.ts b/src/features/library/Library.types.ts index 6ecfd313..5edd9515 100644 --- a/src/features/library/Library.types.ts +++ b/src/features/library/Library.types.ts @@ -6,9 +6,8 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { NullAndUndefined } from '@/Base.types.ts'; import { MangaStatus, MangaType, TrackerType } from '@/lib/graphql/generated/graphql.ts'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout, NullAndUndefined } from '@/base/Base.types.ts'; export type MetadataLibrarySettings = { showAddToLibraryCategorySelectDialog: boolean; diff --git a/src/features/library/components/LibraryMangaGrid.tsx b/src/features/library/components/LibraryMangaGrid.tsx index 32b1fdc6..d741c597 100644 --- a/src/features/library/components/LibraryMangaGrid.tsx +++ b/src/features/library/components/LibraryMangaGrid.tsx @@ -9,7 +9,7 @@ import React, { useLayoutEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { IMangaGridProps, MangaGrid } from '@/features/manga/components/MangaGrid.tsx'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout } from '@/base/Base.types.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; interface LibraryMangaGridProps diff --git a/src/features/library/components/LibraryOptionsPanel.tsx b/src/features/library/components/LibraryOptionsPanel.tsx index ed7b6b26..6f12886b 100644 --- a/src/features/library/components/LibraryOptionsPanel.tsx +++ b/src/features/library/components/LibraryOptionsPanel.tsx @@ -9,27 +9,26 @@ import FormLabel from '@mui/material/FormLabel'; import RadioGroup from '@mui/material/RadioGroup'; import { useTranslation } from 'react-i18next'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; -import { RadioInput } from '@/features/core/components/inputs/RadioInput.tsx'; -import { SortRadioInput } from '@/features/core/components/inputs/SortRadioInput.tsx'; -import { ThreeStateCheckboxInput } from '@/features/core/components/inputs/ThreeStateCheckboxInput.tsx'; -import { OptionsTabs } from '@/features/core/components/modals/OptionsTabs.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { RadioInput } from '@/base/components/inputs/RadioInput.tsx'; +import { SortRadioInput } from '@/base/components/inputs/SortRadioInput.tsx'; +import { ThreeStateCheckboxInput } from '@/base/components/inputs/ThreeStateCheckboxInput.tsx'; +import { OptionsTabs } from '@/base/components/modals/OptionsTabs.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { Trackers } from '@/features/tracker/services/Trackers.ts'; import { GetTrackersSettingsQuery, MangaStatus } from '@/lib/graphql/generated/graphql.ts'; import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/queries/TrackerQuery.ts'; import { createUpdateCategoryMetadata, useGetCategoryMetadata } from '@/features/category/services/CategoryMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { createUpdateMetadataServerSettings, updateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { LibrarySortMode } from '@/features/library/Library.types.ts'; import { CategoryMetadataInfo } from '@/features/category/Category.types.ts'; import { MANGA_STATUS_TO_TRANSLATION } from '@/features/manga/Manga.constants.ts'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout, TranslationKey } from '@/base/Base.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; const TITLES: { [key in 'filter' | 'sort' | 'display']: TranslationKey } = { diff --git a/src/features/library/components/LibraryToolbarMenu.tsx b/src/features/library/components/LibraryToolbarMenu.tsx index 00667801..b4ef2f2f 100644 --- a/src/features/library/components/LibraryToolbarMenu.tsx +++ b/src/features/library/components/LibraryToolbarMenu.tsx @@ -10,7 +10,7 @@ import FilterList from '@mui/icons-material/FilterList'; import IconButton from '@mui/material/IconButton'; import { ComponentProps, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { LibraryOptionsPanel } from '@/features/library/components/LibraryOptionsPanel.tsx'; import { getCategoryMetadata } from '@/features/category/services/CategoryMetadata.ts'; diff --git a/src/features/library/hooks/useGetVisibleLibraryMangas.ts b/src/features/library/hooks/useGetVisibleLibraryMangas.ts index f3f983c9..84a2c74f 100644 --- a/src/features/library/hooks/useGetVisibleLibraryMangas.ts +++ b/src/features/library/hooks/useGetVisibleLibraryMangas.ts @@ -10,9 +10,8 @@ import { StringParam, useQueryParam } from 'use-query-params'; import { useMemo } from 'react'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { ChapterType, MangaType, TrackRecordType } from '@/lib/graphql/generated/graphql.ts'; -import { enhancedCleanup } from '@/util/Strings.ts'; +import { enhancedCleanup } from '@/base/utils/Strings.ts'; import { useGetCategoryMetadata } from '@/features/category/services/CategoryMetadata.ts'; -import { NullAndUndefined } from '@/Base.types.ts'; import { LibraryOptions, LibrarySortMode } from '@/features/library/Library.types.ts'; import { CategoryIdInfo, CategoryMetadataInfo } from '@/features/category/Category.types.ts'; import { @@ -23,7 +22,7 @@ import { MangaUnreadInfo, } from '@/features/manga/Manga.types.ts'; import { SourceDisplayNameInfo } from '@/features/source/Source.types.ts'; -import { SearchParam } from '@/features/core/Core.types.ts'; +import { NullAndUndefined, SearchParam } from '@/base/Base.types.ts'; const triStateFilter = ( triState: NullAndUndefined, diff --git a/src/features/library/screens/Library.tsx b/src/features/library/screens/Library.tsx index 521dcd12..ae52ea1c 100644 --- a/src/features/library/screens/Library.tsx +++ b/src/features/library/screens/Library.tsx @@ -16,20 +16,20 @@ import Button from '@mui/material/Button'; import { Link } from 'react-router-dom'; import Box from '@mui/material/Box'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { TabPanel } from '@/features/core/components/tabs/TabPanel.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { TabPanel } from '@/base/components/tabs/TabPanel.tsx'; import { LibraryToolbarMenu } from '@/features/library/components/LibraryToolbarMenu.tsx'; import { LibraryMangaGrid } from '@/features/library/components/LibraryMangaGrid.tsx'; -import { AppbarSearch } from '@/features/core/components/AppbarSearch.tsx'; +import { AppbarSearch } from '@/base/components/AppbarSearch.tsx'; import { UpdateChecker } from '@/features/updates/components/UpdateChecker.tsx'; import { useSelectableCollection } from '@/features/collection/hooks/useSelectableCollection.ts'; import { SelectableCollectionSelectMode } from '@/features/collection/components/SelectableCollectionSelectMode.tsx'; import { useGetVisibleLibraryMangas } from '@/features/library/hooks/useGetVisibleLibraryMangas.ts'; import { SelectionFAB } from '@/features/collection/components/SelectionFAB.tsx'; import { MangaActionMenuItems } from '@/features/manga/components/MangaActionMenuItems.tsx'; -import { TabsMenu } from '@/features/core/components/tabs/TabsMenu.tsx'; -import { TabsWrapper } from '@/features/core/components/tabs/TabsWrapper.tsx'; +import { TabsMenu } from '@/base/components/tabs/TabsMenu.tsx'; +import { TabsWrapper } from '@/base/components/tabs/TabsWrapper.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GetCategoriesLibraryQuery, @@ -46,8 +46,8 @@ import { useMetadataServerSettings } from '@/features/settings/services/ServerSe import { GET_LIBRARY_MANGA_COUNT } from '@/lib/graphql/queries/MangaQuery.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; import { useAppAction } from '@/features/navigation-bar/hooks/useAppAction.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; -import { SearchParam } from '@/features/core/Core.types.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; +import { SearchParam } from '@/base/Base.types.ts'; const TitleWithSizeTag = styled('span')({ display: 'flex', diff --git a/src/features/library/screens/LibraryDuplicates.tsx b/src/features/library/screens/LibraryDuplicates.tsx index 177bce8f..b7b6a610 100644 --- a/src/features/library/screens/LibraryDuplicates.tsx +++ b/src/features/library/screens/LibraryDuplicates.tsx @@ -16,23 +16,23 @@ import MenuItem from '@mui/material/MenuItem'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; -import { GridLayouts } from '@/features/core/components/GridLayouts.tsx'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; +import { GridLayouts } from '@/base/components/GridLayouts.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { MangaCard } from '@/features/manga/components/cards/MangaCard.tsx'; -import { StyledGroupedVirtuoso } from '@/features/core/components/virtuoso/StyledGroupedVirtuoso.tsx'; -import { StyledGroupHeader } from '@/features/core/components/virtuoso/StyledGroupHeader.tsx'; +import { StyledGroupedVirtuoso } from '@/base/components/virtuoso/StyledGroupedVirtuoso.tsx'; +import { StyledGroupHeader } from '@/base/components/virtuoso/StyledGroupHeader.tsx'; import { GetMangasDuplicatesQuery, GetMangasDuplicatesQueryVariables } from '@/lib/graphql/generated/graphql.ts'; import { GET_MANGAS_DUPLICATES } from '@/lib/graphql/queries/MangaQuery.ts'; import { BaseMangaGrid } from '@/features/manga/components/BaseMangaGrid.tsx'; import { IMangaGridProps } from '@/features/manga/components/MangaGrid.tsx'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; import { LibraryDuplicatesWorkerInput, TMangaDuplicate, TMangaDuplicates } from '@/features/library/Library.types.ts'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout } from '@/base/Base.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { useAppTitleAndAction } from '@/features/navigation-bar/hooks/useAppTitleAndAction.ts'; diff --git a/src/features/library/screens/LibrarySettings.tsx b/src/features/library/screens/LibrarySettings.tsx index c555611b..4b54ce5a 100644 --- a/src/features/library/screens/LibrarySettings.tsx +++ b/src/features/library/screens/LibrarySettings.tsx @@ -15,17 +15,17 @@ import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; import { t as translate } from 'i18next'; import { GlobalUpdateSettings } from '@/features/settings/components/globalUpdate/GlobalUpdateSettings.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { Mangas } from '@/features/manga/services/Mangas.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { ListItemLink } from '@/features/core/components/lists/ListItemLink.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { ListItemLink } from '@/base/components/lists/ListItemLink.tsx'; import { GetCategoriesSettingsQuery, GetCategoriesSettingsQueryVariables, @@ -35,7 +35,7 @@ import { import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts'; import { GET_MANGAS_BASE } from '@/lib/graphql/queries/MangaQuery.ts'; import { MetadataLibrarySettings } from '@/features/library/Library.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; diff --git a/src/features/library/util/LibraryDuplicates.util.ts b/src/features/library/util/LibraryDuplicates.util.ts index 5130cf8c..6dbc12b7 100644 --- a/src/features/library/util/LibraryDuplicates.util.ts +++ b/src/features/library/util/LibraryDuplicates.util.ts @@ -7,7 +7,7 @@ */ import { MangaType } from '@/lib/graphql/generated/graphql.ts'; -import { enhancedCleanup } from '@/util/Strings.ts'; +import { enhancedCleanup } from '@/base/utils/Strings.ts'; import { TMangaDuplicate, TMangaDuplicateResult, TMangaDuplicates } from '@/features/library/Library.types.ts'; export const findDuplicatesByTitle = >( diff --git a/src/features/library/workers/LibraryDuplicatesWorker.ts b/src/features/library/workers/LibraryDuplicatesWorker.ts index 4e709f14..bc221f8b 100644 --- a/src/features/library/workers/LibraryDuplicatesWorker.ts +++ b/src/features/library/workers/LibraryDuplicatesWorker.ts @@ -15,7 +15,7 @@ import { } from '@/features/library/Library.types.ts'; import { Queue } from '@/lib/Queue.ts'; import { ControlledPromise } from '@/lib/ControlledPromise.ts'; -import { enhancedCleanup } from '@/util/Strings.ts'; +import { enhancedCleanup } from '@/base/utils/Strings.ts'; const queue = new Queue((navigator.hardwareConcurrency ?? 5) - 1); const MANGAS_PER_CHUNK = 200; diff --git a/src/features/manga/Manga.constants.ts b/src/features/manga/Manga.constants.ts index d7e8770c..b9a6092b 100644 --- a/src/features/manga/Manga.constants.ts +++ b/src/features/manga/Manga.constants.ts @@ -7,13 +7,13 @@ */ import { MangaStatus } from '@/lib/graphql/generated/graphql.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { MangaAction, MangaIdInfo, MangaType } from '@/features/manga/Manga.types.ts'; import { CHAPTER_ACTION_TO_CONFIRMATION_REQUIRED, CHAPTER_ACTION_TO_TRANSLATION, } from '@/features/chapter/Chapter.constants.ts'; import { GqlMetaHolder } from '@/features/metadata/Metadata.types.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; export const FALLBACK_MANGA: MangaIdInfo & GqlMetaHolder = { id: -1 }; diff --git a/src/features/manga/Manga.types.ts b/src/features/manga/Manga.types.ts index 9606d36e..dd685b19 100644 --- a/src/features/manga/Manga.types.ts +++ b/src/features/manga/Manga.types.ts @@ -20,7 +20,7 @@ import { TrackRecordType, } from '@/lib/graphql/generated/graphql.ts'; import { SingleModeProps } from '@/features/manga/components/MangaActionMenuItems.tsx'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout } from '@/base/Base.types.ts'; import { ChapterListOptions } from '@/features/chapter/Chapter.types.ts'; export type MangaCardMode = 'default' | 'source' | 'migrate.search' | 'migrate.select' | 'duplicate'; diff --git a/src/features/manga/components/ContinueReadingButton.tsx b/src/features/manga/components/ContinueReadingButton.tsx index a5e31178..4b45f86e 100644 --- a/src/features/manga/components/ContinueReadingButton.tsx +++ b/src/features/manga/components/ContinueReadingButton.tsx @@ -10,7 +10,7 @@ import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; import PlayArrowIcon from '@mui/icons-material/PlayArrow'; import { Link } from 'react-router-dom'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; import { ChapterReadInfo, ChapterSourceOrderInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/manga/components/MangaActionMenuItems.tsx b/src/features/manga/components/MangaActionMenuItems.tsx index 0f1cd7ac..506ec706 100644 --- a/src/features/manga/components/MangaActionMenuItems.tsx +++ b/src/features/manga/components/MangaActionMenuItems.tsx @@ -21,21 +21,21 @@ import SyncIcon from '@mui/icons-material/Sync'; import Dialog from '@mui/material/Dialog'; import { Mangas } from '@/features/manga/services/Mangas.ts'; import { SelectableCollectionReturnType } from '@/features/collection/hooks/useSelectableCollection.ts'; -import { MenuItem } from '@/features/core/components/menu/MenuItem.tsx'; +import { MenuItem } from '@/base/components/menu/MenuItem.tsx'; import { createGetMenuItemTitle, createIsMenuItemDisabled, createShouldShowMenuItem, -} from '@/features/core/components/menu/Menu.utils.ts'; +} from '@/base/components/menu/Menu.utils.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { TrackManga } from '@/features/tracker/components/TrackManga.tsx'; import { useCategorySelect } from '@/features/category/hooks/useCategorySelect.tsx'; import { ChaptersDownloadActionMenuItems } from '@/features/chapter/components/actions/ChaptersDownloadActionMenuItems.tsx'; -import { NestedMenuItem } from '@/features/core/components/menu/NestedMenuItem.tsx'; +import { NestedMenuItem } from '@/base/components/menu/NestedMenuItem.tsx'; import { MangaChapterStatFieldsFragment, MangaType } from '@/lib/graphql/generated/graphql.ts'; import { MangaAction, MangaDownloadInfo, MangaIdInfo, MangaUnreadInfo } from '@/features/manga/Manga.types.ts'; import { MANGA_ACTION_TO_TRANSLATION } from '@/features/manga/Manga.constants.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; const ACTION_DISABLES_SELECTION_MODE: MangaAction[] = ['remove_from_library'] as const; diff --git a/src/features/manga/components/MangaBadges.tsx b/src/features/manga/components/MangaBadges.tsx index b100e307..b5129092 100644 --- a/src/features/manga/components/MangaBadges.tsx +++ b/src/features/manga/components/MangaBadges.tsx @@ -11,7 +11,7 @@ import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; import Typography from '@mui/material/Typography'; import { MangaCardMode } from '@/features/manga/Manga.types.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; diff --git a/src/features/manga/components/MangaGrid.tsx b/src/features/manga/components/MangaGrid.tsx index 37d3f5e4..ef5debd6 100644 --- a/src/features/manga/components/MangaGrid.tsx +++ b/src/features/manga/components/MangaGrid.tsx @@ -20,16 +20,16 @@ import Grid, { GridTypeMap } from '@mui/material/Grid'; import Box, { BoxProps } from '@mui/material/Box'; import { GridItemProps } from 'react-virtuoso'; import { useTranslation } from 'react-i18next'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { MangaCard } from '@/features/manga/components/cards/MangaCard.tsx'; import { SelectableCollectionReturnType } from '@/features/collection/hooks/useSelectableCollection.ts'; -import { DEFAULT_FULL_FAB_HEIGHT } from '@/features/core/components/buttons/StyledFab.tsx'; +import { DEFAULT_FULL_FAB_HEIGHT } from '@/base/components/buttons/StyledFab.tsx'; import { MangaCardProps } from '@/features/manga/Manga.types.ts'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout } from '@/base/Base.types.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { VirtuosoGridPersisted } from '@/lib/virtuoso/Component/VirtuosoGridPersisted.tsx'; diff --git a/src/features/manga/components/MangaOptionButton.tsx b/src/features/manga/components/MangaOptionButton.tsx index 96b129a6..f9b22490 100644 --- a/src/features/manga/components/MangaOptionButton.tsx +++ b/src/features/manga/components/MangaOptionButton.tsx @@ -14,7 +14,7 @@ import IconButton from '@mui/material/IconButton'; import MoreVertIcon from '@mui/icons-material/MoreVert'; import { PopupState } from 'material-ui-popup-state/hooks'; import { bindTrigger } from 'material-ui-popup-state'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { SelectableCollectionReturnType } from '@/features/collection/hooks/useSelectableCollection.ts'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; diff --git a/src/features/manga/components/MangaToolbarMenu.tsx b/src/features/manga/components/MangaToolbarMenu.tsx index 409d7b0b..ccd559de 100644 --- a/src/features/manga/components/MangaToolbarMenu.tsx +++ b/src/features/manga/components/MangaToolbarMenu.tsx @@ -20,10 +20,10 @@ import { Link } from 'react-router-dom'; import SyncAltIcon from '@mui/icons-material/SyncAlt'; import { useTheme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { useCategorySelect } from '@/features/category/hooks/useCategorySelect.tsx'; import { MangaType } from '@/lib/graphql/generated/graphql.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; interface IProps { manga: Pick; diff --git a/src/features/manga/components/ResumeFAB.tsx b/src/features/manga/components/ResumeFAB.tsx index 2ece6802..1a70eb0b 100644 --- a/src/features/manga/components/ResumeFAB.tsx +++ b/src/features/manga/components/ResumeFAB.tsx @@ -9,7 +9,7 @@ import { Link } from 'react-router-dom'; import PlayArrow from '@mui/icons-material/PlayArrow'; import { useTranslation } from 'react-i18next'; -import { StyledFab } from '@/features/core/components/buttons/StyledFab.tsx'; +import { StyledFab } from '@/base/components/buttons/StyledFab.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { ChapterMangaInfo, ChapterReadInfo, ChapterSourceOrderInfo } from '@/features/chapter/Chapter.types.ts'; diff --git a/src/features/manga/components/TrackMangaButton.tsx b/src/features/manga/components/TrackMangaButton.tsx index 93b57617..270a479d 100644 --- a/src/features/manga/components/TrackMangaButton.tsx +++ b/src/features/manga/components/TrackMangaButton.tsx @@ -13,14 +13,14 @@ import PopupState, { bindDialog, bindTrigger } from 'material-ui-popup-state'; import Dialog from '@mui/material/Dialog'; import CheckIcon from '@mui/icons-material/Check'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { TrackManga } from '@/features/tracker/components/TrackManga.tsx'; import { Trackers } from '@/features/tracker/services/Trackers.ts'; -import { CustomButton } from '@/features/core/components/buttons/CustomButton.tsx'; +import { CustomButton } from '@/base/components/buttons/CustomButton.tsx'; import { GetTrackersSettingsQuery, MangaType } from '@/lib/graphql/generated/graphql.ts'; import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/queries/TrackerQuery.ts'; import { MangaTrackRecordInfo } from '@/features/manga/Manga.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; export const TrackMangaButton = ({ manga }: { manga: MangaTrackRecordInfo & Pick }) => { const { t } = useTranslation(); diff --git a/src/features/manga/components/cards/MangaCard.tsx b/src/features/manga/components/cards/MangaCard.tsx index 249745f2..f3e64387 100644 --- a/src/features/manga/components/cards/MangaCard.tsx +++ b/src/features/manga/components/cards/MangaCard.tsx @@ -10,7 +10,7 @@ import PopupState, { bindMenu } from 'material-ui-popup-state'; import { memo, useCallback, useMemo, useState } from 'react'; import { useLongPress } from 'use-long-press'; import { MangaActionMenuItems, SingleModeProps } from '@/features/manga/components/MangaActionMenuItems.tsx'; -import { Menu } from '@/features/core/components/menu/Menu.tsx'; +import { Menu } from '@/base/components/menu/Menu.tsx'; import { MigrateDialog } from '@/features/migration/components/MigrateDialog.tsx'; import { useManageMangaLibraryState } from '@/features/manga/hooks/useManageMangaLibraryState.tsx'; import { MangaGridCard } from '@/features/manga/components/cards/MangaGridCard.tsx'; @@ -18,8 +18,8 @@ import { MangaListCard } from '@/features/manga/components/cards/MangaListCard.t import { MangaCardMode, MangaCardProps } from '@/features/manga/Manga.types.ts'; import { ContinueReadingButton } from '@/features/manga/components/ContinueReadingButton.tsx'; import { MangaBadges } from '@/features/manga/components/MangaBadges.tsx'; -import { GridLayout } from '@/features/core/Core.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { GridLayout } from '@/base/Base.types.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; const getMangaLinkTo = ( diff --git a/src/features/manga/components/cards/MangaGridCard.tsx b/src/features/manga/components/cards/MangaGridCard.tsx index f83da7ad..4d532614 100644 --- a/src/features/manga/components/cards/MangaGridCard.tsx +++ b/src/features/manga/components/cards/MangaGridCard.tsx @@ -14,15 +14,15 @@ import CardActionArea from '@mui/material/CardActionArea'; import Stack from '@mui/material/Stack'; import { styled } from '@mui/material/styles'; import { memo, useRef } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { SpinnerImage } from '@/features/core/components/SpinnerImage.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { SpinnerImage } from '@/base/components/SpinnerImage.tsx'; import { MangaOptionButton } from '@/features/manga/components/MangaOptionButton.tsx'; import { Mangas } from '@/features/manga/services/Mangas.ts'; import { SpecificMangaCardProps } from '@/features/manga/Manga.types.ts'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; import { MANGA_COVER_ASPECT_RATIO } from '@/features/manga/Manga.constants.ts'; -import { GridLayout } from '@/features/core/Core.types.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { GridLayout } from '@/base/Base.types.ts'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; const BottomGradient = styled('div')({ position: 'absolute', diff --git a/src/features/manga/components/cards/MangaListCard.tsx b/src/features/manga/components/cards/MangaListCard.tsx index df5b1fde..53526cf7 100644 --- a/src/features/manga/components/cards/MangaListCard.tsx +++ b/src/features/manga/components/cards/MangaListCard.tsx @@ -12,14 +12,14 @@ import Box from '@mui/material/Box'; import Stack from '@mui/material/Stack'; import { Link as RouterLink } from 'react-router-dom'; import { memo, useRef } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; import { SpecificMangaCardProps } from '@/features/manga/Manga.types.ts'; import { Mangas } from '@/features/manga/services/Mangas.ts'; import { MangaOptionButton } from '@/features/manga/components/MangaOptionButton.tsx'; -import { ListCardAvatar } from '@/features/core/components/lists/cards/ListCardAvatar.tsx'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { ListCardAvatar } from '@/base/components/lists/cards/ListCardAvatar.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; export const MangaListCard = memo( ({ diff --git a/src/features/manga/components/details/DescriptionGenre.tsx b/src/features/manga/components/details/DescriptionGenre.tsx index 7ee3627b..702d0d78 100644 --- a/src/features/manga/components/details/DescriptionGenre.tsx +++ b/src/features/manga/components/details/DescriptionGenre.tsx @@ -14,8 +14,8 @@ import Stack from '@mui/material/Stack'; import IconButton from '@mui/material/IconButton'; import ExpandLessIcon from '@mui/icons-material/ExpandLess'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { MangaDescriptionInfo, MangaGenreInfo, diff --git a/src/features/manga/components/details/MangaDetails.tsx b/src/features/manga/components/details/MangaDetails.tsx index 6bbf8cb7..a8c062ee 100644 --- a/src/features/manga/components/details/MangaDetails.tsx +++ b/src/features/manga/components/details/MangaDetails.tsx @@ -18,14 +18,14 @@ import Stack from '@mui/material/Stack'; import IconButton from '@mui/material/IconButton'; import ContentCopyIcon from '@mui/icons-material/ContentCopy'; import ButtonGroup from '@mui/material/ButtonGroup'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { Mangas } from '@/features/manga/services/Mangas.ts'; -import { SpinnerImage } from '@/features/core/components/SpinnerImage.tsx'; -import { CustomButton } from '@/features/core/components/buttons/CustomButton.tsx'; +import { SpinnerImage } from '@/base/components/SpinnerImage.tsx'; +import { CustomButton } from '@/base/components/buttons/CustomButton.tsx'; import { TrackMangaButton } from '@/features/manga/components/TrackMangaButton.tsx'; import { useManageMangaLibraryState } from '@/features/manga/hooks/useManageMangaLibraryState.tsx'; -import { Metadata as BaseMetadata } from '@/features/core/components/texts/Metadata.tsx'; +import { Metadata as BaseMetadata } from '@/base/components/texts/Metadata.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { MangaType, SourceType } from '@/lib/graphql/generated/graphql.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; @@ -44,8 +44,8 @@ import { MangaTitleInfo, MangaTrackRecordInfo, } from '@/features/manga/Manga.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; -import { CustomButtonIcon } from '@/features/core/components/buttons/CustomButtonIcon.tsx'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; +import { CustomButtonIcon } from '@/base/components/buttons/CustomButtonIcon.tsx'; import { Sources } from '@/features/source/services/Sources.ts'; import { SourceIdInfo } from '@/features/source/Source.types.ts'; import { Thumbnail } from '@/features/manga/components/details/Thumbnail.tsx'; diff --git a/src/features/manga/components/details/SearchLink.tsx b/src/features/manga/components/details/SearchLink.tsx index 2dcc0c9a..296b1fda 100644 --- a/src/features/manga/components/details/SearchLink.tsx +++ b/src/features/manga/components/details/SearchLink.tsx @@ -11,7 +11,7 @@ import Link from '@mui/material/Link'; import { Link as RouterLink } from 'react-router-dom'; import { MangaLocationState } from '@/features/manga/Manga.types.ts'; import { SourceIdInfo } from '@/features/source/Source.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; export const SearchLink = ({ query, diff --git a/src/features/manga/components/details/Thumbnail.tsx b/src/features/manga/components/details/Thumbnail.tsx index 71134ca6..f5cb9d3c 100644 --- a/src/features/manga/components/details/Thumbnail.tsx +++ b/src/features/manga/components/details/Thumbnail.tsx @@ -15,7 +15,7 @@ import { bindPopover, bindTrigger, usePopupState } from 'material-ui-popup-state import { Vibrant } from 'node-vibrant/browser'; import { FastAverageColor } from 'fast-average-color'; import { Mangas } from '@/features/manga/services/Mangas.ts'; -import { SpinnerImage } from '@/features/core/components/SpinnerImage.tsx'; +import { SpinnerImage } from '@/base/components/SpinnerImage.tsx'; import { MANGA_COVER_ASPECT_RATIO } from '@/features/manga/Manga.constants.ts'; import { MangaThumbnailInfo } from '@/features/manga/Manga.types.ts'; import { TAppThemeContext, useAppThemeContext } from '@/features/theme/AppThemeContext.tsx'; diff --git a/src/features/manga/hooks/useManageMangaLibraryState.tsx b/src/features/manga/hooks/useManageMangaLibraryState.tsx index 8d20d75b..727cb2dd 100644 --- a/src/features/manga/hooks/useManageMangaLibraryState.tsx +++ b/src/features/manga/hooks/useManageMangaLibraryState.tsx @@ -12,15 +12,15 @@ import { useNavigate } from 'react-router-dom'; import gql from 'graphql-tag'; import { useCategorySelect } from '@/features/category/hooks/useCategorySelect.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { Categories } from '@/features/category/services/Categories.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { Mangas } from '@/features/manga/services/Mangas.ts'; -import { awaitConfirmation } from '@/features/core/utils/AwaitableDialog.tsx'; +import { awaitConfirmation } from '@/base/utils/AwaitableDialog.tsx'; import { GetCategoriesBaseQuery, GetCategoriesBaseQueryVariables, MangaType } from '@/lib/graphql/generated/graphql.ts'; import { GET_CATEGORIES_BASE } from '@/lib/graphql/queries/CategoryQuery.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; export const useManageMangaLibraryState = ( diff --git a/src/features/manga/hooks/useRefreshManga.ts b/src/features/manga/hooks/useRefreshManga.ts index 34202fab..b1b91798 100644 --- a/src/features/manga/hooks/useRefreshManga.ts +++ b/src/features/manga/hooks/useRefreshManga.ts @@ -9,7 +9,7 @@ import { useCallback, useState } from 'react'; import { ApolloError } from '@apollo/client'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { baseCleanup } from '@/util/Strings.ts'; +import { baseCleanup } from '@/base/utils/Strings.ts'; export const useRefreshManga = (mangaId: string) => { const [fetchingOnline, setFetchingOnline] = useState(false); diff --git a/src/features/manga/screens/Manga.tsx b/src/features/manga/screens/Manga.tsx index 550c8089..a40787f1 100644 --- a/src/features/manga/screens/Manga.tsx +++ b/src/features/manga/screens/Manga.tsx @@ -15,14 +15,14 @@ import React, { useEffect, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { useLocation, useParams } from 'react-router-dom'; import { isNetworkRequestInFlight } from '@apollo/client/core/networkStatus'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { ChapterList } from '@/features/chapter/components/ChapterList.tsx'; import { useRefreshManga } from '@/features/manga/hooks/useRefreshManga.ts'; import { MangaDetails } from '@/features/manga/components/details/MangaDetails.tsx'; import { MangaToolbarMenu } from '@/features/manga/components/MangaToolbarMenu.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { GetMangaScreenQuery } from '@/lib/graphql/generated/graphql.ts'; import { GET_MANGA_SCREEN } from '@/lib/graphql/queries/MangaQuery.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/manga/services/Mangas.ts b/src/features/manga/services/Mangas.ts index 6068eb77..12ae8e43 100644 --- a/src/features/manga/services/Mangas.ts +++ b/src/features/manga/services/Mangas.ts @@ -20,7 +20,7 @@ import { UpdateMangaCategoriesPatchInput, } from '@/lib/graphql/generated/graphql.ts'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { GET_MANGAS_BASE } from '@/lib/graphql/queries/MangaQuery.ts'; import { MANGA_BASE_FIELDS } from '@/lib/graphql/fragments/MangaFragments.ts'; @@ -49,8 +49,8 @@ import { SOURCES_BY_MANGA_TYPE, } from '@/features/manga/Manga.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { awaitConfirmation } from '@/features/core/utils/AwaitableDialog.tsx'; -import { assertIsDefined } from '@/Asserts.ts'; +import { awaitConfirmation } from '@/base/utils/AwaitableDialog.tsx'; +import { assertIsDefined } from '@/base/Asserts.ts'; type MangaToMigrate = NonNullable; type MangaToMigrateTo = NonNullable['manga']; diff --git a/src/features/metadata/Metadata.constants.ts b/src/features/metadata/Metadata.constants.ts index dd698142..4adcdb5e 100644 --- a/src/features/metadata/Metadata.constants.ts +++ b/src/features/metadata/Metadata.constants.ts @@ -28,12 +28,12 @@ import { 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'; -import { NullAndUndefined } from '@/Base.types.ts'; 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/tap-zones/TapZoneLayout.types.ts'; +import { NullAndUndefined } from '@/base/Base.types.ts'; export const APP_METADATA_KEY_PREFIX = 'webUI'; diff --git a/src/features/migration/Migration.constants.ts b/src/features/migration/Migration.constants.ts index 5cef9ed9..a2f7c3d8 100644 --- a/src/features/migration/Migration.constants.ts +++ b/src/features/migration/Migration.constants.ts @@ -8,7 +8,7 @@ import { SortBy, SortOrder } from '@/features/migration/Migration.types.ts'; -import { TranslationKey } from '@/Base.types.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; export const sortByToTranslationKey: Record = { [SortBy.SOURCE_NAME]: 'migrate.sort.by_source_name', diff --git a/src/features/migration/components/MigrateDialog.tsx b/src/features/migration/components/MigrateDialog.tsx index e0de04bd..e46adc14 100644 --- a/src/features/migration/components/MigrateDialog.tsx +++ b/src/features/migration/components/MigrateDialog.tsx @@ -16,9 +16,9 @@ import Stack from '@mui/material/Stack'; import { Link, useNavigate, useParams } from 'react-router-dom'; import { useState } from 'react'; import FormGroup from '@mui/material/FormGroup'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { Mangas } from '@/features/manga/services/Mangas.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, @@ -26,7 +26,7 @@ import { import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { MetadataMigrationSettings } from '@/features/migration/Migration.types.ts'; import { MigrateMode } from '@/features/manga/Manga.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; export const MigrateDialog = ({ mangaIdToMigrateTo, onClose }: { mangaIdToMigrateTo: number; onClose: () => void }) => { const { t } = useTranslation(); diff --git a/src/features/migration/components/MigrationCard.tsx b/src/features/migration/components/MigrationCard.tsx index 5f49c2e5..39efc045 100644 --- a/src/features/migration/components/MigrationCard.tsx +++ b/src/features/migration/components/MigrationCard.tsx @@ -16,9 +16,9 @@ import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { GetMigratableSourcesQuery } from '@/lib/graphql/generated/graphql.ts'; import { translateExtensionLanguage } from '@/features/extension/Extensions.utils.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; -import { ListCardAvatar } from '@/features/core/components/lists/cards/ListCardAvatar.tsx'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; +import { ListCardAvatar } from '@/base/components/lists/cards/ListCardAvatar.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; export type TMigratableSource = NonNullable & { mangaCount: number; diff --git a/src/features/migration/screens/Migrate.tsx b/src/features/migration/screens/Migrate.tsx index 74028bf1..02ef3c78 100644 --- a/src/features/migration/screens/Migrate.tsx +++ b/src/features/migration/screens/Migrate.tsx @@ -11,16 +11,16 @@ import { useParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { TMigratableSource } from '@/features/migration/components/MigrationCard.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { GridLayouts } from '@/features/core/components/GridLayouts.tsx'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { GridLayouts } from '@/base/components/GridLayouts.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GetSourceMigratableQuery, GetSourceMigratableQueryVariables } from '@/lib/graphql/generated/graphql.ts'; import { GET_SOURCE_MIGRATABLE } from '@/lib/graphql/queries/SourceQuery.ts'; import { SOURCE_BASE_FIELDS } from '@/lib/graphql/fragments/SourceFragments.ts'; import { BaseMangaGrid } from '@/features/manga/components/BaseMangaGrid.tsx'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayout } from '@/base/Base.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { useAppTitleAndAction } from '@/features/navigation-bar/hooks/useAppTitleAndAction.ts'; diff --git a/src/features/migration/screens/Migration.tsx b/src/features/migration/screens/Migration.tsx index 74d3200e..111e6a00 100644 --- a/src/features/migration/screens/Migration.tsx +++ b/src/features/migration/screens/Migration.tsx @@ -15,12 +15,12 @@ import SortByAlphaIcon from '@mui/icons-material/SortByAlpha'; import TagIcon from '@mui/icons-material/Tag'; import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward'; import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { MigrationCard, TMigratableSource } from '@/features/migration/components/MigrationCard.tsx'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { SortBy, SortOrder, SortSettings, TMigratableSourcesResult } from '@/features/migration/Migration.types.ts'; import { sortByToTranslationKey, sortOrderToTranslationKey } from '@/features/migration/Migration.constants.ts'; @@ -28,7 +28,7 @@ import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/navigation-bar/NavbarContext.tsx b/src/features/navigation-bar/NavbarContext.tsx index 9b95f3f3..a4d0f583 100644 --- a/src/features/navigation-bar/NavbarContext.tsx +++ b/src/features/navigation-bar/NavbarContext.tsx @@ -8,7 +8,7 @@ import React, { useContext, useCallback, useMemo, useState } from 'react'; import { INavbarOverride, NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; export const NavBarContext = React.createContext({ title: 'Suwayomi', diff --git a/src/features/navigation-bar/NavigationBar.constants.ts b/src/features/navigation-bar/NavigationBar.constants.ts index 4171a44d..34d82f71 100644 --- a/src/features/navigation-bar/NavigationBar.constants.ts +++ b/src/features/navigation-bar/NavigationBar.constants.ts @@ -21,7 +21,7 @@ import SettingsIcon from '@mui/icons-material/Settings'; import InfoIcon from '@mui/icons-material/Info'; import { useTranslation } from 'react-i18next'; import { NavbarItem, NavBarItemMoreGroup } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { DownloaderState } from '@/lib/graphql/generated/graphql.ts'; diff --git a/src/features/navigation-bar/NavigationBar.types.ts b/src/features/navigation-bar/NavigationBar.types.ts index da41299c..1fa021f2 100644 --- a/src/features/navigation-bar/NavigationBar.types.ts +++ b/src/features/navigation-bar/NavigationBar.types.ts @@ -9,8 +9,8 @@ import { OverridableComponent } from '@mui/material/OverridableComponent'; import { SvgIconTypeMap } from '@mui/material/SvgIcon'; import { ReactNode } from 'react'; -import { TranslationKey } from '@/Base.types.ts'; -import { StaticAppRoute } from '@/features/core/AppRoute.constants.ts'; +import { StaticAppRoute } from '@/base/AppRoute.constants.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; export interface INavbarOverride { status: boolean; diff --git a/src/features/navigation-bar/NavigationBar.util.ts b/src/features/navigation-bar/NavigationBar.util.ts index 4c383953..1f09606c 100644 --- a/src/features/navigation-bar/NavigationBar.util.ts +++ b/src/features/navigation-bar/NavigationBar.util.ts @@ -8,7 +8,7 @@ import { NavbarItem } from '@/features/navigation-bar/NavigationBar.types.ts'; import { MetadataHistorySettings } from '@/features/history/History.types.ts'; -import { AppRoutes, StaticAppRoute } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes, StaticAppRoute } from '@/base/AppRoute.constants.ts'; type NavBarItemDeviceFilterKey = `hide${Capitalize}`; diff --git a/src/features/navigation-bar/components/DefaultNavBar.tsx b/src/features/navigation-bar/components/DefaultNavBar.tsx index bc63bc83..b46f222f 100644 --- a/src/features/navigation-bar/components/DefaultNavBar.tsx +++ b/src/features/navigation-bar/components/DefaultNavBar.tsx @@ -17,11 +17,11 @@ import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; import MenuIcon from '@mui/icons-material/Menu'; import Stack from '@mui/material/Stack'; import { useTheme } from '@mui/material/styles'; -import { useBackButton } from '@/features/core/hooks/useBackButton.ts'; +import { useBackButton } from '@/base/hooks/useBackButton.ts'; import { useGetOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { DesktopSideBar } from '@/features/navigation-bar/components/DesktopSideBar.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { MobileBottomBar } from '@/features/navigation-bar/components/MobileBottomBar.tsx'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; diff --git a/src/features/navigation-bar/components/DesktopSideBar.tsx b/src/features/navigation-bar/components/DesktopSideBar.tsx index 20836f4c..152e6ad8 100644 --- a/src/features/navigation-bar/components/DesktopSideBar.tsx +++ b/src/features/navigation-bar/components/DesktopSideBar.tsx @@ -22,13 +22,13 @@ import Box from '@mui/material/Box'; import ListItem from '@mui/material/ListItem'; import Badge from '@mui/material/Badge'; import Typography from '@mui/material/Typography'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { ListItemLink } from '@/features/core/components/lists/ListItemLink.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { ListItemLink } from '@/base/components/lists/ListItemLink.tsx'; import { useGetOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { NavbarItem } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; const DrawerHeader = styled('div')(({ theme }) => ({ display: 'flex', diff --git a/src/features/navigation-bar/components/MobileBottomBar.tsx b/src/features/navigation-bar/components/MobileBottomBar.tsx index 765e63f7..e8090867 100644 --- a/src/features/navigation-bar/components/MobileBottomBar.tsx +++ b/src/features/navigation-bar/components/MobileBottomBar.tsx @@ -14,10 +14,10 @@ import { CSSProperties, useCallback, useLayoutEffect, useRef, useState } from 'r import { useLocation, useNavigate } from 'react-router-dom'; import { useTheme } from '@mui/material/styles'; import Badge from '@mui/material/Badge'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; import { NavbarItem } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { StaticAppRoute } from '@/features/core/AppRoute.constants.ts'; +import { StaticAppRoute } from '@/base/AppRoute.constants.ts'; export const MobileBottomBar = ({ navBarItems }: { navBarItems: NavbarItem[] }) => { const { t } = useTranslation(); diff --git a/src/features/reader/Reader.types.ts b/src/features/reader/Reader.types.ts index 91483296..5800ccb3 100644 --- a/src/features/reader/Reader.types.ts +++ b/src/features/reader/Reader.types.ts @@ -12,9 +12,9 @@ import { TChapterReader } from '@/features/chapter/Chapter.types.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.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 { useAutomaticScrolling } from '@/base/hooks/useAutomaticScrolling.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { ScrollOffset } from '@/features/core/Core.types.ts'; +import { ScrollOffset } from '@/base/Base.types.ts'; export enum ProgressBarType { HIDDEN, diff --git a/src/features/reader/Reader.utils.ts b/src/features/reader/Reader.utils.ts index e31d8a37..eb5be1b4 100644 --- a/src/features/reader/Reader.utils.ts +++ b/src/features/reader/Reader.utils.ts @@ -19,7 +19,8 @@ import { CHAPTER_READER_FIELDS } from '@/lib/graphql/fragments/ChapterFragments. 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'; + +import { DirectionOffset } from '@/base/Base.types.ts'; export const getInitialReaderPageIndex = ( resumeMode: ReaderResumeMode, diff --git a/src/features/reader/auto-scroll/ReaderAutoScrollContext.tsx b/src/features/reader/auto-scroll/ReaderAutoScrollContext.tsx index d0c57c90..9fef1d5f 100644 --- a/src/features/reader/auto-scroll/ReaderAutoScrollContext.tsx +++ b/src/features/reader/auto-scroll/ReaderAutoScrollContext.tsx @@ -15,12 +15,12 @@ import { TReaderAutoScrollContext, } from '@/features/reader/Reader.types.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; -import { ScrollOffset } from '@/features/core/Core.types.ts'; +import { ScrollOffset } from '@/base/Base.types.ts'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { isContinuousReadingMode } from '@/features/reader/settings/ReaderSettings.utils.tsx'; -import { useAutomaticScrolling } from '@/features/core/hooks/useAutomaticScrolling.ts'; +import { useAutomaticScrolling } from '@/base/hooks/useAutomaticScrolling.ts'; import { CONTINUOUS_READING_MODE_TO_SCROLL_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; export const ReaderAutoScrollContext = createContext({ diff --git a/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts b/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts index 5d72e90a..eb5d861e 100644 --- a/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts +++ b/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts @@ -7,7 +7,7 @@ */ import { useEffect } from 'react'; -import { useAutomaticScrolling } from '@/features/core/hooks/useAutomaticScrolling.ts'; +import { useAutomaticScrolling } from '@/base/hooks/useAutomaticScrolling.ts'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; export const useReaderAutoScroll = ( diff --git a/src/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx b/src/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx index 6643b9c6..8699851a 100644 --- a/src/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx +++ b/src/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx @@ -7,9 +7,9 @@ */ import { useTranslation } from 'react-i18next'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; -import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { AUTO_SCROLL_SPEED, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingAutoScroll = ({ diff --git a/src/features/reader/filters/ReaderRGBAFilter.tsx b/src/features/reader/filters/ReaderRGBAFilter.tsx index 5feda54d..b21132e3 100644 --- a/src/features/reader/filters/ReaderRGBAFilter.tsx +++ b/src/features/reader/filters/ReaderRGBAFilter.tsx @@ -10,7 +10,7 @@ import Box from '@mui/material/Box'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; const BaseReaderRGBAFilter = ({ diff --git a/src/features/reader/filters/settings/ReaderFilterSettings.tsx b/src/features/reader/filters/settings/ReaderFilterSettings.tsx index 9d0b2685..b968bcbd 100644 --- a/src/features/reader/filters/settings/ReaderFilterSettings.tsx +++ b/src/features/reader/filters/settings/ReaderFilterSettings.tsx @@ -16,7 +16,7 @@ import { ReaderSettingSepia } from '@/features/reader/filters/settings/component 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'; +import { ResetButton } from '@/base/components/buttons/ResetButton.tsx'; export const ReaderFilterSettings = ({ settings: { customFilter }, diff --git a/src/features/reader/filters/settings/components/ReaderSettingBrightness.tsx b/src/features/reader/filters/settings/components/ReaderSettingBrightness.tsx index f5c84cf7..c880a6f1 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingBrightness.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingBrightness.tsx @@ -9,8 +9,8 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; 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 { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; diff --git a/src/features/reader/filters/settings/components/ReaderSettingContrast.tsx b/src/features/reader/filters/settings/components/ReaderSettingContrast.tsx index 5ce456ca..c4de6319 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingContrast.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingContrast.tsx @@ -9,8 +9,8 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; 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 { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingContrast = ({ diff --git a/src/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx b/src/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx index 0ed1b5b3..113f2825 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingGrayscale.tsx @@ -9,7 +9,7 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; export const ReaderSettingGrayscale = ({ grayscale, diff --git a/src/features/reader/filters/settings/components/ReaderSettingHue.tsx b/src/features/reader/filters/settings/components/ReaderSettingHue.tsx index 93612b5b..97c5afd9 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingHue.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingHue.tsx @@ -9,8 +9,8 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; 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 { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingHue = ({ diff --git a/src/features/reader/filters/settings/components/ReaderSettingInvert.tsx b/src/features/reader/filters/settings/components/ReaderSettingInvert.tsx index f056222b..f28d44a1 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingInvert.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingInvert.tsx @@ -9,7 +9,7 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; export const ReaderSettingInvert = ({ invert, diff --git a/src/features/reader/filters/settings/components/ReaderSettingRGBA.tsx b/src/features/reader/filters/settings/components/ReaderSettingRGBA.tsx index 105069b9..5ad90d85 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingRGBA.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingRGBA.tsx @@ -9,9 +9,8 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; 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'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { CUSTOM_FILTER, @@ -19,7 +18,8 @@ import { READER_BLEND_MODE_VALUE_TO_DISPLAY_DATA, READER_BLEND_MODE_VALUES, } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; +import { TranslationKey } from '@/base/Base.types.ts'; type RGBAType = Exclude; diff --git a/src/features/reader/filters/settings/components/ReaderSettingSaturate.tsx b/src/features/reader/filters/settings/components/ReaderSettingSaturate.tsx index 50e57b54..45edee34 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingSaturate.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingSaturate.tsx @@ -9,8 +9,8 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; 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 { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { CUSTOM_FILTER, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingSaturate = ({ diff --git a/src/features/reader/filters/settings/components/ReaderSettingSepia.tsx b/src/features/reader/filters/settings/components/ReaderSettingSepia.tsx index 17cfb7ac..30eaccf5 100644 --- a/src/features/reader/filters/settings/components/ReaderSettingSepia.tsx +++ b/src/features/reader/filters/settings/components/ReaderSettingSepia.tsx @@ -9,7 +9,7 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; export const ReaderSettingSepia = ({ sepia, diff --git a/src/features/reader/hooks/useReaderSetChaptersState.ts b/src/features/reader/hooks/useReaderSetChaptersState.ts index 16044a5e..c27f791f 100644 --- a/src/features/reader/hooks/useReaderSetChaptersState.ts +++ b/src/features/reader/hooks/useReaderSetChaptersState.ts @@ -9,7 +9,6 @@ import { useEffect } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { DirectionOffset } from '@/Base.types.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { GetChaptersReaderQuery } from '@/lib/graphql/generated/graphql.ts'; import { @@ -21,6 +20,7 @@ import { READER_STATE_CHAPTERS_DEFAULTS } from '@/features/reader/contexts/state import { filterChapters } from '@/features/chapter/utils/ChapterList.util.tsx'; import { ChapterListOptions } from '@/features/chapter/Chapter.types.ts'; import { getReaderChapterFromCache } from '@/features/reader/Reader.utils.ts'; +import { DirectionOffset } from '@/base/Base.types.ts'; export const useReaderSetChaptersState = ( chaptersResponse: ReturnType>, diff --git a/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts b/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts index b89d2ee6..406c22ae 100644 --- a/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts +++ b/src/features/reader/hooks/useReaderShowSettingPreviewOnChange.ts @@ -9,10 +9,10 @@ import { useEffect, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { IReaderSettings, IReaderSettingsWithDefaultFlag } from '@/features/reader/Reader.types.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; 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/tap-zones/TapZoneLayout.types.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; const HIDE_PREVIEW_TIMEOUT = 5000; diff --git a/src/features/reader/hotkeys/ReaderHotkeys.tsx b/src/features/reader/hotkeys/ReaderHotkeys.tsx index cda5db23..74a8bcf5 100644 --- a/src/features/reader/hotkeys/ReaderHotkeys.tsx +++ b/src/features/reader/hotkeys/ReaderHotkeys.tsx @@ -13,7 +13,7 @@ import { HOTKEY_SCOPES } from '@/features/hotkeys/Hotkeys.constants.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { IReaderSettings, ReaderHotkey } from '@/features/reader/Reader.types.ts'; import { useReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlayContext.tsx'; -import { getNextRotationValue } from '@/features/core/utils/ValueRotationButton.utils.ts'; +import { getNextRotationValue } from '@/base/utils/ValueRotationButton.utils.ts'; import { AUTO_SCROLL_SPEED, CONTINUOUS_READING_MODE_TO_SCROLL_DIRECTION, @@ -24,7 +24,7 @@ import { 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 { ScrollOffset } from '@/base/Base.types.ts'; import { getOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/ReaderAutoScrollContext.tsx'; diff --git a/src/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx b/src/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx index 1509d1ef..4077d188 100644 --- a/src/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx +++ b/src/features/reader/hotkeys/settings/ReaderHotkeysSettings.tsx @@ -12,7 +12,7 @@ import Typography from '@mui/material/Typography'; 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'; +import { ResetButton } from '@/base/components/buttons/ResetButton.tsx'; export const ReaderHotkeysSettings = ({ settings, updateSetting, onDefault }: ReaderSettingsTypeProps) => { const { t } = useTranslation(); diff --git a/src/features/reader/hotkeys/settings/components/Hotkey.tsx b/src/features/reader/hotkeys/settings/components/Hotkey.tsx index f84d1d47..81be378d 100644 --- a/src/features/reader/hotkeys/settings/components/Hotkey.tsx +++ b/src/features/reader/hotkeys/settings/components/Hotkey.tsx @@ -9,8 +9,8 @@ import { Fragment } from 'react'; import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { Kbd } from '@/features/core/components/texts/Kbd.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { Kbd } from '@/base/components/texts/Kbd.tsx'; export const Hotkey = ({ keys, removeKey }: { keys: string[]; removeKey?: (key: string) => void }) => { const { t } = useTranslation(); diff --git a/src/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx b/src/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx index 147ec506..136f28fc 100644 --- a/src/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx +++ b/src/features/reader/hotkeys/settings/components/ReaderSettingHotkey.tsx @@ -12,13 +12,13 @@ import AddIcon from '@mui/icons-material/Add'; 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 { CustomTooltip } from '@/base/components/CustomTooltip.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/hotkeys/settings/components/RecordHotkey.tsx'; import { Hotkey } from '@/features/reader/hotkeys/settings/components/Hotkey.tsx'; -import { ResetButton } from '@/features/core/components/buttons/ResetButton.tsx'; +import { ResetButton } from '@/base/components/buttons/ResetButton.tsx'; +import { TranslationKey } from '@/base/Base.types.ts'; const READER_HOTKEY_TO_TITLE: Record = { [ReaderHotkey.PREVIOUS_PAGE]: 'reader.settings.hotkey.previous_page', diff --git a/src/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx b/src/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx index a5425f14..6774f946 100644 --- a/src/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx +++ b/src/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx @@ -7,7 +7,7 @@ */ import { memo } from 'react'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; 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'; diff --git a/src/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts b/src/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts index 1ebedaa3..fc8f95cd 100644 --- a/src/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts +++ b/src/features/reader/infinite-scroll/useReaderInfiniteScrollUpdateChapter.ts @@ -15,7 +15,7 @@ import { } 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'; +import { useIntersectionObserver } from '@/base/hooks/useIntersectionObserver.tsx'; interface ElementIntersection { start: boolean; diff --git a/src/features/reader/overlay/ReaderOverlay.tsx b/src/features/reader/overlay/ReaderOverlay.tsx index 7da1299b..22f6032b 100644 --- a/src/features/reader/overlay/ReaderOverlay.tsx +++ b/src/features/reader/overlay/ReaderOverlay.tsx @@ -16,8 +16,8 @@ import { ReaderNavBarDesktop } from '@/features/reader/overlay/navigation/deskto 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'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; const BaseReaderOverlay = ({ isVisible, diff --git a/src/features/reader/overlay/components/ReaderPageNumber.tsx b/src/features/reader/overlay/components/ReaderPageNumber.tsx index 14fed272..00042543 100644 --- a/src/features/reader/overlay/components/ReaderPageNumber.tsx +++ b/src/features/reader/overlay/components/ReaderPageNumber.tsx @@ -22,13 +22,13 @@ import { getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBa import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/ReaderProgressBarContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; -import { reverseString } from '@/util/Strings.ts'; +import { reverseString } from '@/base/utils/Strings.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; import { ReaderStatePages, TReaderProgressBarContext, } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; const BaseReaderPageNumber = ({ isDesktop, diff --git a/src/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx b/src/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx index fe83eb65..a6f1d250 100644 --- a/src/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx +++ b/src/features/reader/overlay/mobile/ReaderOverlayHeaderMobile.tsx @@ -18,18 +18,18 @@ import { Link as RouterLink } from 'react-router-dom'; import { alpha } from '@mui/material/styles'; import Slide from '@mui/material/Slide'; 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 { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; 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 { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { ReaderStateChapters, TReaderScrollbarContext, TReaderStateMangaContext, } from '@/features/reader/Reader.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/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'; diff --git a/src/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx b/src/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx index 926b3543..818f94a5 100644 --- a/src/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx +++ b/src/features/reader/overlay/navigation/components/ReaderBookmarkButton.tsx @@ -11,7 +11,7 @@ import { useTranslation } from 'react-i18next'; import { memo } from 'react'; import BookmarkIcon from '@mui/icons-material/Bookmark'; import BookmarkBorderIcon from '@mui/icons-material/BookmarkBorder'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { ChapterAction, TChapterReader } from '@/features/chapter/Chapter.types.ts'; import { CHAPTER_ACTION_TO_TRANSLATION } from '@/features/chapter/Chapter.constants.ts'; diff --git a/src/features/reader/overlay/navigation/components/ReaderExitButton.tsx b/src/features/reader/overlay/navigation/components/ReaderExitButton.tsx index 033ddf25..17fc03a6 100644 --- a/src/features/reader/overlay/navigation/components/ReaderExitButton.tsx +++ b/src/features/reader/overlay/navigation/components/ReaderExitButton.tsx @@ -11,9 +11,9 @@ import { useTranslation } from 'react-i18next'; import ArrowBack from '@mui/icons-material/ArrowBack'; import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; import { memo } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { useGetOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; const BaseReaderExitButton = ({ exit }: { exit: ReturnType }) => { diff --git a/src/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx b/src/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx index 83d4b3db..efbb3871 100644 --- a/src/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx +++ b/src/features/reader/overlay/navigation/components/ReaderLibraryButton.tsx @@ -11,11 +11,11 @@ import { useTranslation } from 'react-i18next'; import FavoriteIcon from '@mui/icons-material/Favorite'; import FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder'; import { memo } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/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/Reader.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; const ACTION_FALLBACK_MANGA = { diff --git a/src/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx b/src/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx index 95b2afc1..96079f85 100644 --- a/src/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx +++ b/src/features/reader/overlay/navigation/desktop/ReaderNavBarDesktop.tsx @@ -14,7 +14,7 @@ import PushPinOutlinedIcon from '@mui/icons-material/PushPinOutlined'; 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 { CustomTooltip } from '@/base/components/CustomTooltip.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'; @@ -23,15 +23,15 @@ import { ReaderNavBarDesktopChapterNavigation } from '@/features/reader/overlay/ 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/NavbarContext.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { useReaderStateMangaContext } from '@/features/reader/contexts/state/ReaderStateMangaContext.tsx'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; import { IReaderSettings, ReaderStateChapters, TReaderStateMangaContext } from '@/features/reader/Reader.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; import { ReaderExitButton } from '@/features/reader/overlay/navigation/components/ReaderExitButton.tsx'; diff --git a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx index 3434f6dc..7eacbc7e 100644 --- a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopActions.tsx @@ -13,12 +13,12 @@ import DownloadIcon from '@mui/icons-material/Download'; import ReplayIcon from '@mui/icons-material/Replay'; import { memo, useMemo, useRef } from 'react'; import DeleteIcon from '@mui/icons-material/Delete'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; import { ReaderStateChapters } from '@/features/reader/Reader.types.ts'; -import { DownloadStateIndicator } from '@/features/core/components/downloads/DownloadStateIndicator.tsx'; +import { DownloadStateIndicator } from '@/base/components/downloads/DownloadStateIndicator.tsx'; import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/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/overlay/navigation/components/ReaderLibraryButton.tsx'; diff --git a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx index 4dee6d60..fbeb9d0d 100644 --- a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopChapterNavigation.tsx @@ -16,14 +16,14 @@ import { bindPopover, bindTrigger, usePopupState } from 'material-ui-popup-state 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 { Select } from '@/base/components/inputs/Select.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/Reader.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; const BaseReaderNavBarDesktopChapterNavigation = ({ currentChapter, diff --git a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopMetadata.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopMetadata.tsx index bed32e5a..3633ebe5 100644 --- a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopMetadata.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopMetadata.tsx @@ -11,9 +11,9 @@ import Link from '@mui/material/Link'; import { Link as RouterLink } from 'react-router-dom'; import { memo } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; export const ReaderNavBarDesktopMetadata = memo( ({ diff --git a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx index 7ddb8748..ed8f015c 100644 --- a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx @@ -9,8 +9,8 @@ import { ComponentProps } from 'react'; import KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft'; import KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { CustomButtonIcon } from '@/features/core/components/buttons/CustomButtonIcon.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { CustomButtonIcon } from '@/base/components/buttons/CustomButtonIcon.tsx'; export const ReaderNavBarDesktopNextPreviousButton = ({ title, diff --git a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx index 490dd77a..8e802a71 100644 --- a/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx +++ b/src/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopPageNavigation.tsx @@ -12,7 +12,7 @@ import MenuItem from '@mui/material/MenuItem'; 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 { Select } from '@/base/components/inputs/Select.tsx'; 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'; @@ -21,7 +21,7 @@ import { ReaderService } from '@/features/reader/services/ReaderService.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 { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; const BaseReaderNavBarDesktopPageNavigation = ({ diff --git a/src/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx index e011c995..c20b0183 100644 --- a/src/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/ReaderNavBarDesktopQuickSettings.tsx @@ -17,7 +17,7 @@ import { ReaderNavBarDesktopReadingDirection } from '@/features/reader/overlay/n 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 { withPropsFrom } from '@/base/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/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx'; diff --git a/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx index 511d23ba..01e4a0b8 100644 --- a/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx @@ -9,8 +9,8 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import FitScreenIcon from '@mui/icons-material/FitScreen'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { ValueRotationButton } from '@/features/core/components/buttons/ValueRotationButton.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { ValueRotationButton } from '@/base/components/buttons/ValueRotationButton.tsx'; import { IReaderSettings, IReaderSettingsWithDefaultFlag, @@ -21,8 +21,8 @@ import { READER_PAGE_SCALE_MODE_TO_SCALING_ALLOWED, READER_PAGE_SCALE_MODE_VALUES, } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; -import { CustomButtonIcon } from '@/features/core/components/buttons/CustomButtonIcon.tsx'; +import { MultiValueButtonDefaultableProps } from '@/base/Base.types.ts'; +import { CustomButtonIcon } from '@/base/components/buttons/CustomButtonIcon.tsx'; export const ReaderNavBarDesktopPageScale = ({ pageScaleMode, diff --git a/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx index 4468151e..ba416173 100644 --- a/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx @@ -7,13 +7,13 @@ */ import { useTranslation } from 'react-i18next'; -import { ValueRotationButton } from '@/features/core/components/buttons/ValueRotationButton.tsx'; +import { ValueRotationButton } from '@/base/components/buttons/ValueRotationButton.tsx'; import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/Reader.types.ts'; import { READING_DIRECTION_VALUES, READING_DIRECTION_VALUE_TO_DISPLAY_DATA, } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; +import { MultiValueButtonDefaultableProps } from '@/base/Base.types.ts'; export const ReaderNavBarDesktopReadingDirection = ({ readingDirection, diff --git a/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx index 22f01f57..ba8c5660 100644 --- a/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx +++ b/src/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx @@ -7,13 +7,13 @@ */ import { useTranslation } from 'react-i18next'; -import { ValueRotationButton } from '@/features/core/components/buttons/ValueRotationButton.tsx'; +import { ValueRotationButton } from '@/base/components/buttons/ValueRotationButton.tsx'; import { IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/Reader.types.ts'; import { READING_MODE_VALUE_TO_DISPLAY_DATA, READING_MODE_VALUES, } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; +import { MultiValueButtonDefaultableProps } from '@/base/Base.types.ts'; export const ReaderNavBarDesktopReadingMode = ({ readingMode, diff --git a/src/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx b/src/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx index f8f2f8da..335ee805 100644 --- a/src/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx +++ b/src/features/reader/overlay/navigation/mobile/ReaderBottomBarMobile.tsx @@ -18,7 +18,7 @@ import DialogContent from '@mui/material/DialogContent'; 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 { CustomTooltip } from '@/base/components/CustomTooltip.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'; @@ -26,8 +26,8 @@ import { ReaderBottomBarMobileQuickSettings } from '@/features/reader/overlay/na import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; 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'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; const BaseReaderBottomBarMobile = ({ openSettings, diff --git a/src/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx b/src/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx index d1a1a2fb..536748bd 100644 --- a/src/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx +++ b/src/features/reader/overlay/navigation/mobile/quick-settings/ReaderBottomBarMobileQuickSettings.tsx @@ -19,10 +19,10 @@ import { TReaderAutoScrollContext, TReaderStateMangaContext, } from '@/features/reader/Reader.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; import { ReaderSettingAutoScroll } from '@/features/reader/auto-scroll/settings/ReaderSettingAutoScroll.tsx'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/ReaderAutoScrollContext.tsx'; const BaseReaderBottomBarMobileQuickSettings = ({ diff --git a/src/features/reader/overlay/progress-bar/ReaderProgressBar.tsx b/src/features/reader/overlay/progress-bar/ReaderProgressBar.tsx index 5fe6bd2e..fdef5da3 100644 --- a/src/features/reader/overlay/progress-bar/ReaderProgressBar.tsx +++ b/src/features/reader/overlay/progress-bar/ReaderProgressBar.tsx @@ -31,11 +31,11 @@ import { getOptionForDirection as getOptionForDirectionImpl } from '@/features/t 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 { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/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 { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { IReaderSettings, ReadingMode } from '@/features/reader/Reader.types.ts'; const BaseReaderProgressBar = ({ diff --git a/src/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx b/src/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx index c5c2cf89..c372c5fa 100644 --- a/src/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx +++ b/src/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx @@ -8,9 +8,9 @@ import Box from '@mui/material/Box'; import { styled } from '@mui/material/styles'; -import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; +import { shouldForwardProp } from '@/base/utils/ShouldForwardProp.ts'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { getProgressBarPositionInfo } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; type ProgressBarHighlightReadPagesProps = Pick & { diff --git a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx index 4a76bb9a..116e8603 100644 --- a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarContainer.tsx @@ -9,8 +9,8 @@ import Stack from '@mui/material/Stack'; import { styled } from '@mui/material/styles'; 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 { shouldForwardProp } from '@/base/utils/ShouldForwardProp.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { getProgressBarPositionInfo } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; type ReaderProgressBarContainerProps = Pick; diff --git a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx index bf437118..3043fc49 100644 --- a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx @@ -8,9 +8,9 @@ import Box from '@mui/material/Box'; import { ReactNode } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { CurrentPageSlotProps } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; 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'; diff --git a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx index 0bdfa188..a07659e7 100644 --- a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx @@ -15,7 +15,7 @@ import { getTheme } from '@/features/theme/services/AppThemes.ts'; import { createTheme } from '@/features/theme/services/ThemeCreator.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { DIRECTION_TO_CACHE } from '@/features/theme/ThemeDirectionCache.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; const BaseReaderProgressBarDirectionWrapper = forwardRef< HTMLElement, diff --git a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx index fc36864c..8250940e 100644 --- a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx @@ -8,7 +8,7 @@ import Box from '@mui/material/Box'; import { memo, ReactNode } from 'react'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { ReaderProgressBarSlotProps } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { READER_PROGRESS_BAR_POSITION_TO_PLACEMENT } from '@/features/reader/settings/ReaderSettings.constants.tsx'; diff --git a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx index a6a8aad3..e317160b 100644 --- a/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx +++ b/src/features/reader/overlay/progress-bar/components/ReaderProgressBarSlotWrapper.tsx @@ -10,7 +10,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/overlay/progress-bar/ReaderProgressBar.types.ts'; -import { shouldForwardProp } from '@/features/core/utils/ShouldForwardProp.ts'; +import { shouldForwardProp } from '@/base/utils/ShouldForwardProp.ts'; type StyledWrapperProps = { isFirstPage: boolean; diff --git a/src/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx b/src/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx index 1dd9e67d..781bb821 100644 --- a/src/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx +++ b/src/features/reader/overlay/progress-bar/desktop/StandardReaderProgressBar.tsx @@ -12,7 +12,7 @@ import { ReaderProgressBar } from '@/features/reader/overlay/progress-bar/Reader import { userReaderStatePagesContext } from '@/features/reader/contexts/state/ReaderStatePagesContext.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { IReaderSettings, ProgressBarType, TReaderScrollbarContext } from '@/features/reader/Reader.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { getProgressBarPositionInfo } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; import { ReaderProgressBarDirectionWrapper } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx'; import { @@ -20,12 +20,12 @@ import { 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 { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/ReaderProgressBarContext.tsx'; import { useReaderScrollbarContext } from '@/features/reader/contexts/ReaderScrollbarContext.tsx'; import { ReaderProgressBarSlotDesktop } from '@/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { getProgressBarPosition } from '@/features/reader/settings/ReaderSettings.utils.tsx'; const BaseStandardReaderProgressBar = ({ diff --git a/src/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx b/src/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx index 8097e05d..4b05325b 100644 --- a/src/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx +++ b/src/features/reader/overlay/progress-bar/desktop/components/ReaderProgressBarSlotDesktop.tsx @@ -9,7 +9,7 @@ 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 { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { ReaderProgressBarSlot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; diff --git a/src/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx b/src/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx index a28ffd5e..a014103e 100644 --- a/src/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx +++ b/src/features/reader/overlay/progress-bar/mobile/MobileReaderProgressBar.tsx @@ -31,7 +31,7 @@ import { import { ReaderProgressBarDirectionWrapper } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarDirectionWrapper.tsx'; import { useReaderProgressBarContext } from '@/features/reader/overlay/progress-bar/ReaderProgressBarContext.tsx'; import { useReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlayContext.tsx'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; import { ReaderProgressBarProps, @@ -39,8 +39,8 @@ import { } 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 { applyStyles } from '@/base/utils/ApplyStyles.ts'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.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/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx b/src/features/reader/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx index c9e79bf0..959db7f4 100644 --- a/src/features/reader/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx +++ b/src/features/reader/overlay/progress-bar/mobile/components/ReaderProgressBarSlotMobile.tsx @@ -9,7 +9,7 @@ import Box from '@mui/material/Box'; import { ComponentProps, memo } from 'react'; import { ProgressBarPosition } from '@/features/reader/Reader.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { ReaderProgressBarSlot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarSlot.tsx'; const SLOT_SX_PROP: NonNullable['slotProps']>['box']>['sx'] = { diff --git a/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx index 5d877752..241da7ea 100644 --- a/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx +++ b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarPosition.tsx @@ -15,8 +15,8 @@ import { ProgressBarPosition, ProgressBarPositionAutoVertical, } from '@/features/reader/Reader.types.ts'; -import { ValueToDisplayData } from '@/features/core/Core.types.ts'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; +import { ValueToDisplayData } from '@/base/Base.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [ProgressBarPosition.AUTO]: { diff --git a/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx index 5fe95627..749d86df 100644 --- a/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx +++ b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarSize.tsx @@ -8,7 +8,7 @@ import { useTranslation } from 'react-i18next'; import { IReaderSettings, ProgressBarType, ReaderOverlayMode } from '@/features/reader/Reader.types.ts'; -import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { AUTO_SCROLL_SPEED, DEFAULT_READER_SETTINGS } from '@/features/reader/settings/ReaderSettings.constants.tsx'; export const ReaderSettingProgressBarSize = ({ diff --git a/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx index df1096f9..09a7ccb8 100644 --- a/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx +++ b/src/features/reader/overlay/progress-bar/settings/components/ReaderSettingProgressBarType.tsx @@ -8,10 +8,10 @@ import { useTranslation } from 'react-i18next'; import { IReaderSettings, ProgressBarType, ReaderOverlayMode } from '@/features/reader/Reader.types.ts'; -import { ValueToDisplayData } from '@/features/core/Core.types.ts'; +import { ValueToDisplayData } from '@/base/Base.types.ts'; import { HiddenProgressBarIcon } from '@/assets/icons/svg/HiddenProgressBarIcon.tsx'; import { StandardProgressBarIcon } from '@/assets/icons/svg/StandardProgressBarIcon.tsx'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [ProgressBarType.HIDDEN]: { diff --git a/src/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx b/src/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx index c3dbb9d6..19e1180e 100644 --- a/src/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx +++ b/src/features/reader/overlay/settings/ReaderSettingOverlayMode.tsx @@ -11,8 +11,8 @@ 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/Reader.types.ts'; -import { ValueToDisplayData } from '@/features/core/Core.types.ts'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; +import { ValueToDisplayData } from '@/base/Base.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [ReaderOverlayMode.AUTO]: { diff --git a/src/features/reader/screens/Reader.tsx b/src/features/reader/screens/Reader.tsx index eb76d694..654a87af 100644 --- a/src/features/reader/screens/Reader.tsx +++ b/src/features/reader/screens/Reader.tsx @@ -16,8 +16,8 @@ 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'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; 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'; @@ -42,7 +42,7 @@ import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.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 { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { useReaderStateChaptersContext } from '@/features/reader/contexts/state/ReaderStateChaptersContext.tsx'; import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/ReaderAutoScrollContext.tsx'; import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; diff --git a/src/features/reader/services/ReaderControls.ts b/src/features/reader/services/ReaderControls.ts index 395099ab..23d810b8 100644 --- a/src/features/reader/services/ReaderControls.ts +++ b/src/features/reader/services/ReaderControls.ts @@ -29,7 +29,7 @@ import { ReadingDirection, ReadingMode, } from '@/features/reader/Reader.types.ts'; -import { ScrollDirection, ScrollOffset } from '@/features/core/Core.types.ts'; +import { DirectionOffset, ScrollDirection, ScrollOffset, TranslationKey } from '@/base/Base.types.ts'; import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { isATransitionPageVisible, @@ -47,10 +47,9 @@ import { updateReaderStateVisibleChapters, } 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 { awaitConfirmation } from '@/base/utils/AwaitableDialog.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { TReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlay.types.ts'; import { diff --git a/src/features/reader/services/ReaderService.ts b/src/features/reader/services/ReaderService.ts index ca18a712..40017e98 100644 --- a/src/features/reader/services/ReaderService.ts +++ b/src/features/reader/services/ReaderService.ts @@ -30,17 +30,16 @@ import { 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'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { MediaQuery } from '@/base/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 { useBackButton } from '@/base/hooks/useBackButton.ts'; 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'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { DirectionOffset } from '@/Base.types.ts'; import { getChapterIdsForDownloadAhead, getChapterIdsToDeleteForChapterUpdate, @@ -50,10 +49,11 @@ import { } 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'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { FALLBACK_MANGA } from '@/features/manga/Manga.constants.ts'; import { getMetadataKey } from '@/features/metadata/Metadata.utils.ts'; +import { DirectionOffset } from '@/base/Base.types.ts'; const DIRECTION_TO_INVERTED: Record = { ltr: 'rtl', diff --git a/src/features/reader/settings/ReaderSettings.constants.tsx b/src/features/reader/settings/ReaderSettings.constants.tsx index 37e294e4..8082e2fd 100644 --- a/src/features/reader/settings/ReaderSettings.constants.tsx +++ b/src/features/reader/settings/ReaderSettings.constants.tsx @@ -13,7 +13,7 @@ import ExpandIcon from '@mui/icons-material/Expand'; import CropOriginalIcon from '@mui/icons-material/CropOriginal'; import { TooltipProps } from '@mui/material/Tooltip'; import { Direction } from '@mui/material/styles'; -import { ScrollDirection, ValueToDisplayData } from '@/features/core/Core.types.ts'; +import { ScrollDirection, TranslationKey, ValueToDisplayData } from '@/base/Base.types.ts'; import { IReaderSettings, IReaderSettingsGlobal, @@ -33,7 +33,6 @@ 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/tap-zones/TapZoneLayout.types.ts'; import { WebtoonPageIcon } from '@/assets/icons/svg/WebtoonPageIcon.tsx'; diff --git a/src/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx b/src/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx index 2df20add..2d004b36 100644 --- a/src/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx +++ b/src/features/reader/settings/behaviour/ReaderBehaviourSettings.tsx @@ -12,10 +12,10 @@ 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/Reader.types.ts'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.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 { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { DEFAULT_READER_SETTINGS, IMAGE_PRE_LOAD_AMOUNT, diff --git a/src/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx b/src/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx index 1512e6ad..f84301ec 100644 --- a/src/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx +++ b/src/features/reader/settings/behaviour/components/ReaderSettingExitMode.tsx @@ -8,8 +8,8 @@ import { useTranslation } from 'react-i18next'; 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'; +import { ValueToDisplayData } from '@/base/Base.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [ReaderExitMode.PREVIOUS]: { diff --git a/src/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx b/src/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx index 9221bd96..f957677d 100644 --- a/src/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx +++ b/src/features/reader/settings/behaviour/components/ReaderSettingScrollAmount.tsx @@ -8,9 +8,9 @@ import { useTranslation } from 'react-i18next'; 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 { ValueToDisplayData } from '@/base/Base.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.tsx'; import { DEFAULT_READER_SETTINGS, SCROLL_AMOUNT } from '@/features/reader/settings/ReaderSettings.constants.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { diff --git a/src/features/reader/settings/components/DefaultSettingFootnote.tsx b/src/features/reader/settings/components/DefaultSettingFootnote.tsx index cf946d80..958b6f7a 100644 --- a/src/features/reader/settings/components/DefaultSettingFootnote.tsx +++ b/src/features/reader/settings/components/DefaultSettingFootnote.tsx @@ -9,7 +9,7 @@ import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import { useTranslation } from 'react-i18next'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; export const DefaultSettingFootnote = ({ areDefaultSettings }: { areDefaultSettings?: boolean }) => { const { t } = useTranslation(); diff --git a/src/features/reader/settings/components/ReaderSettingsTabs.tsx b/src/features/reader/settings/components/ReaderSettingsTabs.tsx index ccc3e633..68b0f5aa 100644 --- a/src/features/reader/settings/components/ReaderSettingsTabs.tsx +++ b/src/features/reader/settings/components/ReaderSettingsTabs.tsx @@ -9,14 +9,14 @@ import Box from '@mui/material/Box'; import Tab from '@mui/material/Tab'; import { useTranslation } from 'react-i18next'; -import { TabsMenu } from '@/features/core/components/tabs/TabsMenu.tsx'; +import { TabsMenu } from '@/base/components/tabs/TabsMenu.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { IReaderSettings, IReaderSettingsWithDefaultFlag } from '@/features/reader/Reader.types.ts'; import { useReaderTapZoneContext } from '@/features/reader/tap-zones/ReaderTapZoneContext.tsx'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { READER_SETTING_TABS, ReaderSettingTab } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { TabPanel } from '@/features/core/components/tabs/TabPanel.tsx'; +import { TabPanel } from '@/base/components/tabs/TabPanel.tsx'; 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'; @@ -24,7 +24,7 @@ import { ReaderBehaviourSettings } from '@/features/reader/settings/behaviour/Re 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'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; const BaseReaderSettingsTabs = ({ activeTab, diff --git a/src/features/reader/settings/general/ReaderGeneralSettings.tsx b/src/features/reader/settings/general/ReaderGeneralSettings.tsx index 389f5e54..724a56b6 100644 --- a/src/features/reader/settings/general/ReaderGeneralSettings.tsx +++ b/src/features/reader/settings/general/ReaderGeneralSettings.tsx @@ -18,7 +18,7 @@ import { ReaderSettingsTypeProps, } 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 { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { ReaderSettingBackgroundColor } from '@/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx'; export const ReaderGeneralSettings = ({ diff --git a/src/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx b/src/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx index 8373dfb8..d1c240f3 100644 --- a/src/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx +++ b/src/features/reader/settings/general/components/ReaderSettingBackgroundColor.tsx @@ -7,8 +7,8 @@ */ import { useTranslation } from 'react-i18next'; -import { ValueToDisplayData } from '@/features/core/Core.types.ts'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; +import { ValueToDisplayData } from '@/base/Base.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; import { IReaderSettingsWithDefaultFlag, ReaderBackgroundColor } from '@/features/reader/Reader.types.ts'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { diff --git a/src/features/reader/settings/layout/components/ReaderSettingPageGap.tsx b/src/features/reader/settings/layout/components/ReaderSettingPageGap.tsx index 79870e45..23d4a9ab 100644 --- a/src/features/reader/settings/layout/components/ReaderSettingPageGap.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingPageGap.tsx @@ -8,10 +8,10 @@ import { useTranslation } from 'react-i18next'; import { IReaderSettings, IReaderSettingsWithDefaultFlag, ReadingMode } from '@/features/reader/Reader.types.ts'; -import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.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'; +import { MultiValueButtonDefaultableProps } from '@/base/Base.types.ts'; export const ReaderSettingPageGap = ({ pageGap, diff --git a/src/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx b/src/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx index 51f9e341..d1210413 100644 --- a/src/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingPageScaleMode.tsx @@ -12,8 +12,8 @@ import { PAGE_SCALE_VALUE_TO_DISPLAY_DATA, READER_PAGE_SCALE_MODE_VALUES, } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; -import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; +import { MultiValueButtonDefaultableProps } from '@/base/Base.types.ts'; export const ReaderSettingPageScaleMode = ({ pageScaleMode, diff --git a/src/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx b/src/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx index 6cd6ef34..1d693683 100644 --- a/src/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingReadingDirection.tsx @@ -10,8 +10,8 @@ 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/Reader.types.ts'; -import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/features/core/Core.types.ts'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; +import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/base/Base.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [ReadingDirection.LTR]: { diff --git a/src/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx b/src/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx index 4790de47..bc4945d7 100644 --- a/src/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingReadingMode.tsx @@ -12,8 +12,8 @@ import { READING_MODE_VALUE_TO_DISPLAY_DATA, READING_MODE_VALUES, } from '@/features/reader/settings/ReaderSettings.constants.tsx'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; -import { MultiValueButtonDefaultableProps } from '@/features/core/Core.types.ts'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; +import { MultiValueButtonDefaultableProps } from '@/base/Base.types.ts'; export const ReaderSettingReadingMode = ({ readingMode, diff --git a/src/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx b/src/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx index 69ae56bb..428d003f 100644 --- a/src/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingTapZoneInvertMode.tsx @@ -7,10 +7,10 @@ */ import { useTranslation } from 'react-i18next'; -import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/features/core/Core.types.ts'; +import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/base/Base.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'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; enum TapZonesInvertOption { NONE, diff --git a/src/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx b/src/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx index beecaef3..49a7238e 100644 --- a/src/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingTapZoneLayout.tsx @@ -8,9 +8,9 @@ import { useTranslation } from 'react-i18next'; import { TapZoneLayouts } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; -import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/features/core/Core.types.ts'; +import { MultiValueButtonDefaultableProps, ValueToDisplayData } from '@/base/Base.types.ts'; import { IReaderSettingsWithDefaultFlag, ReadingDirection } from '@/features/reader/Reader.types.ts'; -import { ButtonSelectInput } from '@/features/core/components/inputs/ButtonSelectInput.tsx'; +import { ButtonSelectInput } from '@/base/components/inputs/ButtonSelectInput.tsx'; const VALUE_TO_DISPLAY_DATA: ValueToDisplayData = { [TapZoneLayouts.EDGE]: { diff --git a/src/features/reader/settings/layout/components/ReaderSettingWidth.tsx b/src/features/reader/settings/layout/components/ReaderSettingWidth.tsx index 7808d8b8..65befb81 100644 --- a/src/features/reader/settings/layout/components/ReaderSettingWidth.tsx +++ b/src/features/reader/settings/layout/components/ReaderSettingWidth.tsx @@ -9,13 +9,13 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; -import { SliderInput } from '@/features/core/components/inputs/SliderInput.tsx'; +import { SliderInput } from '@/base/components/inputs/SliderInput.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'; +import { MultiValueButtonDefaultableProps } from '@/base/Base.types.ts'; +import { ResetButton } from '@/base/components/buttons/ResetButton.tsx'; export const ReaderSettingWidth = ({ readerWidth, diff --git a/src/features/reader/settings/screens/GlobalReaderSettings.tsx b/src/features/reader/settings/screens/GlobalReaderSettings.tsx index 0d4f0d14..69e75cbd 100644 --- a/src/features/reader/settings/screens/GlobalReaderSettings.tsx +++ b/src/features/reader/settings/screens/GlobalReaderSettings.tsx @@ -9,8 +9,8 @@ import { useTranslation } from 'react-i18next'; import { useState } from 'react'; 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 { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { IReaderSettings, ReadingMode } from '@/features/reader/Reader.types.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; diff --git a/src/features/reader/settings/screens/ReaderSettings.tsx b/src/features/reader/settings/screens/ReaderSettings.tsx index cbff903f..59bebf06 100644 --- a/src/features/reader/settings/screens/ReaderSettings.tsx +++ b/src/features/reader/settings/screens/ReaderSettings.tsx @@ -15,7 +15,7 @@ import { ReaderService } from '@/features/reader/services/ReaderService.ts'; 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'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; export const ReaderSettings = ({ isOpen, close }: { isOpen: boolean; close: () => void }) => { const { manga } = useReaderStateMangaContext(); diff --git a/src/features/reader/tap-zones/ReaderTapZone.constants.ts b/src/features/reader/tap-zones/ReaderTapZone.constants.ts index 9410dd55..92aa6c73 100644 --- a/src/features/reader/tap-zones/ReaderTapZone.constants.ts +++ b/src/features/reader/tap-zones/ReaderTapZone.constants.ts @@ -7,7 +7,8 @@ */ import { TapZoneLayouts, TapZoneRegion, TapZoneRegionType } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; -import { TranslationKey } from '@/Base.types.ts'; + +import { TranslationKey } from '@/base/Base.types.ts'; export const READER_TAP_ZONE_LAYOUTS: Record = { /** diff --git a/src/features/reader/tap-zones/TapZoneLayout.tsx b/src/features/reader/tap-zones/TapZoneLayout.tsx index 1e0ea686..0c8c5b1a 100644 --- a/src/features/reader/tap-zones/TapZoneLayout.tsx +++ b/src/features/reader/tap-zones/TapZoneLayout.tsx @@ -12,10 +12,10 @@ import { useTheme } from '@mui/material/styles'; import { useReaderTapZoneContext } from '@/features/reader/tap-zones/ReaderTapZoneContext.tsx'; import { ReaderTapZoneService } from '@/features/reader/tap-zones/ReaderTapZoneService.ts'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { IReaderSettings, ReadingDirection } from '@/features/reader/Reader.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; diff --git a/src/features/reader/viewer/ReaderChapterViewer.tsx b/src/features/reader/viewer/ReaderChapterViewer.tsx index ed8134ce..8058c3da 100644 --- a/src/features/reader/viewer/ReaderChapterViewer.tsx +++ b/src/features/reader/viewer/ReaderChapterViewer.tsx @@ -33,16 +33,16 @@ import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderP 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 { applyStyles } from '@/base/utils/ApplyStyles.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/viewer/hooks/useReaderSetPagesState.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { getErrorMessage, noOp } from '@/lib/HelperFunctions.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { ReaderInfiniteScrollUpdateChapter } from '@/features/reader/infinite-scroll/ReaderInfiniteScrollUpdateChapter.tsx'; -import { useResizeObserver } from '@/features/core/hooks/useResizeObserver.tsx'; +import { useResizeObserver } from '@/base/hooks/useResizeObserver.tsx'; import { ChapterIdInfo } from '@/features/chapter/Chapter.types.ts'; const BaseReaderChapterViewer = ({ diff --git a/src/features/reader/viewer/ReaderViewer.tsx b/src/features/reader/viewer/ReaderViewer.tsx index b88777ce..b9ce248c 100644 --- a/src/features/reader/viewer/ReaderViewer.tsx +++ b/src/features/reader/viewer/ReaderViewer.tsx @@ -34,19 +34,19 @@ import { } 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'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; import { isContinuousReadingMode, isContinuousVerticalReadingMode, shouldApplyReaderWidth, } from '@/features/reader/settings/ReaderSettings.utils.tsx'; -import { useMouseDragScroll } from '@/features/core/hooks/useMouseDragScroll.tsx'; +import { useMouseDragScroll } from '@/base/hooks/useMouseDragScroll.tsx'; import { useReaderOverlayContext } from '@/features/reader/overlay/ReaderOverlayContext.tsx'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.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 { withPropsFrom } from '@/base/hoc/withPropsFrom.tsx'; import { useReaderAutoScrollContext } from '@/features/reader/auto-scroll/ReaderAutoScrollContext.tsx'; import { TReaderTapZoneContext } from '@/features/reader/tap-zones/TapZoneLayout.types.ts'; import { useReaderTapZoneContext } from '@/features/reader/tap-zones/ReaderTapZoneContext.tsx'; diff --git a/src/features/reader/viewer/components/ReaderPage.tsx b/src/features/reader/viewer/components/ReaderPage.tsx index 655c2c69..12e845c9 100644 --- a/src/features/reader/viewer/components/ReaderPage.tsx +++ b/src/features/reader/viewer/components/ReaderPage.tsx @@ -7,7 +7,7 @@ */ import { memo, useCallback } from 'react'; -import { SpinnerImage, SpinnerImageProps } from '@/features/core/components/SpinnerImage.tsx'; +import { SpinnerImage, SpinnerImageProps } from '@/base/components/SpinnerImage.tsx'; import { IReaderSettings, ReaderCustomFilter, @@ -19,8 +19,8 @@ import { getImagePlaceholderStyling, getReaderImageStyling, } 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 { applyStyles } from '@/base/utils/ApplyStyles.ts'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; const getCustomFilterString = (customFilter: ReaderCustomFilter): string => diff --git a/src/features/reader/viewer/components/ReaderTransitionPage.tsx b/src/features/reader/viewer/components/ReaderTransitionPage.tsx index 87d38b06..173cd02f 100644 --- a/src/features/reader/viewer/components/ReaderTransitionPage.tsx +++ b/src/features/reader/viewer/components/ReaderTransitionPage.tsx @@ -23,16 +23,16 @@ import { TReaderStateMangaContext, } 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 { useBackButton } from '@/base/hooks/useBackButton.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { isContinuousReadingMode, isContinuousVerticalReadingMode, } from '@/features/reader/settings/ReaderSettings.utils.tsx'; import { useNavBarContext } from '@/features/navigation-bar/NavbarContext.tsx'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; -import { withPropsFrom } from '@/features/core/hoc/withPropsFrom.tsx'; +import { withPropsFrom } from '@/base/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/settings/ReaderSettings.constants.tsx'; diff --git a/src/features/reader/viewer/hooks/useReaderHandlePageSelection.ts b/src/features/reader/viewer/hooks/useReaderHandlePageSelection.ts index b0eed125..62c96e80 100644 --- a/src/features/reader/viewer/hooks/useReaderHandlePageSelection.ts +++ b/src/features/reader/viewer/hooks/useReaderHandlePageSelection.ts @@ -10,10 +10,10 @@ import { MutableRefObject, useLayoutEffect } from 'react'; import { Direction } from '@mui/material/styles'; 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/viewer/pager/ReaderPager.utils.tsx'; import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; +import { DirectionOffset } from '@/base/Base.types.ts'; export const useReaderHandlePageSelection = ( pageToScrollToIndex: ReaderStatePages['pageToScrollToIndex'], diff --git a/src/features/reader/viewer/pager/ReaderPager.utils.tsx b/src/features/reader/viewer/pager/ReaderPager.utils.tsx index 8eac32fc..f60d48dc 100644 --- a/src/features/reader/viewer/pager/ReaderPager.utils.tsx +++ b/src/features/reader/viewer/pager/ReaderPager.utils.tsx @@ -18,7 +18,7 @@ import { ReadingMode, TReaderScrollbarContext, } from '@/features/reader/Reader.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { getSetReaderWidth, isContinuousReadingMode, @@ -28,13 +28,13 @@ import { import { ReaderStatePages } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.types.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { ReaderPage } from '@/features/reader/viewer/components/ReaderPage.tsx'; -import { reverseString } from '@/util/Strings.ts'; +import { reverseString } from '@/base/utils/Strings.ts'; 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/settings/ReaderSettings.constants.tsx'; import { coerceIn } from '@/lib/HelperFunctions.ts'; import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts'; +import { DirectionOffset } from '@/base/Base.types.ts'; type CSSObject = ReturnType; diff --git a/src/features/reader/viewer/pager/components/BasePager.tsx b/src/features/reader/viewer/pager/components/BasePager.tsx index a68c0e0e..6af3d404 100644 --- a/src/features/reader/viewer/pager/components/BasePager.tsx +++ b/src/features/reader/viewer/pager/components/BasePager.tsx @@ -16,7 +16,7 @@ import { ReaderResumeMode, ReaderTransitionPageMode, } from '@/features/reader/Reader.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { isContinuousReadingMode } from '@/features/reader/settings/ReaderSettings.utils.tsx'; const getPreviousCurrentPageIndex = (resumeMode: ReaderResumeMode): number => diff --git a/src/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx b/src/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx index e0a367ac..8e3467ee 100644 --- a/src/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx +++ b/src/features/reader/viewer/pager/components/ReaderDoublePagedPager.tsx @@ -15,7 +15,7 @@ import { ReaderPageScaleMode, ReadingDirection, } from '@/features/reader/Reader.types.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx'; diff --git a/src/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx b/src/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx index e941ac21..99326654 100644 --- a/src/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx +++ b/src/features/reader/viewer/pager/components/ReaderHorizontalPager.tsx @@ -9,7 +9,7 @@ import { useTheme } from '@mui/material/styles'; import { forwardRef, memo } from 'react'; import { BasePager } from '@/features/reader/viewer/pager/components/BasePager.tsx'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { IReaderSettings, ReaderPagerProps, ReadingDirection } from '@/features/reader/Reader.types.ts'; import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx'; diff --git a/src/features/settings/Settings.constants.ts b/src/features/settings/Settings.constants.ts index 76507e9d..aaadf277 100644 --- a/src/features/settings/Settings.constants.ts +++ b/src/features/settings/Settings.constants.ts @@ -9,15 +9,11 @@ import { DEFAULT_DEVICE } from '@/features/device/services/Device.ts'; import { DEFAULT_SORT_SETTINGS } from '@/features/migration/Migration.constants.ts'; import { GlobalUpdateSkipEntriesSettings, MetadataServerSettings } from '@/features/settings/Settings.types.ts'; -import { GridLayout } from '@/features/core/Core.types.ts'; -import { getDefaultLanguages } from '@/features/core/utils/Languages.ts'; +import { GridLayout, TranslationKey } from '@/base/Base.types.ts'; +import { getDefaultLanguages } from '@/base/utils/Languages.ts'; import { ThemeMode } from '@/features/theme/AppThemeContext.tsx'; -import { - SelectSettingValue, - SelectSettingValueDisplayInfo, -} from '@/features/core/components/settings/SelectSetting.tsx'; +import { SelectSettingValue, SelectSettingValueDisplayInfo } from '@/base/components/settings/SelectSetting.tsx'; import { AuthMode, WebUiChannel, WebUiFlavor, WebUiInterface } from '@/lib/graphql/generated/graphql.ts'; -import { TranslationKey } from '@/Base.types.ts'; export const MANGA_GRID_WIDTH = { min: 100, diff --git a/src/features/settings/components/globalUpdate/GlobalUpdateSettings.tsx b/src/features/settings/components/globalUpdate/GlobalUpdateSettings.tsx index 1c6ec1a7..9e53258c 100644 --- a/src/features/settings/components/globalUpdate/GlobalUpdateSettings.tsx +++ b/src/features/settings/components/globalUpdate/GlobalUpdateSettings.tsx @@ -19,7 +19,7 @@ import { import { GlobalUpdateSettingsEntries } from '@/features/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx'; import { GlobalUpdateSettingsInterval } from '@/features/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { LibrarySettingsType, ServerSettings } from '@/features/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx b/src/features/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx index aa12aa66..1e8ad7fb 100644 --- a/src/features/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx +++ b/src/features/settings/components/globalUpdate/GlobalUpdateSettingsEntries.tsx @@ -17,9 +17,9 @@ import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import DialogTitle from '@mui/material/DialogTitle'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { CheckboxContainer } from '@/features/core/components/inputs/CheckboxContainer.ts'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { CheckboxContainer } from '@/base/components/inputs/CheckboxContainer.ts'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { GlobalUpdateSkipEntriesSettings, ServerSettings } from '@/features/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { GLOBAL_UPDATE_SKIP_ENTRIES_TO_TRANSLATION } from '@/features/settings/Settings.constants.ts'; diff --git a/src/features/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx b/src/features/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx index c312637a..d910507e 100644 --- a/src/features/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx +++ b/src/features/settings/components/globalUpdate/GlobalUpdateSettingsInterval.tsx @@ -13,8 +13,8 @@ import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import { useCallback } from 'react'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { getPersistedServerSetting, usePersistedValue } from '@/features/core/hooks/usePersistedValue.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { getPersistedServerSetting, usePersistedValue } from '@/base/hooks/usePersistedValue.tsx'; import { ServerSettings } from '@/features/settings/Settings.types.ts'; import { GLOBAL_UPDATE_INTERVAL } from '@/features/settings/Settings.constants.ts'; diff --git a/src/features/settings/components/webUI/WebUIUpdateIntervalSetting.tsx b/src/features/settings/components/webUI/WebUIUpdateIntervalSetting.tsx index 140fb422..d7ff0f69 100644 --- a/src/features/settings/components/webUI/WebUIUpdateIntervalSetting.tsx +++ b/src/features/settings/components/webUI/WebUIUpdateIntervalSetting.tsx @@ -13,9 +13,9 @@ import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import { useCallback } from 'react'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { getPersistedServerSetting, usePersistedValue } from '@/features/core/hooks/usePersistedValue.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { getPersistedServerSetting, usePersistedValue } from '@/base/hooks/usePersistedValue.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { ServerSettings } from '@/features/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { WEB_UI_UPDATE_INTERVAL } from '@/features/settings/Settings.constants.ts'; diff --git a/src/features/settings/screens/About.tsx b/src/features/settings/screens/About.tsx index 58e1f314..292c5dbc 100644 --- a/src/features/settings/screens/About.tsx +++ b/src/features/settings/screens/About.tsx @@ -13,14 +13,14 @@ import { useTranslation } from 'react-i18next'; import ListSubheader from '@mui/material/ListSubheader'; import Divider from '@mui/material/Divider'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { ListItemLink } from '@/features/core/components/lists/ListItemLink.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { ListItemLink } from '@/base/components/lists/ListItemLink.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { UpdateState } from '@/lib/graphql/generated/graphql.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { VersionInfo } from '@/features/app-updates/components/VersionInfo.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { epochToDate } from '@/util/DateHelper.ts'; +import { epochToDate } from '@/base/utils/DateHelper.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; export function About() { diff --git a/src/features/settings/screens/Appearance.tsx b/src/features/settings/screens/Appearance.tsx index f4393af3..f7378561 100644 --- a/src/features/settings/screens/Appearance.tsx +++ b/src/features/settings/screens/Appearance.tsx @@ -16,20 +16,20 @@ import Switch from '@mui/material/Switch'; import Link from '@mui/material/Link'; import { useColorScheme } from '@mui/material/styles'; import { ThemeMode, useAppThemeContext } from '@/features/theme/AppThemeContext.tsx'; -import { Select } from '@/features/core/components/inputs/Select.tsx'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; +import { Select } from '@/base/components/inputs/Select.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; import { I18nResourceCode, i18nResources } from '@/i18n'; -import { languageCodeToName } from '@/features/core/utils/Languages.ts'; +import { languageCodeToName } from '@/base/utils/Languages.ts'; import { ThemeList } from '@/features/theme/components/ThemeList.tsx'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { MetadataThemeSettings } from '@/features/theme/AppTheme.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { AppStorage } from '@/lib/storage/AppStorage.ts'; diff --git a/src/features/settings/screens/More.tsx b/src/features/settings/screens/More.tsx index 4e0056b6..18b31a3f 100644 --- a/src/features/settings/screens/More.tsx +++ b/src/features/settings/screens/More.tsx @@ -13,10 +13,10 @@ import ListItemIcon from '@mui/material/ListItemIcon'; import ListItemText from '@mui/material/ListItemText'; import ListAltIcon from '@mui/icons-material/ListAlt'; import Divider from '@mui/material/Divider'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; -import { ListItemLink } from '@/features/core/components/lists/ListItemLink.tsx'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; +import { ListItemLink } from '@/base/components/lists/ListItemLink.tsx'; import { NAVIGATION_BAR_ITEMS } from '@/features/navigation-bar/NavigationBar.constants.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { NavigationBarUtil } from '@/features/navigation-bar/NavigationBar.util.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { NavbarItem, NavBarItemMoreGroup } from '@/features/navigation-bar/NavigationBar.types.ts'; diff --git a/src/features/settings/screens/ServerSettings.tsx b/src/features/settings/screens/ServerSettings.tsx index bb974cc8..19f96c1b 100644 --- a/src/features/settings/screens/ServerSettings.tsx +++ b/src/features/settings/screens/ServerSettings.tsx @@ -16,18 +16,18 @@ import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; import { t as translate } from 'i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; -import { TextSetting } from '@/features/core/components/settings/text/TextSetting.tsx'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { SelectSetting } from '@/features/core/components/settings/SelectSetting.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; +import { TextSetting } from '@/base/components/settings/text/TextSetting.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { SelectSetting } from '@/base/components/settings/SelectSetting.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { MetadataUpdateSettings } from '@/features/app-updates/AppUpdateChecker.types.ts'; import { ServerSettings as GqlServerSettings, ServerSettingsType } from '@/features/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/settings/screens/Settings.tsx b/src/features/settings/screens/Settings.tsx index 7470807e..539ebd0c 100644 --- a/src/features/settings/screens/Settings.tsx +++ b/src/features/settings/screens/Settings.tsx @@ -23,10 +23,10 @@ import DevicesIcon from '@mui/icons-material/Devices'; import SyncIcon from '@mui/icons-material/Sync'; import PaletteIcon from '@mui/icons-material/Palette'; import HistoryIcon from '@mui/icons-material/History'; -import { ListItemLink } from '@/features/core/components/lists/ListItemLink.tsx'; +import { ListItemLink } from '@/base/components/lists/ListItemLink.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; diff --git a/src/features/settings/screens/WebUISettings.tsx b/src/features/settings/screens/WebUISettings.tsx index b7e9d2fa..967c8fde 100644 --- a/src/features/settings/screens/WebUISettings.tsx +++ b/src/features/settings/screens/WebUISettings.tsx @@ -13,17 +13,17 @@ import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { WebUIUpdateIntervalSetting } from '@/features/settings/components/webUI/WebUIUpdateIntervalSetting.tsx'; -import { TextSetting } from '@/features/core/components/settings/text/TextSetting.tsx'; -import { SelectSetting } from '@/features/core/components/settings/SelectSetting.tsx'; +import { TextSetting } from '@/base/components/settings/text/TextSetting.tsx'; +import { SelectSetting } from '@/base/components/settings/SelectSetting.tsx'; import { WebUiChannel, WebUiFlavor, WebUiInterface } from '@/lib/graphql/generated/graphql.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { MetadataUpdateSettings } from '@/features/app-updates/AppUpdateChecker.types.ts'; import { ServerSettings, WebUISettingsType } from '@/features/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/source/components/SourceCard.tsx b/src/features/source/components/SourceCard.tsx index 83897623..e35b9d44 100644 --- a/src/features/source/components/SourceCard.tsx +++ b/src/features/source/components/SourceCard.tsx @@ -20,16 +20,16 @@ import IconButton from '@mui/material/IconButton'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { SourceContentType } from '@/features/source/screens/SourceMangas.tsx'; import { GetSourcesListQuery } from '@/lib/graphql/generated/graphql.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; import { Sources } from '@/features/source/services/Sources.ts'; -import { ListCardAvatar } from '@/features/core/components/lists/cards/ListCardAvatar.tsx'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { ListCardAvatar } from '@/base/components/lists/cards/ListCardAvatar.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { createUpdateSourceMetadata, useGetSourceMetadata } from '@/features/source/services/SourceMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { languageCodeToName } from '@/features/core/utils/Languages.ts'; +import { languageCodeToName } from '@/base/utils/Languages.ts'; interface IProps { source: GetSourcesListQuery['sources']['nodes'][number]; diff --git a/src/features/source/components/SourceGridLayout.tsx b/src/features/source/components/SourceGridLayout.tsx index 256c0761..56f95f2b 100644 --- a/src/features/source/components/SourceGridLayout.tsx +++ b/src/features/source/components/SourceGridLayout.tsx @@ -6,9 +6,9 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { GridLayouts } from '@/features/core/components/GridLayouts.tsx'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; -import { GridLayout } from '@/features/core/Core.types.ts'; +import { GridLayouts } from '@/base/components/GridLayouts.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; +import { GridLayout } from '@/base/Base.types.ts'; export function SourceGridLayout() { const [sourceGridLayout, setSourceGridLayout] = useLocalStorage('source-grid-layout', GridLayout.Compact); diff --git a/src/features/source/components/SourceLanguageSelect.tsx b/src/features/source/components/SourceLanguageSelect.tsx index a453595a..3f223701 100644 --- a/src/features/source/components/SourceLanguageSelect.tsx +++ b/src/features/source/components/SourceLanguageSelect.tsx @@ -21,9 +21,9 @@ import { useTranslation } from 'react-i18next'; import { Virtuoso } from 'react-virtuoso'; import Box from '@mui/material/Box'; import ListItemAvatar from '@mui/material/ListItemAvatar'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { translateExtensionLanguage } from '@/features/extension/Extensions.utils.ts'; -import { languageSortComparator, toUniqueLanguageCodes } from '@/features/core/utils/Languages.ts'; +import { languageSortComparator, toUniqueLanguageCodes } from '@/base/utils/Languages.ts'; import { SourceDisplayNameInfo, SourceIconInfo, @@ -35,8 +35,8 @@ import { import { Sources } from '@/features/source/services/Sources'; import { getSourceMetadata, updateSourceMetadata } from '@/features/source/services/SourceMetadata.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { ListCardAvatar } from '@/features/core/components/lists/cards/ListCardAvatar.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { ListCardAvatar } from '@/base/components/lists/cards/ListCardAvatar.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; export const SourceLanguageSelect = ({ diff --git a/src/features/source/components/SourceOptions.tsx b/src/features/source/components/SourceOptions.tsx index e5d962a6..64a9cf7e 100644 --- a/src/features/source/components/SourceOptions.tsx +++ b/src/features/source/components/SourceOptions.tsx @@ -23,8 +23,8 @@ import DialogTitle from '@mui/material/DialogTitle'; import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import TextField from '@mui/material/TextField'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { OptionsPanel } from '@/features/core/components/modals/OptionsPanel.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { OptionsPanel } from '@/base/components/modals/OptionsPanel.tsx'; import { CheckBoxFilter } from '@/features/source/components/filters/CheckBoxFilter.tsx'; import { HeaderFilter } from '@/features/source/components/filters/HeaderFilter.tsx'; import { SelectFilter } from '@/features/source/components/filters/SelectFilter.tsx'; @@ -35,8 +35,8 @@ import { TriStateFilter } from '@/features/source/components/filters/TriStateFil // eslint-disable-next-line import/no-cycle import { GroupFilter } from '@/features/source/components/filters/GroupFilter.tsx'; import { SeparatorFilter } from '@/features/source/components/filters/SeparatorFilter.tsx'; -import { StyledFab } from '@/features/core/components/buttons/StyledFab.tsx'; -import { awaitConfirmation } from '@/features/core/utils/AwaitableDialog.tsx'; +import { StyledFab } from '@/base/components/buttons/StyledFab.tsx'; +import { awaitConfirmation } from '@/base/utils/AwaitableDialog.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { ISourceMetadata, SourceFilters } from '@/features/source/Source.types.ts'; diff --git a/src/features/source/components/filters/CheckBoxFilter.tsx b/src/features/source/components/filters/CheckBoxFilter.tsx index 14862811..2bf6dd4c 100644 --- a/src/features/source/components/filters/CheckBoxFilter.tsx +++ b/src/features/source/components/filters/CheckBoxFilter.tsx @@ -7,7 +7,7 @@ */ import React from 'react'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; interface Props { state: boolean; diff --git a/src/features/source/components/filters/SortFilter.tsx b/src/features/source/components/filters/SortFilter.tsx index 1e58e4aa..38753de1 100644 --- a/src/features/source/components/filters/SortFilter.tsx +++ b/src/features/source/components/filters/SortFilter.tsx @@ -14,7 +14,7 @@ import ListItemText from '@mui/material/ListItemText'; import Stack from '@mui/material/Stack'; import Box from '@mui/material/Box'; import React from 'react'; -import { SortRadioInput } from '@/features/core/components/inputs/SortRadioInput.tsx'; +import { SortRadioInput } from '@/base/components/inputs/SortRadioInput.tsx'; import { SortSelectionInput } from '@/lib/graphql/generated/graphql.ts'; interface Props { diff --git a/src/features/source/components/filters/TextFilter.tsx b/src/features/source/components/filters/TextFilter.tsx index 2f960bba..4030eba1 100644 --- a/src/features/source/components/filters/TextFilter.tsx +++ b/src/features/source/components/filters/TextFilter.tsx @@ -12,7 +12,7 @@ import Input from '@mui/material/Input'; import InputAdornment from '@mui/material/InputAdornment'; import InputLabel from '@mui/material/InputLabel'; import React, { useEffect } from 'react'; -import { useDebounce } from '@/features/core/hooks/useDebounce.ts'; +import { useDebounce } from '@/base/hooks/useDebounce.ts'; interface Props { state: string; diff --git a/src/features/source/components/filters/TriStateFilter.tsx b/src/features/source/components/filters/TriStateFilter.tsx index 2572bd82..34ea8107 100644 --- a/src/features/source/components/filters/TriStateFilter.tsx +++ b/src/features/source/components/filters/TriStateFilter.tsx @@ -7,7 +7,7 @@ */ import React from 'react'; -import { ThreeStateCheckboxInput } from '@/features/core/components/inputs/ThreeStateCheckboxInput.tsx'; +import { ThreeStateCheckboxInput } from '@/base/components/inputs/ThreeStateCheckboxInput.tsx'; import { TriState } from '@/lib/graphql/generated/graphql.ts'; interface Props { diff --git a/src/features/source/components/sourceConfiguration/MultiSelectListPreference.tsx b/src/features/source/components/sourceConfiguration/MultiSelectListPreference.tsx index 5c404fd9..8e9af3a5 100644 --- a/src/features/source/components/sourceConfiguration/MultiSelectListPreference.tsx +++ b/src/features/source/components/sourceConfiguration/MultiSelectListPreference.tsx @@ -18,7 +18,7 @@ import FormControlLabel from '@mui/material/FormControlLabel'; import Button from '@mui/material/Button'; import { useTranslation } from 'react-i18next'; import ListItemButton from '@mui/material/ListItemButton'; -import { cloneObject } from '@/util/cloneObject.tsx'; +import { cloneObject } from '@/base/utils/cloneObject.tsx'; import { MultiSelectListPreferenceProps } from '@/features/source/Source.types.ts'; interface IListDialogProps { diff --git a/src/features/source/screens/SourceConfigure.tsx b/src/features/source/screens/SourceConfigure.tsx index f7cb1486..513aac90 100644 --- a/src/features/source/screens/SourceConfigure.tsx +++ b/src/features/source/screens/SourceConfigure.tsx @@ -11,7 +11,7 @@ import { useParams } from 'react-router-dom'; import List from '@mui/material/List'; import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { cloneObject } from '@/util/cloneObject.tsx'; +import { cloneObject } from '@/base/utils/cloneObject.tsx'; import { SwitchPreferenceCompat, CheckBoxPreference, @@ -19,12 +19,12 @@ import { import { ListPreference } from '@/features/source/components/sourceConfiguration/ListPreference.tsx'; import { EditTextPreference } from '@/features/source/components/sourceConfiguration/EditTextPreference.tsx'; import { MultiSelectListPreference } from '@/features/source/components/sourceConfiguration/MultiSelectListPreference.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GetCategoriesSettingsQueryVariables, GetSourceSettingsQuery } from '@/lib/graphql/generated/graphql.ts'; import { GET_SOURCE_SETTINGS } from '@/lib/graphql/queries/SourceQuery.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { PreferenceProps } from '@/features/source/Source.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts'; diff --git a/src/features/source/screens/SourceMangas.tsx b/src/features/source/screens/SourceMangas.tsx index f31bb62e..923ccc4a 100644 --- a/src/features/source/screens/SourceMangas.tsx +++ b/src/features/source/screens/SourceMangas.tsx @@ -19,14 +19,14 @@ import { styled } from '@mui/material/styles'; import FavoriteIcon from '@mui/icons-material/Favorite'; import NewReleasesIcon from '@mui/icons-material/NewReleases'; import FilterListIcon from '@mui/icons-material/FilterList'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager, AbortableApolloUseMutationPaginatedResponse, SPECIAL_ED_SOURCES, } from '@/lib/requests/RequestManager.ts'; import { SourceGridLayout } from '@/features/source/components/SourceGridLayout.tsx'; -import { AppbarSearch } from '@/features/core/components/AppbarSearch.tsx'; +import { AppbarSearch } from '@/base/components/AppbarSearch.tsx'; import { SourceOptions } from '@/features/source/components/SourceOptions.tsx'; import { BaseMangaGrid } from '@/features/manga/components/BaseMangaGrid.tsx'; import { @@ -39,19 +39,18 @@ import { updateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { useLocalStorage, useSessionStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage, useSessionStorage } from '@/base/hooks/useStorage.tsx'; import { MANGA_GRID_SNAPSHOT_KEY } from '@/features/manga/components/MangaGrid.tsx'; import { createUpdateSourceMetadata, useGetSourceMetadata } from '@/features/source/services/SourceMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { GET_SOURCE_BROWSE } from '@/lib/graphql/queries/SourceQuery.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { IPos, SourceIdInfo } from '@/features/source/Source.types.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { EmptyView } from '@/features/core/components/feedback/EmptyView.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyView } from '@/base/components/feedback/EmptyView.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; -import { GridLayout, SearchParam } from '@/features/core/Core.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { GridLayout, SearchParam, TranslationKey } from '@/base/Base.types.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { Sources } from '@/features/source/services/Sources.ts'; import { useAppTitleAndAction } from '@/features/navigation-bar/hooks/useAppTitleAndAction.ts'; diff --git a/src/features/source/screens/Sources.tsx b/src/features/source/screens/Sources.tsx index 2516eff2..95cd3f46 100644 --- a/src/features/source/screens/Sources.tsx +++ b/src/features/source/screens/Sources.tsx @@ -12,23 +12,23 @@ import TravelExploreIcon from '@mui/icons-material/TravelExplore'; import { useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import Typography from '@mui/material/Typography'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { DefaultLanguage } from '@/features/core/utils/Languages.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { DefaultLanguage } from '@/base/utils/Languages.ts'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { SourceCard } from '@/features/source/components/SourceCard.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { isPinnedOrLastUsedSource, translateExtensionLanguage } from '@/features/extension/Extensions.utils.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { Sources as SourceService } from '@/features/source/services/Sources.ts'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { useAppAction } from '@/features/navigation-bar/hooks/useAppAction.ts'; -import { StyledGroupedVirtuoso } from '@/features/core/components/virtuoso/StyledGroupedVirtuoso.tsx'; +import { StyledGroupedVirtuoso } from '@/base/components/virtuoso/StyledGroupedVirtuoso.tsx'; import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; -import { StyledGroupHeader } from '@/features/core/components/virtuoso/StyledGroupHeader.tsx'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { StyledGroupHeader } from '@/base/components/virtuoso/StyledGroupHeader.tsx'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; import { SourceLanguageSelect } from '@/features/source/components/SourceLanguageSelect.tsx'; export function Sources({ tabsMenuHeight }: { tabsMenuHeight: number }) { diff --git a/src/features/source/services/Sources.ts b/src/features/source/services/Sources.ts index 3643f3a8..e57a817a 100644 --- a/src/features/source/services/Sources.ts +++ b/src/features/source/services/Sources.ts @@ -22,13 +22,13 @@ import { toComparableLanguage, toComparableLanguages, toUniqueLanguageCodes, -} from '@/features/core/utils/Languages.ts'; +} from '@/base/utils/Languages.ts'; import { getSourceMetadata } from '@/features/source/services/SourceMetadata.ts'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; export class Sources { diff --git a/src/features/theme/AppThemeContext.tsx b/src/features/theme/AppThemeContext.tsx index bfcd0c7e..c2b651af 100644 --- a/src/features/theme/AppThemeContext.tsx +++ b/src/features/theme/AppThemeContext.tsx @@ -17,10 +17,10 @@ import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; import { MUI_THEME_MODE_KEY } from '@/lib/mui/MUI.constants.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { createAndSetTheme } from '@/features/theme/services/ThemeCreator.ts'; import { AppStorage } from '@/lib/storage/AppStorage.ts'; diff --git a/src/features/theme/components/CreateThemeButton.tsx b/src/features/theme/components/CreateThemeButton.tsx index b1db9c5e..57b65477 100644 --- a/src/features/theme/components/CreateThemeButton.tsx +++ b/src/features/theme/components/CreateThemeButton.tsx @@ -11,9 +11,9 @@ import Stack from '@mui/material/Stack'; import Button from '@mui/material/Button'; import AddCircleIcon from '@mui/icons-material/AddCircle'; import { bindDialog, bindTrigger, usePopupState } from 'material-ui-popup-state/hooks'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { ThemeCreationDialog } from '@/features/theme/components/CreateThemeDialog.tsx'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; export const CreateThemeButton = () => { const { t } = useTranslation(); diff --git a/src/features/theme/components/CreateThemeDialog.tsx b/src/features/theme/components/CreateThemeDialog.tsx index 7cfa0469..8fad91b2 100644 --- a/src/features/theme/components/CreateThemeDialog.tsx +++ b/src/features/theme/components/CreateThemeDialog.tsx @@ -25,12 +25,12 @@ import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { EmptyView } from '@/features/core/components/feedback/EmptyView.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { EmptyView } from '@/base/components/feedback/EmptyView.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { TranslationKey } from '@/Base.types.ts'; import { MetadataThemeSettings } from '@/features/theme/AppTheme.types.ts'; +import { TranslationKey } from '@/base/Base.types.ts'; const baseCustomTheme: AppTheme = { id: '', diff --git a/src/features/theme/components/ThemeList.tsx b/src/features/theme/components/ThemeList.tsx index 9a83a446..2a53760d 100644 --- a/src/features/theme/components/ThemeList.tsx +++ b/src/features/theme/components/ThemeList.tsx @@ -14,9 +14,9 @@ import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { EmptyView } from '@/features/core/components/feedback/EmptyView.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { EmptyView } from '@/base/components/feedback/EmptyView.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { CreateThemeButton } from '@/features/theme/components/CreateThemeButton.tsx'; import { ThemePreview } from '@/features/theme/components/ThemePreview.tsx'; diff --git a/src/features/theme/components/ThemePreview.tsx b/src/features/theme/components/ThemePreview.tsx index 0634b7e5..3a5b1d4c 100644 --- a/src/features/theme/components/ThemePreview.tsx +++ b/src/features/theme/components/ThemePreview.tsx @@ -18,13 +18,13 @@ import DeleteIcon from '@mui/icons-material/Delete'; import IconButton from '@mui/material/IconButton'; import EditIcon from '@mui/icons-material/Edit'; import { bindDialog, usePopupState } from 'material-ui-popup-state/hooks'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { useAppThemeContext } from '@/features/theme/AppThemeContext.tsx'; import { AppTheme, hasMissingFonts, loadThemeFonts } from '@/features/theme/services/AppThemes.ts'; import { createTheme } from '@/features/theme/services/ThemeCreator.ts'; import { ThemeCreationDialog } from '@/features/theme/components/CreateThemeDialog.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; const ThemePreviewBadge = styled(Box)(() => ({ diff --git a/src/features/theme/services/ThemeCreator.ts b/src/features/theme/services/ThemeCreator.ts index 610f04d2..cbb46497 100644 --- a/src/features/theme/services/ThemeCreator.ts +++ b/src/features/theme/services/ThemeCreator.ts @@ -23,10 +23,10 @@ import { deepmerge } from '@mui/utils'; import { PaletteBackgroundChannel } from '@mui/material/styles/createThemeWithVars'; import { Palette } from '@vibrant/color'; import { TAppThemeContext, ThemeMode } from '@/features/theme/AppThemeContext.tsx'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { AppTheme, loadThemeFonts } from '@/features/theme/services/AppThemes.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; const SCROLLBAR_SIZE = 14; diff --git a/src/features/tracker/Tracker.constants.ts b/src/features/tracker/Tracker.constants.ts index 4f00c6bb..a2e2a049 100644 --- a/src/features/tracker/Tracker.constants.ts +++ b/src/features/tracker/Tracker.constants.ts @@ -8,7 +8,8 @@ import { SxProps, Theme } from '@mui/material/styles'; import { PublishingStatus, PublishingType } from '@/features/tracker/Tracker.types.ts'; -import { TranslationKey } from '@/Base.types.ts'; + +import { TranslationKey } from '@/base/Base.types.ts'; export const DIALOG_PADDING: number = 2; diff --git a/src/features/tracker/components/TrackManga.tsx b/src/features/tracker/components/TrackManga.tsx index e04d87df..0e1f7a52 100644 --- a/src/features/tracker/components/TrackManga.tsx +++ b/src/features/tracker/components/TrackManga.tsx @@ -12,18 +12,18 @@ import { useEffect, useMemo, useRef, useState } from 'react'; import DialogContent from '@mui/material/DialogContent'; import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { Trackers } from '@/features/tracker/services/Trackers.ts'; import { TrackerCard, TrackerMode } from '@/features/tracker/components/cards/TrackerCard.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GetMangaTrackRecordsQuery, GetTrackersBindQuery, MangaType } from '@/lib/graphql/generated/graphql.ts'; import { GET_TRACKERS_BIND } from '@/lib/graphql/queries/TrackerQuery.ts'; import { GET_MANGA_TRACK_RECORDS } from '@/lib/graphql/queries/MangaQuery.ts'; import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { EmptyView } from '@/features/core/components/feedback/EmptyView.tsx'; +import { EmptyView } from '@/base/components/feedback/EmptyView.tsx'; const getTrackerMode = (id: number, trackersInUse: number[], searchModeForTracker?: number): TrackerMode => { if (id === searchModeForTracker) { diff --git a/src/features/tracker/components/TrackerSearch.tsx b/src/features/tracker/components/TrackerSearch.tsx index 3fcc37c4..f5e54e81 100644 --- a/src/features/tracker/components/TrackerSearch.tsx +++ b/src/features/tracker/components/TrackerSearch.tsx @@ -23,10 +23,10 @@ import Popover from '@mui/material/Popover'; import Typography from '@mui/material/Typography'; import VisibilityOffIcon from '@mui/icons-material/VisibilityOff'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { SearchTextField } from '@/features/core/components/inputs/SearchTextField.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { SearchTextField } from '@/base/components/inputs/SearchTextField.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { TrackerMangaCard } from '@/features/tracker/components/cards/TrackerMangaCard.tsx'; import { DIALOG_PADDING } from '@/features/tracker/Tracker.constants.ts'; import { useGetOptionForDirection } from '@/features/theme/services/ThemeCreator.ts'; @@ -35,10 +35,10 @@ import { MangaType } from '@/lib/graphql/generated/graphql.ts'; import { MangaIdInfo } from '@/features/manga/Manga.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; import { Tracker, TrackerIdInfo, TTrackerBind } from '@/features/tracker/Tracker.types.ts'; -import { CustomButtonIcon } from '@/features/core/components/buttons/CustomButtonIcon.tsx'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomButtonIcon } from '@/base/components/buttons/CustomButtonIcon.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; const TrackButton = ({ mangaId, diff --git a/src/features/tracker/components/cards/SettingsTrackerCard.tsx b/src/features/tracker/components/cards/SettingsTrackerCard.tsx index 8e2da8d7..1fe597d3 100644 --- a/src/features/tracker/components/cards/SettingsTrackerCard.tsx +++ b/src/features/tracker/components/cards/SettingsTrackerCard.tsx @@ -21,12 +21,12 @@ import DialogContent from '@mui/material/DialogContent'; import TextField from '@mui/material/TextField'; import DialogActions from '@mui/material/DialogActions'; import Button from '@mui/material/Button'; -import { PasswordTextField } from '@/features/core/components/inputs/PasswordTextField.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { PasswordTextField } from '@/base/components/inputs/PasswordTextField.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { Trackers } from '@/features/tracker/services/Trackers.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; -import { useLocalStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useLocalStorage } from '@/base/hooks/useStorage.tsx'; import { TTrackerSearch } from '@/features/tracker/Tracker.types.ts'; export const SettingsTrackerCard = ({ tracker }: { tracker: TTrackerSearch }) => { diff --git a/src/features/tracker/components/cards/TrackerActiveCard.tsx b/src/features/tracker/components/cards/TrackerActiveCard.tsx index 3641402b..55983ca6 100644 --- a/src/features/tracker/components/cards/TrackerActiveCard.tsx +++ b/src/features/tracker/components/cards/TrackerActiveCard.tsx @@ -29,18 +29,18 @@ import PopupState, { bindDialog, bindMenu, bindTrigger } from 'material-ui-popup import { useMemo, useState } from 'react'; import Badge from '@mui/material/Badge'; import VisibilityOffIcon from '@mui/icons-material/VisibilityOff'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { Trackers } from '@/features/tracker/services/Trackers.ts'; import { ListPreference } from '@/features/source/components/sourceConfiguration/ListPreference.tsx'; -import { NumberSetting } from '@/features/core/components/settings/NumberSetting.tsx'; -import { DateSetting } from '@/features/core/components/settings/DateSetting.tsx'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { Menu } from '@/features/core/components/menu/Menu.tsx'; +import { NumberSetting } from '@/base/components/settings/NumberSetting.tsx'; +import { DateSetting } from '@/base/components/settings/DateSetting.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { Menu } from '@/base/components/menu/Menu.tsx'; import { CARD_STYLING, UNSET_DATE } from '@/features/tracker/Tracker.constants.ts'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; -import { SelectSetting, SelectSettingValue } from '@/features/core/components/settings/SelectSetting.tsx'; -import { CheckboxInput } from '@/features/core/components/inputs/CheckboxInput.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; +import { SelectSetting, SelectSettingValue } from '@/base/components/settings/SelectSetting.tsx'; +import { CheckboxInput } from '@/base/components/inputs/CheckboxInput.tsx'; import { TrackRecordType } from '@/lib/graphql/generated/graphql.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { TTrackerBind, TTrackRecordBind } from '@/features/tracker/Tracker.types.ts'; diff --git a/src/features/tracker/components/cards/TrackerMangaCard.tsx b/src/features/tracker/components/cards/TrackerMangaCard.tsx index f2afc6cd..17699095 100644 --- a/src/features/tracker/components/cards/TrackerMangaCard.tsx +++ b/src/features/tracker/components/cards/TrackerMangaCard.tsx @@ -19,11 +19,11 @@ import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import { useLayoutEffect, useRef, useState } from 'react'; import CheckCircleIcon from '@mui/icons-material/CheckCircle'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; -import { SpinnerImage } from '@/features/core/components/SpinnerImage.tsx'; -import { TypographyMaxLines } from '@/features/core/components/texts/TypographyMaxLines.tsx'; -import { Metadata } from '@/features/core/components/texts/Metadata.tsx'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; +import { SpinnerImage } from '@/base/components/SpinnerImage.tsx'; +import { TypographyMaxLines } from '@/base/components/texts/TypographyMaxLines.tsx'; +import { Metadata } from '@/base/components/texts/Metadata.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { Trackers } from '@/features/tracker/services/Trackers.ts'; import { MANGA_COVER_ASPECT_RATIO } from '@/features/manga/Manga.constants.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; diff --git a/src/features/tracker/screens/TrackerOAuthLogin.tsx b/src/features/tracker/screens/TrackerOAuthLogin.tsx index 7cdc1e18..7816f83b 100644 --- a/src/features/tracker/screens/TrackerOAuthLogin.tsx +++ b/src/features/tracker/screens/TrackerOAuthLogin.tsx @@ -10,8 +10,8 @@ import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; export const TrackerOAuthLogin = () => { diff --git a/src/features/tracker/screens/TrackingSettings.tsx b/src/features/tracker/screens/TrackingSettings.tsx index f8aee15d..4a6a2f67 100644 --- a/src/features/tracker/screens/TrackingSettings.tsx +++ b/src/features/tracker/screens/TrackingSettings.tsx @@ -13,14 +13,14 @@ import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; import { SettingsTrackerCard } from '@/features/tracker/components/cards/SettingsTrackerCard.tsx'; import { createUpdateMetadataServerSettings, useMetadataServerSettings, } from '@/features/settings/services/ServerSettingsMetadata.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; +import { makeToast } from '@/base/utils/Toast.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { GET_TRACKERS_SETTINGS } from '@/lib/graphql/queries/TrackerQuery.ts'; import { GetTrackersSettingsQuery } from '@/lib/graphql/generated/graphql.ts'; diff --git a/src/features/updates/components/ChapterUpdateCard.tsx b/src/features/updates/components/ChapterUpdateCard.tsx index 8f04675c..1fa4237a 100644 --- a/src/features/updates/components/ChapterUpdateCard.tsx +++ b/src/features/updates/components/ChapterUpdateCard.tsx @@ -11,15 +11,15 @@ import CardActionArea from '@mui/material/CardActionArea'; import Card from '@mui/material/Card'; import { Link } from 'react-router-dom'; import { memo } from 'react'; -import { DownloadStateIndicator } from '@/features/core/components/downloads/DownloadStateIndicator.tsx'; +import { DownloadStateIndicator } from '@/base/components/downloads/DownloadStateIndicator.tsx'; import { ChapterUpdateListFieldsFragment } from '@/lib/graphql/generated/graphql.ts'; -import { AppRoutes } from '@/features/core/AppRoute.constants.ts'; +import { AppRoutes } from '@/base/AppRoute.constants.ts'; import { ChapterCardThumbnail } from '@/features/chapter/components/cards/ChapterCardThumbnail.tsx'; import { ChapterCardMetadata } from '@/features/chapter/components/cards/ChapterCardMetadata.tsx'; import { ChapterDownloadButton } from '@/features/chapter/components/buttons/ChapterDownloadButton.tsx'; import { ChapterDownloadRetryButton } from '@/features/chapter/components/buttons/ChapterDownloadRetryButton.tsx'; import { Chapters } from '@/features/chapter/services/Chapters.ts'; -import { ListCardContent } from '@/features/core/components/lists/cards/ListCardContent.tsx'; +import { ListCardContent } from '@/base/components/lists/cards/ListCardContent.tsx'; export const ChapterUpdateCard = memo(({ chapter }: { chapter: ChapterUpdateListFieldsFragment }) => { const { manga } = chapter; diff --git a/src/features/updates/components/UpdateChecker.tsx b/src/features/updates/components/UpdateChecker.tsx index 9dfab49c..ea65e9c6 100644 --- a/src/features/updates/components/UpdateChecker.tsx +++ b/src/features/updates/components/UpdateChecker.tsx @@ -15,13 +15,13 @@ import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; import ClearIcon from '@mui/icons-material/Clear'; import Stack from '@mui/material/Stack'; -import { CustomTooltip } from '@/features/core/components/CustomTooltip.tsx'; +import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { makeToast } from '@/features/core/utils/Toast.ts'; -import { Progress } from '@/features/core/components/feedback/Progress.tsx'; +import { makeToast } from '@/base/utils/Toast.ts'; +import { Progress } from '@/base/components/feedback/Progress.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { dateTimeFormatter } from '@/util/DateHelper.ts'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { dateTimeFormatter } from '@/base/utils/DateHelper.ts'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; import { CategoryIdInfo } from '@/features/category/Category.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/features/updates/screens/Updates.tsx b/src/features/updates/screens/Updates.tsx index 59ff8e18..6c7724b2 100644 --- a/src/features/updates/screens/Updates.tsx +++ b/src/features/updates/screens/Updates.tsx @@ -10,13 +10,13 @@ import Typography from '@mui/material/Typography'; import React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { LoadingPlaceholder } from '@/features/core/components/feedback/LoadingPlaceholder.tsx'; -import { EmptyViewAbsoluteCentered } from '@/features/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; +import { LoadingPlaceholder } from '@/base/components/feedback/LoadingPlaceholder.tsx'; +import { EmptyViewAbsoluteCentered } from '@/base/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { UpdateChecker } from '@/features/updates/components/UpdateChecker.tsx'; -import { StyledGroupedVirtuoso } from '@/features/core/components/virtuoso/StyledGroupedVirtuoso.tsx'; -import { StyledGroupHeader } from '@/features/core/components/virtuoso/StyledGroupHeader.tsx'; -import { StyledGroupItemWrapper } from '@/features/core/components/virtuoso/StyledGroupItemWrapper.tsx'; -import { dateTimeFormatter } from '@/util/DateHelper.ts'; +import { StyledGroupedVirtuoso } from '@/base/components/virtuoso/StyledGroupedVirtuoso.tsx'; +import { StyledGroupHeader } from '@/base/components/virtuoso/StyledGroupHeader.tsx'; +import { StyledGroupItemWrapper } from '@/base/components/virtuoso/StyledGroupItemWrapper.tsx'; +import { dateTimeFormatter } from '@/base/utils/DateHelper.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; diff --git a/src/lib/dnd-kit/DndKitUtil.ts b/src/lib/dnd-kit/DndKitUtil.ts index a66e6c5e..f7c0e44d 100644 --- a/src/lib/dnd-kit/DndKitUtil.ts +++ b/src/lib/dnd-kit/DndKitUtil.ts @@ -17,7 +17,7 @@ import { useSensors, } from '@dnd-kit/core'; import { AbstractPointerSensorOptions, PointerActivationConstraint } from '@dnd-kit/core/dist/sensors'; -import { MediaQuery } from '@/features/core/utils/MediaQuery.tsx'; +import { MediaQuery } from '@/base/utils/MediaQuery.tsx'; export class DndKitUtil { static getSensorForDevice(): Sensor { diff --git a/src/lib/dnd-kit/DndSortableItem.tsx b/src/lib/dnd-kit/DndSortableItem.tsx index ae2e3b57..92c078d3 100644 --- a/src/lib/dnd-kit/DndSortableItem.tsx +++ b/src/lib/dnd-kit/DndSortableItem.tsx @@ -11,7 +11,7 @@ import { useSortable } from '@dnd-kit/sortable'; import { ReactNode } from 'react'; import { UniqueIdentifier } from '@dnd-kit/core'; import { CSS } from '@dnd-kit/utilities'; -import { applyStyles } from '@/features/core/utils/ApplyStyles.ts'; +import { applyStyles } from '@/base/utils/ApplyStyles.ts'; export const DndSortableItem = ({ id, diff --git a/src/lib/virtuoso/Virtuoso.util.tsx b/src/lib/virtuoso/Virtuoso.util.tsx index 7f0d90b3..05ebe359 100644 --- a/src/lib/virtuoso/Virtuoso.util.tsx +++ b/src/lib/virtuoso/Virtuoso.util.tsx @@ -8,7 +8,7 @@ import { useCallback, useEffect, useMemo, useRef } from 'react'; import { useLocation } from 'react-router-dom'; -import { useSessionStorage } from '@/features/core/hooks/useStorage.tsx'; +import { useSessionStorage } from '@/base/hooks/useStorage.tsx'; import { AppStorage } from '@/lib/storage/AppStorage.ts'; export class VirtuosoUtil {