From 7bb999060635a1cabde7f057c7da3fcaed9b7d01 Mon Sep 17 00:00:00 2001 From: Acclorite <2ma0bhpk@anonaddy.com> Date: Sat, 3 May 2025 11:50:47 +0300 Subject: [PATCH 1/7] refactor(domain): refactor domain layer --- .../{domain/util => core}/Typealias.kt | 2 +- .../book_story/{domain => core}/ui/UIText.kt | 2 +- .../data/local/dto/CategorySortEntity.kt | 2 +- .../book_story/data/mapper/book/BookMapper.kt | 2 +- .../data/mapper/book/BookMapperImpl.kt | 4 +- .../data/mapper/category/CategoryMapper.kt | 2 +- .../mapper/category/CategoryMapperImpl.kt | 2 +- .../category_sort/CategorySortMapper.kt | 2 +- .../CategorySortSortMapperImpl.kt | 2 +- .../model/common}/NullableBook.kt | 5 +- .../{domain => data/model}/file/CachedFile.kt | 4 +- .../model}/file/CachedFileBuilder.kt | 2 +- .../model}/file/CachedFileCompat.kt | 2 +- .../model/library}/BookWithCover.kt | 5 +- .../book_story/data/parser/DocumentParser.kt | 6 +- .../book_story/data/parser/FileParser.kt | 4 +- .../book_story/data/parser/FileParserImpl.kt | 4 +- .../book_story/data/parser/MarkdownParser.kt | 2 +- .../book_story/data/parser/TextParser.kt | 2 +- .../book_story/data/parser/TextParserImpl.kt | 2 +- .../data/parser/epub/EpubFileParser.kt | 8 +- .../data/parser/epub/EpubTextParser.kt | 8 +- .../data/parser/fb2/Fb2FileParser.kt | 8 +- .../data/parser/html/HtmlFileParser.kt | 8 +- .../data/parser/html/HtmlTextParser.kt | 2 +- .../data/parser/pdf/PdfFileParser.kt | 8 +- .../data/parser/pdf/PdfTextParser.kt | 4 +- .../data/parser/txt/TxtFileParser.kt | 8 +- .../data/parser/txt/TxtTextParser.kt | 4 +- .../data/parser/xml/XmlTextParser.kt | 2 +- .../data/repository/BookRepositoryImpl.kt | 8 +- .../data/repository/CategoryRepositoryImpl.kt | 4 +- .../repository/FileSystemRepositoryImpl.kt | 52 ++++++++---- .../acclorite/book_story/domain/file/File.kt | 20 +++++ .../book_story/domain/history/History.kt | 2 +- .../domain/library/{book => }/Book.kt | 4 +- .../domain/library/{category => }/Category.kt | 2 +- .../library/{category => }/CategorySort.kt | 4 +- .../book_story/domain/reader/ColorPreset.kt | 2 +- .../domain/repository/BookRepository.kt | 6 +- .../domain/repository/CategoryRepository.kt | 4 +- .../domain/repository/FileSystemRepository.kt | 9 +- .../domain/use_case/book/DeleteBooks.kt | 2 +- .../domain/use_case/book/GetBookById.kt | 2 +- .../domain/use_case/book/GetBooks.kt | 2 +- .../domain/use_case/book/GetBooksById.kt | 2 +- .../domain/use_case/book/InsertBook.kt | 2 +- .../domain/use_case/book/UpdateBook.kt | 2 +- .../use_case/book/UpdateCoverImageOfBook.kt | 4 +- .../use_case/category/DeleteCategory.kt | 2 +- .../domain/use_case/category/GetCategories.kt | 2 +- .../use_case/category/GetCategorySort.kt | 2 +- .../use_case/category/InsertCategory.kt | 2 +- .../use_case/category/UpdateCategoryOrder.kt | 2 +- .../use_case/category/UpdateCategorySort.kt | 2 +- .../use_case/data_store/ChangeLanguage.kt | 2 +- .../use_case/file_system/GetBookFromFile.kt | 8 +- .../domain/use_case/file_system/GetFiles.kt | 4 +- .../presentation/about/AboutBadgeItem.kt | 4 +- .../presentation/about/AboutBadges.kt | 4 +- .../presentation/about/AboutItem.kt | 2 +- .../presentation/about/AboutLayout.kt | 12 +-- .../presentation/about/AboutTopBar.kt | 2 +- .../about/model}/Badge.kt | 2 +- .../about/model}/Credit.kt | 4 +- .../book_info/BookInfoAuthorDialog.kt | 6 +- .../book_info/BookInfoBottomSheet.kt | 4 +- .../BookInfoChangeCoverBottomSheet.kt | 4 +- .../BookInfoChangeCoverBottomSheetItem.kt | 2 +- .../presentation/book_info/BookInfoContent.kt | 8 +- .../book_info/BookInfoDeleteDialog.kt | 2 +- .../book_info/BookInfoDescriptionDialog.kt | 4 +- .../book_info/BookInfoDetailsBottomSheet.kt | 10 +-- .../BookInfoDetailsBottomSheetItem.kt | 4 +- .../presentation/book_info/BookInfoDialog.kt | 6 +- .../presentation/book_info/BookInfoLayout.kt | 6 +- .../book_info/BookInfoLayoutActionsItem.kt | 2 +- .../book_info/BookInfoLayoutBackground.kt | 2 +- .../book_info/BookInfoLayoutButton.kt | 6 +- .../book_info/BookInfoLayoutDescription.kt | 6 +- .../book_info/BookInfoLayoutInfo.kt | 2 +- .../book_info/BookInfoLayoutInfoAuthor.kt | 6 +- .../book_info/BookInfoLayoutInfoCover.kt | 6 +- .../book_info/BookInfoLayoutInfoProgress.kt | 6 +- .../book_info/BookInfoLayoutInfoTitle.kt | 6 +- .../book_info/BookInfoMoveDialog.kt | 10 +-- .../book_info/BookInfoPathDialog.kt | 4 +- .../book_info/BookInfoScaffold.kt | 2 +- .../book_info/BookInfoTitleDialog.kt | 4 +- .../presentation/book_info/BookInfoTopBar.kt | 10 +-- .../presentation/browse/BrowseAddDialog.kt | 10 +-- .../browse/BrowseAddDialogItem.kt | 8 +- .../presentation/browse/BrowseBottomSheet.kt | 2 +- .../presentation/browse/BrowseContent.kt | 10 +-- .../presentation/browse/BrowseDialog.kt | 4 +- .../browse/BrowseEmptyPlaceholder.kt | 4 +- .../browse/BrowseFilterBottomSheet.kt | 4 +- .../browse/BrowseFilterBottomSheetTabRow.kt | 2 +- .../presentation/browse/BrowseGridFileItem.kt | 12 +-- .../presentation/browse/BrowseGridItem.kt | 2 +- .../presentation/browse/BrowseGridLayout.kt | 12 +-- .../presentation/browse/BrowseItem.kt | 4 +- .../presentation/browse/BrowseLayout.kt | 8 +- .../presentation/browse/BrowseLayoutHeader.kt | 4 +- .../presentation/browse/BrowseListFileItem.kt | 10 +-- .../presentation/browse/BrowseListItem.kt | 4 +- .../presentation/browse/BrowseListLayout.kt | 10 +-- .../presentation/browse/BrowseScaffold.kt | 4 +- .../presentation/browse/BrowseTopBar.kt | 14 +-- .../components/common/AnimatedVisibility.kt | 2 +- .../components/common/AsyncCoverImage.kt | 2 +- .../components/common/CircularCheckbox.kt | 2 +- .../components/common/HighlightedText.kt | 2 +- .../components/common/IconButton.kt | 2 +- .../common/LazyColumnWithScrollbar.kt | 4 +- .../components/common/LazyGridHeader.kt | 2 +- .../common/LazyVerticalGridWithScrollbar.kt | 4 +- .../components/common/SearchTextField.kt | 2 +- .../components/common/SelectionContainer.kt | 2 +- .../components/common/Snackbar.kt | 2 +- .../components/common/SpacedItem.kt | 2 +- .../components/common/StyledText.kt | 2 +- .../components/common/Tooltip.kt | 2 +- .../components/dialog/CheckboxDialogItem.kt | 4 +- .../components/dialog/Dialog.kt | 6 +- .../components/dialog/DialogWithTextField.kt | 4 +- .../components/dialog/SelectableDialogItem.kt | 4 +- .../modal_bottom_sheet/ModalBottomSheet.kt | 2 +- .../ModalBottomSheetTabRow.kt | 4 +- .../components/modal_drawer/ModalDrawer.kt | 10 +-- .../modal_drawer/ModalDrawerSelectableItem.kt | 4 +- .../modal_drawer/ModalDrawerTitleItem.kt | 4 +- .../navigation_bar/NavigationBar.kt | 4 +- .../navigation_bar/NavigationBarItem.kt | 8 +- .../navigation_rail/NavigationRail.kt | 4 +- .../navigation_rail/NavigationRailItem.kt | 8 +- .../placeholder/EmptyPlaceholder.kt | 4 +- .../placeholder/ErrorPlaceholder.kt | 4 +- .../CircularProgressIndicator.kt | 2 +- .../components/settings/ChipsWithTitle.kt | 6 +- .../settings/ColorPickerWithTitle.kt | 4 +- .../settings/SegmentedButtonWithTitle.kt | 8 +- .../components/settings/SliderWithTitle.kt | 4 +- .../components/settings/SwitchWIthTitle.kt | 4 +- .../CollapsibleTopAppBarScrollBehavior.kt | 2 +- .../components/top_bar/TopAppBar.kt | 6 +- .../constants/AboutBadgeConstants.kt | 4 +- .../constants/CommonConstants.kt | 6 +- .../constants/CreditConstants.kt | 6 +- .../constants/DataStoreConstants.kt | 2 +- .../constants/FontConstants.kt | 6 +- .../constants/HelpTipConstants.kt | 4 +- .../constants/LanguageConstants.kt | 2 +- .../constants/LinkConstants.kt | 2 +- .../constants/ScrollbarConstants.kt | 2 +- .../constants/SupportedExtensionConstants.kt | 2 +- .../common/model}/ButtonItem.kt | 4 +- .../common/model}/Direction.kt | 2 +- .../common/model}/Position.kt | 2 +- .../util/CollectionExtensions.kt | 2 +- .../util/LifecycleExtensions.kt | 2 +- .../util/ModifierExtensions.kt | 2 +- .../util/PrimitiveExtensions.kt | 2 +- .../{core => common}/util/ToastExtensions.kt | 2 +- .../presentation/crash/CrashBottomBar.kt | 2 +- .../presentation/crash/CrashContent.kt | 2 +- .../presentation/crash/CrashLayout.kt | 2 +- .../presentation/crash/CrashScaffold.kt | 2 +- .../presentation/credits/CreditItem.kt | 4 +- .../presentation/credits/CreditsLayout.kt | 4 +- .../presentation/credits/CreditsTopBar.kt | 2 +- .../presentation/help/HelpBottomBar.kt | 2 +- .../book_story/presentation/help/HelpItem.kt | 8 +- .../presentation/help/HelpLayout.kt | 6 +- .../presentation/help/HelpTopBar.kt | 4 +- .../help/model}/HelpTip.kt | 2 +- .../presentation/history/HistoryContent.kt | 4 +- .../HistoryDeleteWholeHistoryDialog.kt | 2 +- .../presentation/history/HistoryDialog.kt | 2 +- .../history/HistoryEmptyPlaceholder.kt | 4 +- .../presentation/history/HistoryItem.kt | 8 +- .../presentation/history/HistoryLayout.kt | 8 +- .../presentation/history/HistoryScaffold.kt | 4 +- .../presentation/history/HistoryTopBar.kt | 10 +-- .../library/LibraryBackHandler.kt | 4 +- .../library/LibraryBottomSheet.kt | 8 +- .../presentation/library/LibraryContent.kt | 16 ++-- .../library/LibraryDeleteDialog.kt | 2 +- .../presentation/library/LibraryDialog.kt | 6 +- .../library/LibraryEmptyPlaceholder.kt | 2 +- .../library/LibraryFilterBottomSheet.kt | 10 +-- .../library/LibraryFilterBottomSheetTabRow.kt | 2 +- .../presentation/library/LibraryGridItem.kt | 10 +-- .../presentation/library/LibraryGridLayout.kt | 6 +- .../presentation/library/LibraryItem.kt | 6 +- .../presentation/library/LibraryLayout.kt | 4 +- .../presentation/library/LibraryListItem.kt | 8 +- .../presentation/library/LibraryListLayout.kt | 6 +- .../presentation/library/LibraryMoveDialog.kt | 10 +-- .../presentation/library/LibraryPager.kt | 14 +-- .../presentation/library/LibraryScaffold.kt | 12 +-- .../presentation/library/LibraryTabs.kt | 4 +- .../presentation/library/LibraryTopBar.kt | 16 ++-- .../license_info/LicenseInfoItem.kt | 2 +- .../license_info/LicenseInfoLayout.kt | 2 +- .../license_info/LicenseInfoTopBar.kt | 4 +- .../presentation/licenses/LicensesItem.kt | 2 +- .../presentation/licenses/LicensesLayout.kt | 4 +- .../presentation/licenses/LicensesTopBar.kt | 2 +- .../presentation/navigator/Navigator.kt | 8 +- .../navigator/NavigatorBackIconButton.kt | 2 +- .../navigator/NavigatorBottomSheet.kt | 4 +- .../navigator/NavigatorBottomSheetItem.kt | 4 +- .../navigator/NavigatorComposition.kt | 2 +- .../navigator/NavigatorIconButton.kt | 2 +- .../presentation/navigator/NavigatorTabs.kt | 4 +- .../presentation/reader/ReaderBackHandler.kt | 2 +- .../presentation/reader/ReaderBottomBar.kt | 12 +-- .../reader/ReaderBottomBarSlider.kt | 2 +- .../presentation/reader/ReaderBottomSheet.kt | 2 +- .../reader/ReaderChaptersDrawer.kt | 14 +-- .../presentation/reader/ReaderContent.kt | 20 ++--- .../presentation/reader/ReaderDrawer.kt | 2 +- .../reader/ReaderErrorPlaceholder.kt | 10 +-- .../reader/ReaderHorizontalGesture.kt | 2 +- .../presentation/reader/ReaderLayout.kt | 24 +++--- .../presentation/reader/ReaderLayoutText.kt | 8 +- .../reader/ReaderLayoutTextChapter.kt | 4 +- .../reader/ReaderLayoutTextImage.kt | 2 +- .../reader/ReaderLayoutTextParagraph.kt | 10 +-- .../reader/ReaderLoadingPlaceholder.kt | 2 +- .../presentation/reader/ReaderProgressBar.kt | 4 +- .../presentation/reader/ReaderScaffold.kt | 16 ++-- .../reader/ReaderSettingsBottomSheet.kt | 6 +- .../reader/ReaderSettingsBottomSheetTabRow.kt | 2 +- .../presentation/reader/ReaderTopBar.kt | 10 +-- .../reader/model}/ExpandableChapter.kt | 3 +- .../reader/model}/FontWithName.kt | 4 +- .../presentation/settings/SettingsLayout.kt | 2 +- .../settings/SettingsLayoutItem.kt | 2 +- .../presentation/settings/SettingsTopBar.kt | 2 +- .../appearance/AppearanceSettingsLayout.kt | 2 +- .../appearance/AppearanceSettingsTopBar.kt | 2 +- .../colors/components/ColorPresetOption.kt | 10 +-- .../components/FastColorPresetChangeOption.kt | 2 +- .../components/AbsoluteDarkOption.kt | 6 +- .../components/AppThemeOption.kt | 10 +-- .../components/DarkThemeOption.kt | 6 +- .../components/PureDarkOption.kt | 8 +- .../components/ThemeContrastOption.kt | 10 +-- .../settings/browse/BrowseSettingsLayout.kt | 2 +- .../settings/browse/BrowseSettingsTopBar.kt | 2 +- .../components/BrowseGridSizeOption.kt | 4 +- .../display/components/BrowseLayoutOption.kt | 6 +- .../filter/components/BrowseFilterOption.kt | 4 +- .../scan/components/BrowseScanOption.kt | 8 +- .../sort/components/BrowseSortOption.kt | 4 +- .../components/SettingsSubcategoryNote.kt | 2 +- .../components/SettingsSubcategoryTitle.kt | 2 +- .../settings/general/GeneralSettingsLayout.kt | 2 +- .../settings/general/GeneralSettingsTopBar.kt | 2 +- .../general/components/AppLanguageOption.kt | 6 +- .../components/DoublePressExitOption.kt | 2 +- .../settings/library/LibrarySettingsLayout.kt | 2 +- .../settings/library/LibrarySettingsTopBar.kt | 2 +- .../components/LibraryCategoriesOption.kt | 12 +-- .../components/LibraryGridSizeOption.kt | 4 +- .../display/components/LibraryLayoutOption.kt | 6 +- .../components/LibraryReadButtonOption.kt | 2 +- .../components/LibraryShowProgressOption.kt | 2 +- .../components/LibraryTitlePositionOption.kt | 8 +- .../LibraryPerCategorySortOption.kt | 2 +- .../sort/components/LibrarySortOption.kt | 4 +- .../LibraryAlwaysShowDefaultTabOption.kt | 2 +- .../components/LibraryShowBookCountOption.kt | 2 +- .../LibraryShowCategoryTabsOption.kt | 2 +- .../settings/reader/ReaderSettingsLayout.kt | 2 +- .../settings/reader/ReaderSettingsTopBar.kt | 2 +- .../components/ChapterTitleAlignmentOption.kt | 6 +- .../font/components/FontFamilyOption.kt | 6 +- .../reader/font/components/FontSizeOption.kt | 2 +- .../reader/font/components/FontStyleOption.kt | 6 +- .../font/components/FontThicknessOption.kt | 8 +- .../font/components/LetterSpacingOption.kt | 2 +- .../components/ImagesAlignmentOption.kt | 6 +- .../components/ImagesColorEffectsOption.kt | 6 +- .../ImagesCornersRoundnessOption.kt | 2 +- .../reader/images/components/ImagesOption.kt | 2 +- .../images/components/ImagesWidthOption.kt | 2 +- .../misc/components/FullscreenOption.kt | 2 +- .../components/HideBarsOnFastScrollOption.kt | 2 +- .../misc/components/KeepScreenOnOption.kt | 2 +- .../components/BottomBarPaddingOption.kt | 2 +- .../padding/components/CutoutPaddingOption.kt | 2 +- .../padding/components/SidePaddingOption.kt | 2 +- .../components/VerticalPaddingOption.kt | 2 +- .../components/ProgressBarAlignmentOption.kt | 6 +- .../components/ProgressBarFontSizeOption.kt | 2 +- .../progress/components/ProgressBarOption.kt | 2 +- .../components/ProgressBarPaddingOption.kt | 2 +- .../components/ProgressCountOption.kt | 6 +- .../HorizontalGestureAlphaAnimOption.kt | 4 +- .../components/HorizontalGestureOption.kt | 6 +- .../HorizontalGesturePullAnimOption.kt | 4 +- .../HorizontalGestureScrollOption.kt | 4 +- .../HorizontalGestureSensitivityOption.kt | 4 +- .../components/HighlightedReadingOption.kt | 2 +- .../HighlightedReadingThicknessOption.kt | 2 +- .../components/PerceptionExpanderOption.kt | 2 +- .../PerceptionExpanderPaddingOption.kt | 2 +- .../PerceptionExpanderThicknessOption.kt | 2 +- .../CustomScreenBrightnessOption.kt | 2 +- .../components/ScreenBrightnessOption.kt | 2 +- .../components/ScreenOrientationOption.kt | 6 +- .../text/components/LineHeightOption.kt | 2 +- .../text/components/ParagraphHeightOption.kt | 2 +- .../components/ParagraphIndentationOption.kt | 4 +- .../text/components/TextAlignmentOption.kt | 6 +- .../DoubleClickTranslationOption.kt | 2 +- .../presentation/start/StartContent.kt | 4 +- .../start/StartContentTransition.kt | 2 +- .../presentation/start/StartDoneBottomBar.kt | 2 +- .../presentation/start/StartDoneLayout.kt | 2 +- .../presentation/start/StartSettings.kt | 4 +- .../start/StartSettingsBottomBar.kt | 2 +- .../presentation/start/StartSettingsLayout.kt | 2 +- .../start/StartSettingsLayoutGeneral.kt | 4 +- .../start/StartSettingsScaffold.kt | 2 +- .../book_story/ui/about/AboutModel.kt | 4 +- .../book_story/ui/about/AboutScreen.kt | 4 +- .../book_story/ui/book_info/BookInfoEvent.kt | 4 +- .../book_story/ui/book_info/BookInfoModel.kt | 2 +- .../book_story/ui/book_info/BookInfoScreen.kt | 2 +- .../book_story/ui/book_info/BookInfoState.kt | 8 +- .../book_story/ui/browse/BrowseEvent.kt | 4 +- .../book_story/ui/browse/BrowseModel.kt | 54 ++++++++---- .../book_story/ui/browse/BrowseScreen.kt | 4 +- .../book_story/ui/browse/BrowseState.kt | 8 +- .../browse/model}/BrowseLayout.kt | 6 +- .../browse/model}/BrowseSortOrder.kt | 10 +-- .../file => ui/browse/model}/GroupedFiles.kt | 2 +- .../browse/model}/SelectableFile.kt | 14 +-- .../book_story/ui/crash/CrashActivity.kt | 2 +- .../book_story/ui/crash/CrashScreen.kt | 8 +- .../book_story/ui/credits/CreditsScreen.kt | 4 +- .../book_story/ui/help/HelpScreen.kt | 4 +- .../book_story/ui/history/HistoryModel.kt | 4 +- .../book_story/ui/history/HistoryScreen.kt | 2 +- .../book_story/ui/history/HistoryState.kt | 4 +- .../history/model}/GroupedHistory.kt | 5 +- .../book_story/ui/library/LibraryEvent.kt | 2 +- .../book_story/ui/library/LibraryModel.kt | 6 +- .../book_story/ui/library/LibraryScreen.kt | 2 +- .../book_story/ui/library/LibraryState.kt | 6 +- .../library/model}/LibraryLayout.kt | 6 +- .../library/model}/LibrarySortOrder.kt | 6 +- .../library/model}/LibraryTitlePosition.kt | 6 +- .../library/model}/SelectableBook.kt | 5 +- .../library/model}/SelectableNullableBook.kt | 5 +- .../ui/license_info/LicenseInfoScreen.kt | 4 +- .../book_story/ui/licenses/LicensesScreen.kt | 4 +- .../book_story/ui/main/MainActivity.kt | 12 +-- .../acclorite/book_story/ui/main/MainModel.kt | 70 +++++++-------- .../acclorite/book_story/ui/main/MainState.kt | 85 ++++++++----------- .../{domain/ui => ui/main/model}/DarkTheme.kt | 6 +- .../main/model}/HorizontalAlignment.kt | 14 ++- .../{domain/ui => ui/main/model}/PureDark.kt | 6 +- .../ui => ui/main/model}/ThemeContrast.kt | 6 +- .../{domain => ui}/navigator/Navigator.kt | 2 +- .../{domain => ui}/navigator/NavigatorItem.kt | 2 +- .../{domain => ui}/navigator/Screen.kt | 2 +- .../{domain => ui}/navigator/StackEvent.kt | 2 +- .../book_story/ui/reader/ReaderModel.kt | 12 +-- .../book_story/ui/reader/ReaderScreen.kt | 16 ++-- .../book_story/ui/reader/ReaderState.kt | 12 +-- .../reader => ui/reader/model}/Checkpoint.kt | 2 +- .../reader/model}/ReaderColorEffects.kt | 6 +- .../reader/model}/ReaderFontThickness.kt | 6 +- .../reader/model}/ReaderHorizontalGesture.kt | 6 +- .../reader/model}/ReaderProgressCount.kt | 6 +- .../reader/model}/ReaderScreenOrientation.kt | 6 +- .../reader/model}/ReaderTextAlignment.kt | 6 +- .../ui/settings/AppearanceSettingsScreen.kt | 4 +- .../ui/settings/BrowseSettingsScreen.kt | 4 +- .../ui/settings/GeneralSettingsScreen.kt | 4 +- .../ui/settings/LibrarySettingsScreen.kt | 4 +- .../ui/settings/ReaderSettingsScreen.kt | 4 +- .../book_story/ui/settings/SettingsEvent.kt | 6 +- .../book_story/ui/settings/SettingsModel.kt | 8 +- .../book_story/ui/settings/SettingsScreen.kt | 4 +- .../book_story/ui/settings/SettingsState.kt | 6 +- .../book_story/ui/start/StartScreen.kt | 10 +-- .../book_story/ui/theme/Animations.kt | 2 +- .../ua/acclorite/book_story/ui/theme/Color.kt | 2 +- .../ua/acclorite/book_story/ui/theme/Theme.kt | 2 +- .../book_story/ui/theme/Transitions.kt | 2 +- .../book_story/ui/theme/color/AquaTheme.kt | 2 +- .../book_story/ui/theme/color/BlueTheme.kt | 2 +- .../book_story/ui/theme/color/GreenTheme.kt | 2 +- .../ui/theme/color/LavenderTheme.kt | 2 +- .../book_story/ui/theme/color/MarshTheme.kt | 2 +- .../book_story/ui/theme/color/PinkTheme.kt | 2 +- .../book_story/ui/theme/color/PurpleTheme.kt | 2 +- .../book_story/ui/theme/color/RedTheme.kt | 2 +- .../book_story/ui/theme/color/YellowTheme.kt | 2 +- 405 files changed, 1040 insertions(+), 1050 deletions(-) rename app/src/main/java/ua/acclorite/book_story/{domain/util => core}/Typealias.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{domain => core}/ui/UIText.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{domain/library/book => data/model/common}/NullableBook.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{domain => data/model}/file/CachedFile.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{domain => data/model}/file/CachedFileBuilder.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{domain => data/model}/file/CachedFileCompat.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{domain/library/book => data/model/library}/BookWithCover.kt (65%) create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/file/File.kt rename app/src/main/java/ua/acclorite/book_story/domain/library/{book => }/Book.kt (86%) rename app/src/main/java/ua/acclorite/book_story/domain/library/{category => }/Category.kt (84%) rename app/src/main/java/ua/acclorite/book_story/domain/library/{category => }/CategorySort.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{domain/about => presentation/about/model}/Badge.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{domain/about => presentation/about/model}/Credit.kt (76%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/AnimatedVisibility.kt (95%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/AsyncCoverImage.kt (93%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/CircularCheckbox.kt (96%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/HighlightedText.kt (97%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/IconButton.kt (98%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/LazyColumnWithScrollbar.kt (92%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/LazyGridHeader.kt (88%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/LazyVerticalGridWithScrollbar.kt (92%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/SearchTextField.kt (97%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/SelectionContainer.kt (99%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/Snackbar.kt (98%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/SpacedItem.kt (88%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/StyledText.kt (97%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/common/Tooltip.kt (94%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/dialog/CheckboxDialogItem.kt (91%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/dialog/Dialog.kt (97%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/dialog/DialogWithTextField.kt (95%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/dialog/SelectableDialogItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/modal_bottom_sheet/ModalBottomSheet.kt (96%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt (91%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/modal_drawer/ModalDrawer.kt (93%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/modal_drawer/ModalDrawerSelectableItem.kt (94%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/modal_drawer/ModalDrawerTitleItem.kt (90%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/navigation_bar/NavigationBar.kt (89%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/navigation_bar/NavigationBarItem.kt (88%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/navigation_rail/NavigationRail.kt (95%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/navigation_rail/NavigationRailItem.kt (87%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/placeholder/EmptyPlaceholder.kt (94%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/placeholder/ErrorPlaceholder.kt (94%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/progress_indicator/CircularProgressIndicator.kt (94%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/settings/ChipsWithTitle.kt (90%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/settings/ColorPickerWithTitle.kt (96%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/settings/SegmentedButtonWithTitle.kt (95%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/settings/SliderWithTitle.kt (98%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/settings/SwitchWIthTitle.kt (94%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt (95%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/components/top_bar/TopAppBar.kt (95%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/AboutBadgeConstants.kt (90%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/CommonConstants.kt (84%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/CreditConstants.kt (94%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/DataStoreConstants.kt (98%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/FontConstants.kt (97%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/HelpTipConstants.kt (97%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/LanguageConstants.kt (93%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/LinkConstants.kt (90%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/ScrollbarConstants.kt (95%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/constants/SupportedExtensionConstants.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{domain/ui => presentation/common/model}/ButtonItem.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{domain/util => presentation/common/model}/Direction.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{domain/util => presentation/common/model}/Position.kt (81%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/util/CollectionExtensions.kt (80%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/util/LifecycleExtensions.kt (96%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/util/ModifierExtensions.kt (91%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/util/PrimitiveExtensions.kt (97%) rename app/src/main/java/ua/acclorite/book_story/presentation/{core => common}/util/ToastExtensions.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{domain/help => presentation/help/model}/HelpTip.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => presentation/reader/model}/ExpandableChapter.kt (75%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => presentation/reader/model}/FontWithName.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{domain/browse/display => ui/browse/model}/BrowseLayout.kt (64%) rename app/src/main/java/ua/acclorite/book_story/{domain/browse/display => ui/browse/model}/BrowseSortOrder.kt (54%) rename app/src/main/java/ua/acclorite/book_story/{domain/browse/file => ui/browse/model}/GroupedFiles.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{domain/browse/file => ui/browse/model}/SelectableFile.kt (50%) rename app/src/main/java/ua/acclorite/book_story/{domain/history => ui/history/model}/GroupedHistory.kt (73%) rename app/src/main/java/ua/acclorite/book_story/{domain/library/display => ui/library/model}/LibraryLayout.kt (63%) rename app/src/main/java/ua/acclorite/book_story/{domain/library/display => ui/library/model}/LibrarySortOrder.kt (65%) rename app/src/main/java/ua/acclorite/book_story/{domain/library/display => ui/library/model}/LibraryTitlePosition.kt (61%) rename app/src/main/java/ua/acclorite/book_story/{domain/library/book => ui/library/model}/SelectableBook.kt (66%) rename app/src/main/java/ua/acclorite/book_story/{domain/library/book => ui/library/model}/SelectableNullableBook.kt (65%) rename app/src/main/java/ua/acclorite/book_story/{domain/ui => ui/main/model}/DarkTheme.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{domain/util => ui/main/model}/HorizontalAlignment.kt (51%) rename app/src/main/java/ua/acclorite/book_story/{domain/ui => ui/main/model}/PureDark.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{domain/ui => ui/main/model}/ThemeContrast.kt (67%) rename app/src/main/java/ua/acclorite/book_story/{domain => ui}/navigator/Navigator.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{domain => ui}/navigator/NavigatorItem.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{domain => ui}/navigator/Screen.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{domain => ui}/navigator/StackEvent.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => ui/reader/model}/Checkpoint.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => ui/reader/model}/ReaderColorEffects.kt (67%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => ui/reader/model}/ReaderFontThickness.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => ui/reader/model}/ReaderHorizontalGesture.kt (63%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => ui/reader/model}/ReaderProgressCount.kt (65%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => ui/reader/model}/ReaderScreenOrientation.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{domain/reader => ui/reader/model}/ReaderTextAlignment.kt (74%) diff --git a/app/src/main/java/ua/acclorite/book_story/domain/util/Typealias.kt b/app/src/main/java/ua/acclorite/book_story/core/Typealias.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/domain/util/Typealias.kt rename to app/src/main/java/ua/acclorite/book_story/core/Typealias.kt index 7fb65b2a..08978e52 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/util/Typealias.kt +++ b/app/src/main/java/ua/acclorite/book_story/core/Typealias.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.util +package ua.acclorite.book_story.core import android.graphics.Bitmap diff --git a/app/src/main/java/ua/acclorite/book_story/domain/ui/UIText.kt b/app/src/main/java/ua/acclorite/book_story/core/ui/UIText.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/domain/ui/UIText.kt rename to app/src/main/java/ua/acclorite/book_story/core/ui/UIText.kt index 672d49e6..8a87d1aa 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/ui/UIText.kt +++ b/app/src/main/java/ua/acclorite/book_story/core/ui/UIText.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.ui +package ua.acclorite.book_story.core.ui import android.content.Context import android.os.Parcelable diff --git a/app/src/main/java/ua/acclorite/book_story/data/local/dto/CategorySortEntity.kt b/app/src/main/java/ua/acclorite/book_story/data/local/dto/CategorySortEntity.kt index f83ea3df..9592b6d5 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/local/dto/CategorySortEntity.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/local/dto/CategorySortEntity.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.data.local.dto import androidx.room.Entity import androidx.room.PrimaryKey -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder @Entity data class CategorySortEntity( diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt index 91d07075..89c34397 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.book import ua.acclorite.book_story.data.local.dto.BookEntity -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book interface BookMapper { suspend fun toBookEntity(book: Book): BookEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt index e2ceaa20..f3a355bf 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt @@ -8,9 +8,9 @@ package ua.acclorite.book_story.data.mapper.book import androidx.core.net.toUri import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.local.dto.BookEntity -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.domain.library.Book import javax.inject.Inject class BookMapperImpl @Inject constructor() : BookMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt index a76be73a..36031f8b 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category import ua.acclorite.book_story.data.local.dto.CategoryEntity -import ua.acclorite.book_story.domain.library.category.Category +import ua.acclorite.book_story.domain.library.Category interface CategoryMapper { suspend fun toCategoryEntity(category: Category): CategoryEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt index d0f9238e..85b27151 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category import ua.acclorite.book_story.data.local.dto.CategoryEntity -import ua.acclorite.book_story.domain.library.category.Category +import ua.acclorite.book_story.domain.library.Category import javax.inject.Inject class CategoryMapperImpl @Inject constructor() : CategoryMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt index a0666058..caa4b1ff 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category_sort import ua.acclorite.book_story.data.local.dto.CategorySortEntity -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.CategorySort interface CategorySortMapper { suspend fun toCategorySortEntity(categorySort: CategorySort): CategorySortEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt index be5e7c70..0e3779e3 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category_sort import ua.acclorite.book_story.data.local.dto.CategorySortEntity -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.CategorySort import javax.inject.Inject class CategorySortSortMapperImpl @Inject constructor() : CategorySortMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/book/NullableBook.kt b/app/src/main/java/ua/acclorite/book_story/data/model/common/NullableBook.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/domain/library/book/NullableBook.kt rename to app/src/main/java/ua/acclorite/book_story/data/model/common/NullableBook.kt index 3547a5e6..e0aca6ac 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/book/NullableBook.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/model/common/NullableBook.kt @@ -4,10 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.book +package ua.acclorite.book_story.data.model.common import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.data.model.library.BookWithCover @Immutable sealed class NullableBook( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/file/CachedFile.kt b/app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFile.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/domain/file/CachedFile.kt rename to app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFile.kt index 5cbae56e..19b577a2 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/file/CachedFile.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFile.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.file +package ua.acclorite.book_story.data.model.file import android.content.Context import android.net.Uri @@ -168,7 +168,7 @@ class CachedFile( } /** - * Copies the file to [context].cacheDir and provides [java.io.File]. + * Copies the file to [context].cacheDir and provides [File]. * * @return null if the file is directory or failed */ diff --git a/app/src/main/java/ua/acclorite/book_story/domain/file/CachedFileBuilder.kt b/app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFileBuilder.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/domain/file/CachedFileBuilder.kt rename to app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFileBuilder.kt index a12699c8..c3b98bde 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/file/CachedFileBuilder.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFileBuilder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.file +package ua.acclorite.book_story.data.model.file import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/file/CachedFileCompat.kt b/app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFileCompat.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/domain/file/CachedFileCompat.kt rename to app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFileCompat.kt index 206b8cc6..cc2a817d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/file/CachedFileCompat.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/model/file/CachedFileCompat.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.file +package ua.acclorite.book_story.data.model.file import android.content.Context import android.net.Uri diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/book/BookWithCover.kt b/app/src/main/java/ua/acclorite/book_story/data/model/library/BookWithCover.kt similarity index 65% rename from app/src/main/java/ua/acclorite/book_story/domain/library/book/BookWithCover.kt rename to app/src/main/java/ua/acclorite/book_story/data/model/library/BookWithCover.kt index b13339df..3172ec7d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/book/BookWithCover.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/model/library/BookWithCover.kt @@ -4,10 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.book +package ua.acclorite.book_story.data.model.library import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.util.CoverImage +import ua.acclorite.book_story.core.CoverImage +import ua.acclorite.book_story.domain.library.Book @Immutable data class BookWithCover( diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt index d2369470..101b8868 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt @@ -12,9 +12,9 @@ import androidx.compose.ui.graphics.asImageBitmap import kotlinx.coroutines.yield import org.jsoup.nodes.Document import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.presentation.core.util.clearAllMarkdown -import ua.acclorite.book_story.presentation.core.util.clearMarkdown -import ua.acclorite.book_story.presentation.core.util.containsVisibleText +import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown +import ua.acclorite.book_story.presentation.common.util.clearMarkdown +import ua.acclorite.book_story.presentation.common.util.containsVisibleText import java.io.File import java.util.zip.ZipEntry import java.util.zip.ZipFile diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/FileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/FileParser.kt index 1628a4f7..f082a027 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/FileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/FileParser.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.data.parser -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.BookWithCover +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.library.BookWithCover interface FileParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt index bf31dfc5..a91ebbef 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/FileParserImpl.kt @@ -7,13 +7,13 @@ package ua.acclorite.book_story.data.parser import android.util.Log +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.epub.EpubFileParser import ua.acclorite.book_story.data.parser.fb2.Fb2FileParser import ua.acclorite.book_story.data.parser.html.HtmlFileParser import ua.acclorite.book_story.data.parser.pdf.PdfFileParser import ua.acclorite.book_story.data.parser.txt.TxtFileParser -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.BookWithCover import javax.inject.Inject private const val FILE_PARSER = "File Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt index d670bf5e..df0a53b8 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt @@ -23,7 +23,7 @@ import org.commonmark.node.Node import org.commonmark.node.StrongEmphasis import org.commonmark.node.Text import org.commonmark.parser.Parser -import ua.acclorite.book_story.presentation.core.util.clearMarkdown +import ua.acclorite.book_story.presentation.common.util.clearMarkdown import javax.inject.Inject class MarkdownParser @Inject constructor( diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt index 5b6c22f2..ed1cae53 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.data.parser -import ua.acclorite.book_story.domain.file.CachedFile +import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.domain.reader.ReaderText interface TextParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt index c9f476b3..2fa9eb01 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt @@ -9,12 +9,12 @@ package ua.acclorite.book_story.data.parser import android.util.Log import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.epub.EpubTextParser import ua.acclorite.book_story.data.parser.html.HtmlTextParser import ua.acclorite.book_story.data.parser.pdf.PdfTextParser import ua.acclorite.book_story.data.parser.txt.TxtTextParser import ua.acclorite.book_story.data.parser.xml.XmlTextParser -import ua.acclorite.book_story.domain.file.CachedFile import ua.acclorite.book_story.domain.reader.ReaderText import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt index 7e1a215d..1ba2a146 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt @@ -12,11 +12,11 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.jsoup.Jsoup import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.BookWithCover -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.domain.library.Book import java.io.File import java.util.zip.ZipFile import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt index b8e475ba..cbfe9220 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt @@ -17,13 +17,13 @@ import kotlinx.coroutines.awaitAll import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import org.jsoup.Jsoup +import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.DocumentParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.file.CachedFile import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.presentation.core.constants.provideImageExtensions -import ua.acclorite.book_story.presentation.core.util.addAll -import ua.acclorite.book_story.presentation.core.util.containsVisibleText +import ua.acclorite.book_story.presentation.common.constants.provideImageExtensions +import ua.acclorite.book_story.presentation.common.util.addAll +import ua.acclorite.book_story.presentation.common.util.containsVisibleText import java.io.File import java.util.concurrent.ConcurrentLinkedQueue import java.util.zip.ZipEntry diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt index f125bae5..3ce3b457 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt @@ -9,11 +9,11 @@ package ua.acclorite.book_story.data.parser.fb2 import org.jsoup.Jsoup import org.jsoup.parser.Parser import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.BookWithCover -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.domain.library.Book import javax.inject.Inject class Fb2FileParser @Inject constructor() : FileParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt index 2e9d5266..2812e0e9 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt @@ -9,11 +9,11 @@ package ua.acclorite.book_story.data.parser.html import org.jsoup.Jsoup import org.jsoup.parser.Parser import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.BookWithCover -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.domain.library.Book import javax.inject.Inject class HtmlFileParser @Inject constructor() : FileParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt index 7c6b0256..036d6957 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt @@ -10,9 +10,9 @@ import android.util.Log import kotlinx.coroutines.yield import org.jsoup.Jsoup import org.jsoup.parser.Parser +import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.DocumentParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.file.CachedFile import ua.acclorite.book_story.domain.reader.ReaderText import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt index 2807ad1f..323ad4d4 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt @@ -10,11 +10,11 @@ import android.app.Application import com.tom_roush.pdfbox.android.PDFBoxResourceLoader import com.tom_roush.pdfbox.pdmodel.PDDocument import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.BookWithCover -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.domain.library.Book import javax.inject.Inject class PdfFileParser @Inject constructor( diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt index 6ec5e951..370bb0d3 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt @@ -12,11 +12,11 @@ import com.tom_roush.pdfbox.android.PDFBoxResourceLoader import com.tom_roush.pdfbox.pdmodel.PDDocument import com.tom_roush.pdfbox.text.PDFTextStripper import kotlinx.coroutines.yield +import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.MarkdownParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.file.CachedFile import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.presentation.core.util.clearAllMarkdown +import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown import javax.inject.Inject private const val PDF_TAG = "PDF Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt index 86620a16..82cbb5a5 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt @@ -7,11 +7,11 @@ package ua.acclorite.book_story.data.parser.txt import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.BookWithCover -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.domain.library.Book import javax.inject.Inject class TxtFileParser @Inject constructor() : FileParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt index 9c7f025d..d3a17dca 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt @@ -10,11 +10,11 @@ import android.util.Log import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.coroutines.yield +import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.MarkdownParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.file.CachedFile import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.presentation.core.util.clearAllMarkdown +import ua.acclorite.book_story.presentation.common.util.clearAllMarkdown import javax.inject.Inject private const val TXT_TAG = "TXT Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt index 736c5f89..6bc6a548 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt @@ -10,9 +10,9 @@ import android.util.Log import kotlinx.coroutines.yield import org.jsoup.Jsoup import org.jsoup.parser.Parser +import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.DocumentParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.file.CachedFile import ua.acclorite.book_story.domain.reader.ReaderText import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt index 181b33ba..1b7ab60a 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt @@ -15,16 +15,16 @@ import android.util.Log import androidx.core.net.toUri import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import ua.acclorite.book_story.core.CoverImage import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.book.BookMapper +import ua.acclorite.book_story.data.model.file.CachedFileCompat +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.file.CachedFileCompat -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.BookWithCover +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.repository.BookRepository -import ua.acclorite.book_story.domain.util.CoverImage import java.io.BufferedOutputStream import java.io.ByteArrayOutputStream import java.io.File diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt index 34f5e1d9..9b0e74af 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt @@ -9,8 +9,8 @@ package ua.acclorite.book_story.data.repository import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.category.CategoryMapper import ua.acclorite.book_story.data.mapper.category_sort.CategorySortMapper -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt index 6a7b84bb..744a77e3 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt @@ -9,17 +9,17 @@ package ua.acclorite.book_story.data.repository import android.app.Application import android.util.Log import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.local.room.BookDao +import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.data.model.common.NullableBook.NotNull +import ua.acclorite.book_story.data.model.common.NullableBook.Null +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.file.CachedFileCompat import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.file.CachedFileCompat -import ua.acclorite.book_story.domain.library.book.NullableBook -import ua.acclorite.book_story.domain.library.book.NullableBook.NotNull -import ua.acclorite.book_story.domain.library.book.NullableBook.Null +import ua.acclorite.book_story.domain.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository -import ua.acclorite.book_story.domain.ui.UIText -import ua.acclorite.book_story.presentation.core.constants.provideExtensions +import ua.acclorite.book_story.presentation.common.constants.provideExtensions import java.util.UUID import javax.inject.Inject import javax.inject.Singleton @@ -42,7 +42,7 @@ class FileSystemRepositoryImpl @Inject constructor( * Gets all matching files from device. * Filters by [query] and sorts out not supported file formats and already added files. */ - override suspend fun getFiles(query: String): List { + override suspend fun getFiles(query: String): List { Log.i(GET_FILES, "Getting files from device, query: \"$query\".") val existingPaths = database @@ -74,21 +74,25 @@ class FileSystemRepositoryImpl @Inject constructor( return true } - fun CachedFile.getSelectableFilesFromStorage(): List { - val selectableFiles = mutableListOf() + fun CachedFile.getSelectableFilesFromStorage(): List { + val files = mutableListOf() walk { file -> if (!file.isValid()) return@walk - selectableFiles.add( - SelectableFile( - data = file, - selected = false + files.add( + File( + name = file.name, + uri = file.uri, + path = file.path, + size = file.size, + lastModified = file.lastModified, + isDirectory = file.isDirectory ) ) } - return selectableFiles + return files } fun getAllStorages(): List { @@ -119,7 +123,7 @@ class FileSystemRepositoryImpl @Inject constructor( return try { val storages = getAllStorages() - val files = mutableListOf() + val files = mutableListOf() for (storage in storages) { files.addAll(storage.getSelectableFilesFromStorage()) @@ -138,7 +142,19 @@ class FileSystemRepositoryImpl @Inject constructor( /** * Gets book from given file. If error happened, returns [NullableBook.Null]. */ - override suspend fun getBookFromFile(cachedFile: CachedFile): NullableBook { + override suspend fun getBookFromFile(file: File): NullableBook { + val cachedFile = CachedFileCompat.fromUri( + context = application, + uri = file.uri, + builder = CachedFileCompat.build( + name = file.name, + path = file.path, + size = file.size, + lastModified = file.lastModified, + isDirectory = file.isDirectory + ) + ) + val parsedBook = fileParser.parse(cachedFile) if (parsedBook == null) { Log.e(GET_BOOK_FROM_FILE, "Parsed file(${cachedFile.name}) is null.") diff --git a/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt b/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt new file mode 100644 index 00000000..45c8e985 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt @@ -0,0 +1,20 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.file + +import android.net.Uri +import androidx.compose.runtime.Immutable + +@Immutable +data class File( + val name: String, + val uri: Uri, + val path: String, + val size: Long, + val lastModified: Long, + val isDirectory: Boolean +) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/history/History.kt b/app/src/main/java/ua/acclorite/book_story/domain/history/History.kt index 5dbd4aeb..6d8b3e4c 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/history/History.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/history/History.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.domain.history import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book @Immutable data class History( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/book/Book.kt b/app/src/main/java/ua/acclorite/book_story/domain/library/Book.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/domain/library/book/Book.kt rename to app/src/main/java/ua/acclorite/book_story/domain/library/Book.kt index 3919bb1c..0a370c4b 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/book/Book.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/library/Book.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.book +package ua.acclorite.book_story.domain.library import android.net.Uri import android.os.Parcelable import androidx.compose.runtime.Immutable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.core.ui.UIText @Parcelize @Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/category/Category.kt b/app/src/main/java/ua/acclorite/book_story/domain/library/Category.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/domain/library/category/Category.kt rename to app/src/main/java/ua/acclorite/book_story/domain/library/Category.kt index b58c17a9..4d243159 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/category/Category.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/library/Category.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.category +package ua.acclorite.book_story.domain.library import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/category/CategorySort.kt b/app/src/main/java/ua/acclorite/book_story/domain/library/CategorySort.kt similarity index 72% rename from app/src/main/java/ua/acclorite/book_story/domain/library/category/CategorySort.kt rename to app/src/main/java/ua/acclorite/book_story/domain/library/CategorySort.kt index 20ffca8e..f1e59d53 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/category/CategorySort.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/library/CategorySort.kt @@ -4,10 +4,10 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.category +package ua.acclorite.book_story.domain.library import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder @Immutable data class CategorySort( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ColorPreset.kt b/app/src/main/java/ua/acclorite/book_story/domain/reader/ColorPreset.kt index fdabd137..c7336937 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ColorPreset.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/reader/ColorPreset.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.reader import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.util.Selected +import ua.acclorite.book_story.core.Selected @Immutable data class ColorPreset( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt index dd647021..988c8d27 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt @@ -6,10 +6,10 @@ package ua.acclorite.book_story.domain.repository -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.BookWithCover +import ua.acclorite.book_story.core.CoverImage +import ua.acclorite.book_story.data.model.library.BookWithCover +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.util.CoverImage interface BookRepository { diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt index 358dd678..e0d4dfbb 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.repository -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort interface CategoryRepository { diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt index 610c45e3..8e30a808 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt @@ -6,17 +6,16 @@ package ua.acclorite.book_story.domain.repository -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.NullableBook +import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.domain.file.File interface FileSystemRepository { suspend fun getFiles( query: String = "" - ): List + ): List suspend fun getBookFromFile( - cachedFile: CachedFile + file: File ): NullableBook } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt index f3d3cee8..a97c293c 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt index eed8e0cf..23b3e1d5 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt index 9e951303..cb12d117 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt index e84d6a37..03c5fcc9 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt index 18af20f7..d9c85d5d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.domain.library.book.BookWithCover +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt index 451c70b0..23076651 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt index 54cd71cc..2ea11a87 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt @@ -6,9 +6,9 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.core.CoverImage +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.repository.BookRepository -import ua.acclorite.book_story.domain.util.CoverImage import javax.inject.Inject class UpdateCoverImageOfBook @Inject constructor( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt index fd0cad50..8b8810ac 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.domain.library.category.Category +import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt index 3162d0ef..7742db96 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.domain.library.category.Category +import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt index 451c669b..83288641 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt index 10a5f0f3..6bfe963b 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.domain.library.category.Category +import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt index ea29aac2..66946145 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.domain.library.category.Category +import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt index 3216a4a9..7c62af4b 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt index 91c9078c..18dc1868 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.domain.use_case.data_store import androidx.appcompat.app.AppCompatDelegate import androidx.core.os.LocaleListCompat import ua.acclorite.book_story.domain.repository.DataStoreRepository -import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants +import ua.acclorite.book_story.presentation.common.constants.DataStoreConstants import javax.inject.Inject class ChangeLanguage @Inject constructor( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt index 794f3bfa..cd9ca4dd 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.file_system -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.library.book.NullableBook +import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.domain.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository import javax.inject.Inject @@ -15,7 +15,7 @@ class GetBookFromFile @Inject constructor( private val repository: FileSystemRepository ) { - suspend fun execute(cachedFile: CachedFile): NullableBook { - return repository.getBookFromFile(cachedFile) + suspend fun execute(file: File): NullableBook { + return repository.getBookFromFile(file) } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt index 901b6f4a..39106233 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.file_system -import ua.acclorite.book_story.domain.browse.file.SelectableFile +import ua.acclorite.book_story.domain.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository import javax.inject.Inject @@ -14,7 +14,7 @@ class GetFiles @Inject constructor( private val repository: FileSystemRepository ) { - suspend fun execute(query: String): List { + suspend fun execute(query: String): List { return repository.getFiles(query) } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadgeItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadgeItem.kt index 7fbfcea1..61189d17 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadgeItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadgeItem.kt @@ -11,8 +11,8 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.about.Badge -import ua.acclorite.book_story.presentation.core.components.common.IconButton +import ua.acclorite.book_story.presentation.about.model.Badge +import ua.acclorite.book_story.presentation.common.components.common.IconButton @Composable fun AboutBadgeItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadges.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadges.kt index 9a9d989f..549149f7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadges.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadges.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.constants.provideAboutBadges -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.constants.provideAboutBadges +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.ui.about.AboutEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutItem.kt index 329983f0..6817428a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutItem.kt @@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun AboutItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutLayout.kt index d723e9e0..73149f18 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutLayout.kt @@ -26,12 +26,12 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.provideContributorsPage -import ua.acclorite.book_story.presentation.core.constants.provideIssuesPage -import ua.acclorite.book_story.presentation.core.constants.provideReleasesPage -import ua.acclorite.book_story.presentation.core.constants.provideSupportPage -import ua.acclorite.book_story.presentation.core.constants.provideTranslationPage +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.provideContributorsPage +import ua.acclorite.book_story.presentation.common.constants.provideIssuesPage +import ua.acclorite.book_story.presentation.common.constants.provideReleasesPage +import ua.acclorite.book_story.presentation.common.constants.provideSupportPage +import ua.acclorite.book_story.presentation.common.constants.provideTranslationPage import ua.acclorite.book_story.ui.about.AboutEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutTopBar.kt index c6f31908..41afa8dd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/domain/about/Badge.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Badge.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/domain/about/Badge.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/about/model/Badge.kt index 124e5fbc..c5d1d180 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/about/Badge.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Badge.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.about +package ua.acclorite.book_story.presentation.about.model import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/app/src/main/java/ua/acclorite/book_story/domain/about/Credit.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Credit.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/domain/about/Credit.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/about/model/Credit.kt index 86c516ff..c9d403cf 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/about/Credit.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Credit.kt @@ -4,10 +4,10 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.about +package ua.acclorite.book_story.presentation.about.model import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.core.ui.UIText @Immutable data class Credit( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoAuthorDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoAuthorDialog.kt index 11b38a70..c1f2dba7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoAuthorDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoAuthorDialog.kt @@ -9,9 +9,9 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.ui.UIText -import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBottomSheet.kt index f04e1bb0..8d911c09 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBottomSheet.kt @@ -7,8 +7,8 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.util.BottomSheet +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.ui.book_info.BookInfoEvent import ua.acclorite.book_story.ui.book_info.BookInfoScreen diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheet.kt index b29d53a5..a31fae4f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheet.kt @@ -24,8 +24,8 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheetItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheetItem.kt index 9c28bded..9c4ac793 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheetItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheetItem.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun LazyItemScope.BookInfoChangeCoverBottomSheetItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoContent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoContent.kt index b388f6a8..db44472f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoContent.kt @@ -8,10 +8,10 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDeleteDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDeleteDialog.kt index 58b8eeb2..6310a8e7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDeleteDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDeleteDialog.kt @@ -12,7 +12,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.dialog.Dialog +import ua.acclorite.book_story.presentation.common.components.dialog.Dialog import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDescriptionDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDescriptionDialog.kt index dbeaeac6..d921fb31 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDescriptionDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDescriptionDialog.kt @@ -8,8 +8,8 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheet.kt index d533122b..4ee6ebbb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheet.kt @@ -18,11 +18,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.file.CachedFileCompat -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.presentation.core.constants.provideExtensions +import ua.acclorite.book_story.data.model.file.CachedFileCompat +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.presentation.common.constants.provideExtensions import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle import ua.acclorite.book_story.ui.book_info.BookInfoEvent import java.text.SimpleDateFormat diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheetItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheetItem.kt index 56b3041d..fd191a61 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheetItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheetItem.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun BookInfoDetailsBottomSheetItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDialog.kt index e9304362..9c346dc8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDialog.kt @@ -7,9 +7,9 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.ui.book_info.BookInfoEvent import ua.acclorite.book_story.ui.book_info.BookInfoScreen diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayout.kt index e513e5e6..ac3cbb20 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayout.kt @@ -17,9 +17,9 @@ import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActionsItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActionsItem.kt index 56cee770..452d3542 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActionsItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActionsItem.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun BookInfoLayoutActionsItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutBackground.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutBackground.kt index 438a7114..10310b02 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutBackground.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutBackground.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.AsyncCoverImage +import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage @Composable fun BookInfoLayoutBackground(height: Dp, image: Uri) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutButton.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutButton.kt index 02d768d7..197fce7f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutButton.kt @@ -15,9 +15,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.calculateProgress +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.calculateProgress @Composable fun BookInfoLayoutButton( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutDescription.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutDescription.kt index ebdec8b2..28740afa 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutDescription.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutDescription.kt @@ -39,9 +39,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfo.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfo.kt index 000c05cd..abeb2461 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfo.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfo.kt @@ -15,7 +15,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoAuthor.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoAuthor.kt index c81d6a71..2d776928 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoAuthor.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoAuthor.kt @@ -20,9 +20,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoCover.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoCover.kt index 98561659..aae70d67 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoCover.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoCover.kt @@ -25,9 +25,9 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoProgress.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoProgress.kt index abc4fea0..49b451c8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoProgress.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoProgress.kt @@ -17,9 +17,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.calculateProgress +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.calculateProgress @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoTitle.kt index 0e2d1ca2..91f79d41 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoTitle.kt @@ -10,9 +10,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoMoveDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoMoveDialog.kt index c27d0703..8be09cb2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoMoveDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoMoveDialog.kt @@ -18,11 +18,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.dialog.CheckboxDialogItem -import ua.acclorite.book_story.presentation.core.components.dialog.Dialog +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.dialog.CheckboxDialogItem +import ua.acclorite.book_story.presentation.common.components.dialog.Dialog import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoPathDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoPathDialog.kt index b23eb88c..eed31cf0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoPathDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoPathDialog.kt @@ -8,8 +8,8 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoScaffold.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoScaffold.kt index 92901394..904c92f2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoScaffold.kt @@ -16,7 +16,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTitleDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTitleDialog.kt index f73fa2c7..fc7d95a8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTitleDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTitleDialog.kt @@ -8,8 +8,8 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField import ua.acclorite.book_story.ui.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTopBar.kt index 61d04164..9b5313e9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTopBar.kt @@ -15,11 +15,11 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBarData +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton import ua.acclorite.book_story.ui.book_info.BookInfoEvent import ua.acclorite.book_story.ui.theme.DefaultTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialog.kt index f058cd6a..eeb8a584 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialog.kt @@ -20,12 +20,12 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.NullableBook -import ua.acclorite.book_story.domain.library.book.SelectableNullableBook -import ua.acclorite.book_story.presentation.core.components.dialog.Dialog -import ua.acclorite.book_story.presentation.core.components.progress_indicator.CircularProgressIndicator -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.presentation.common.components.dialog.Dialog +import ua.acclorite.book_story.presentation.common.components.progress_indicator.CircularProgressIndicator +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.ui.browse.BrowseEvent +import ua.acclorite.book_story.ui.library.model.SelectableNullableBook import java.util.UUID @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialogItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialogItem.kt index 9633c052..d0d7c087 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialogItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialogItem.kt @@ -24,10 +24,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.NullableBook -import ua.acclorite.book_story.domain.library.book.SelectableNullableBook -import ua.acclorite.book_story.presentation.core.components.common.CircularCheckbox -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.library.model.SelectableNullableBook @Composable fun BrowseAddDialogItem(result: SelectableNullableBook, onClick: (Boolean) -> Unit) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBottomSheet.kt index 0c016006..c0fa19c1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBottomSheet.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.presentation.browse import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.util.BottomSheet +import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.ui.browse.BrowseEvent import ua.acclorite.book_story.ui.browse.BrowseScreen diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseContent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseContent.kt index 5e6be7ac..22dec398 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseContent.kt @@ -12,12 +12,12 @@ import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.pullrefresh.PullRefreshState import androidx.compose.runtime.Composable import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.domain.library.book.SelectableNullableBook -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.ui.browse.BrowseEvent +import ua.acclorite.book_story.ui.browse.model.BrowseLayout +import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.ui.library.model.SelectableNullableBook import ua.acclorite.book_story.ui.main.MainEvent @OptIn(ExperimentalMaterialApi::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseDialog.kt index a83ded1f..5079cc69 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseDialog.kt @@ -7,10 +7,10 @@ package ua.acclorite.book_story.presentation.browse import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.SelectableNullableBook -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.ui.browse.BrowseEvent import ua.acclorite.book_story.ui.browse.BrowseScreen +import ua.acclorite.book_story.ui.library.model.SelectableNullableBook @Composable fun BrowseDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseEmptyPlaceholder.kt index 66561103..a6a46d85 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseEmptyPlaceholder.kt @@ -13,8 +13,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.placeholder.EmptyPlaceholder +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.placeholder.EmptyPlaceholder import ua.acclorite.book_story.ui.theme.Transitions @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheet.kt index c8920dc2..31287e11 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheet.kt @@ -16,8 +16,8 @@ import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import kotlinx.coroutines.launch -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet import ua.acclorite.book_story.presentation.settings.browse.display.BrowseDisplaySubcategory import ua.acclorite.book_story.presentation.settings.browse.filter.BrowseFilterSubcategory import ua.acclorite.book_story.presentation.settings.browse.sort.BrowseSortSubcategory diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheetTabRow.kt index eccf2e5e..7430064b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheetTabRow.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.presentation.browse import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheetTabRow +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheetTabRow @Composable fun BrowseFilterBottomSheetTabRow( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridFileItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridFileItem.kt index ba702843..19f13247 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridFileItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridFileItem.kt @@ -28,9 +28,9 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.presentation.core.components.common.CircularCheckbox -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.browse.model.SelectableFile import ua.acclorite.book_story.ui.theme.DefaultTransition import java.text.SimpleDateFormat import java.util.Date @@ -40,10 +40,10 @@ import java.util.Locale fun BrowseGridFileItem(file: SelectableFile, hasSelectedItems: Boolean) { val lastModified = rememberSaveable { SimpleDateFormat("dd MMM yyyy", Locale.getDefault()) - .format(Date(file.data.lastModified)) + .format(Date(file.lastModified)) } - val sizeBytes = rememberSaveable { file.data.size } + val sizeBytes = rememberSaveable { file.size } val fileSizeKB = rememberSaveable { if (sizeBytes > 0) sizeBytes.toDouble() / 1024.0 else 0.0 } @@ -94,7 +94,7 @@ fun BrowseGridFileItem(file: SelectableFile, hasSelectedItems: Boolean) { Spacer(modifier = Modifier.height(8.dp)) StyledText( - text = file.data.name, + text = file.name, style = MaterialTheme.typography.bodyLarge.copy( color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Center, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridItem.kt index 9b00d653..ec0055fd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridItem.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.browse.file.SelectableFile +import ua.acclorite.book_story.ui.browse.model.SelectableFile @Composable fun BrowseGridItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridLayout.kt index d4141707..be1d47a6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridLayout.kt @@ -17,11 +17,11 @@ import androidx.compose.foundation.lazy.grid.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.browse.file.GroupedFiles -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.presentation.core.components.common.LazyVerticalGridWithScrollbar -import ua.acclorite.book_story.presentation.core.components.common.header -import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyVerticalGridWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.header +import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.browse.model.GroupedFiles +import ua.acclorite.book_story.ui.browse.model.SelectableFile @Composable fun BrowseGridLayout( @@ -49,7 +49,7 @@ fun BrowseGridLayout( items( group.files, - key = { it.data.path } + key = { it.path } ) { selectableFile -> Box(Modifier.animateItem()) { itemContent(selectableFile, group.files) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseItem.kt index 91128c16..165e6f1d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseItem.kt @@ -8,8 +8,8 @@ package ua.acclorite.book_story.presentation.browse import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.browse.file.SelectableFile +import ua.acclorite.book_story.ui.browse.model.BrowseLayout +import ua.acclorite.book_story.ui.browse.model.SelectableFile @Composable fun BrowseItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayout.kt index ba5edc53..6c483117 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayout.kt @@ -10,9 +10,9 @@ import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.grid.LazyGridState import androidx.compose.runtime.Composable import androidx.compose.runtime.remember -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.browse.file.GroupedFiles -import ua.acclorite.book_story.domain.browse.file.SelectableFile +import ua.acclorite.book_story.ui.browse.model.BrowseLayout +import ua.acclorite.book_story.ui.browse.model.GroupedFiles +import ua.acclorite.book_story.ui.browse.model.SelectableFile import java.io.File @Composable @@ -29,7 +29,7 @@ fun BrowseLayout( ) { val groupedFiles = remember(files, pinnedPaths) { files.groupBy { file -> - file.data.path.substringBeforeLast(File.separator) + file.path.substringBeforeLast(File.separator) }.map { (header, files) -> GroupedFiles( header = header, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayoutHeader.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayoutHeader.kt index 4665f3b0..8da1ed9b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayoutHeader.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayoutHeader.kt @@ -23,8 +23,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.noRippleClickable @Composable fun BrowseLayoutHeader( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListFileItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListFileItem.kt index ec0a1644..12764ca5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListFileItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListFileItem.kt @@ -31,8 +31,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.browse.model.SelectableFile import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -41,10 +41,10 @@ import java.util.Locale fun RowScope.BrowseListFileItem(file: SelectableFile) { val lastModified = rememberSaveable { SimpleDateFormat("HH:mm dd MMM yyyy", Locale.getDefault()) - .format(Date(file.data.lastModified)) + .format(Date(file.lastModified)) } - val sizeBytes = rememberSaveable { file.data.size } + val sizeBytes = rememberSaveable { file.size } val fileSizeKB = rememberSaveable { if (sizeBytes > 0) sizeBytes.toDouble() / 1024.0 else 0.0 } @@ -83,7 +83,7 @@ fun RowScope.BrowseListFileItem(file: SelectableFile) { Spacer(modifier = Modifier.width(12.dp)) Column(verticalArrangement = Arrangement.Center) { StyledText( - text = file.data.name, + text = file.name, modifier = Modifier.fillMaxWidth(), style = MaterialTheme.typography.bodyLarge.copy( color = MaterialTheme.colorScheme.onSurface, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListItem.kt index 7cd62800..4939a653 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListItem.kt @@ -21,8 +21,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.presentation.core.components.common.CircularCheckbox +import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox +import ua.acclorite.book_story.ui.browse.model.SelectableFile import ua.acclorite.book_story.ui.theme.FadeTransitionPreservingSpace @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListLayout.kt index a82e1c51..fa858980 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListLayout.kt @@ -16,10 +16,10 @@ import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.browse.file.GroupedFiles -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.browse.model.GroupedFiles +import ua.acclorite.book_story.ui.browse.model.SelectableFile @Composable fun BrowseListLayout( @@ -43,7 +43,7 @@ fun BrowseListLayout( items( group.files, - key = { it.data.path } + key = { it.path } ) { selectableFile -> Box(Modifier.animateItem()) { itemContent(selectableFile, group.files) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseScaffold.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseScaffold.kt index 50605bcb..ae3b3d06 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseScaffold.kt @@ -19,9 +19,9 @@ import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.browse.file.SelectableFile import ua.acclorite.book_story.ui.browse.BrowseEvent +import ua.acclorite.book_story.ui.browse.model.BrowseLayout +import ua.acclorite.book_story.ui.browse.model.SelectableFile import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.theme.DefaultTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseTopBar.kt index 6f8fd30d..1aaf85a3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseTopBar.kt @@ -26,15 +26,15 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.SearchTextField -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBarData +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.SearchTextField +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData import ua.acclorite.book_story.presentation.navigator.NavigatorIconButton import ua.acclorite.book_story.ui.browse.BrowseEvent +import ua.acclorite.book_story.ui.browse.model.BrowseLayout +import ua.acclorite.book_story.ui.browse.model.SelectableFile @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/AnimatedVisibility.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AnimatedVisibility.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/AnimatedVisibility.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AnimatedVisibility.kt index 2a0479ab..66e9a9dd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/AnimatedVisibility.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AnimatedVisibility.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.EnterTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/AsyncCoverImage.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AsyncCoverImage.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/AsyncCoverImage.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AsyncCoverImage.kt index 2bb6eed8..7cde982d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/AsyncCoverImage.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AsyncCoverImage.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import android.net.Uri import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/CircularCheckbox.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/CircularCheckbox.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/CircularCheckbox.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/CircularCheckbox.kt index e99cef90..0ea00ed5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/CircularCheckbox.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/CircularCheckbox.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.background import androidx.compose.foundation.border diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/HighlightedText.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/HighlightedText.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/HighlightedText.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/HighlightedText.kt index 47e96e9d..8ab05b23 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/HighlightedText.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/HighlightedText.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.text.BasicText import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/IconButton.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/IconButton.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/IconButton.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/IconButton.kt index a93e13dd..8378b3be 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/IconButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/IconButton.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyColumnWithScrollbar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyColumnWithScrollbar.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyColumnWithScrollbar.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyColumnWithScrollbar.kt index 1faffd17..4cf2db2c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyColumnWithScrollbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyColumnWithScrollbar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -20,7 +20,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import my.nanihadesuka.compose.InternalLazyColumnScrollbar import my.nanihadesuka.compose.ScrollbarSettings -import ua.acclorite.book_story.presentation.core.constants.provideSecondaryScrollbar +import ua.acclorite.book_story.presentation.common.constants.provideSecondaryScrollbar @Composable fun LazyColumnWithScrollbar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyGridHeader.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyGridHeader.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyGridHeader.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyGridHeader.kt index e337506e..8cbb637e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyGridHeader.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyGridHeader.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.lazy.grid.GridItemSpan import androidx.compose.foundation.lazy.grid.LazyGridItemScope diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyVerticalGridWithScrollbar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyVerticalGridWithScrollbar.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyVerticalGridWithScrollbar.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyVerticalGridWithScrollbar.kt index c47fc47e..a24fb872 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/LazyVerticalGridWithScrollbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyVerticalGridWithScrollbar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -21,7 +21,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import my.nanihadesuka.compose.InternalLazyVerticalGridScrollbar import my.nanihadesuka.compose.ScrollbarSettings -import ua.acclorite.book_story.presentation.core.constants.provideSecondaryScrollbar +import ua.acclorite.book_story.presentation.common.constants.provideSecondaryScrollbar @Composable fun LazyVerticalGridWithScrollbar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SearchTextField.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SearchTextField.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SearchTextField.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SearchTextField.kt index 997162f3..365620dd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SearchTextField.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SearchTextField.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.layout.Box import androidx.compose.foundation.text.BasicTextField diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SelectionContainer.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SelectionContainer.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SelectionContainer.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SelectionContainer.kt index a3a46c99..a79142b1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SelectionContainer.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SelectionContainer.kt @@ -6,7 +6,7 @@ @file:Suppress("DEPRECATION") -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import android.content.ClipData import android.content.ClipboardManager diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/Snackbar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Snackbar.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/Snackbar.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Snackbar.kt index d3e901dd..2c18a4e4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/Snackbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Snackbar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SpacedItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SpacedItem.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SpacedItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SpacedItem.kt index 1b5da207..87bdf649 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/SpacedItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SpacedItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/StyledText.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/StyledText.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/StyledText.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/StyledText.kt index cc5f6714..1deefa61 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/StyledText.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/StyledText.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.foundation.text.BasicText import androidx.compose.material3.LocalContentColor diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/Tooltip.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Tooltip.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/Tooltip.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Tooltip.kt index 69ba74ef..5c4cd49c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/common/Tooltip.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Tooltip.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.common +package ua.acclorite.book_story.presentation.common.components.common import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.PlainTooltip diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/CheckboxDialogItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/CheckboxDialogItem.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/CheckboxDialogItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/CheckboxDialogItem.kt index bf1f83b3..57d7e4e3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/CheckboxDialogItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/CheckboxDialogItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.dialog +package ua.acclorite.book_story.presentation.common.components.dialog import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row @@ -19,7 +19,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun CheckboxDialogItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/Dialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/Dialog.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/Dialog.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/Dialog.kt index cb658cd5..e1158b77 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/Dialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/Dialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.dialog +package ua.acclorite.book_story.presentation.common.components.dialog import androidx.compose.animation.core.Spring import androidx.compose.animation.core.animateDpAsState @@ -46,8 +46,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.compose.ui.window.DialogWindowProvider import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.StyledText @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/DialogWithTextField.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/DialogWithTextField.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/DialogWithTextField.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/DialogWithTextField.kt index 15b9b22d..e13397fb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/DialogWithTextField.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/DialogWithTextField.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.dialog +package ua.acclorite.book_story.presentation.common.components.dialog import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -25,7 +25,7 @@ import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun DialogWithTextField( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/SelectableDialogItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/SelectableDialogItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/SelectableDialogItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/SelectableDialogItem.kt index bba6db9b..feb6c5b5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/dialog/SelectableDialogItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/SelectableDialogItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.dialog +package ua.acclorite.book_story.presentation.common.components.dialog import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row @@ -21,7 +21,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun SelectableDialogItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_bottom_sheet/ModalBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheet.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_bottom_sheet/ModalBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheet.kt index e9841382..899d68b4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_bottom_sheet/ModalBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet +package ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.ColumnScope diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt index 97f5a8fc..8bc01bc9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet +package ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.ExperimentalMaterial3Api @@ -14,7 +14,7 @@ import androidx.compose.material3.Tab import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText /** * Primary Tab Row. Used in BottomSheet in pair with HorizontalPager. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawer.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawer.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawer.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawer.kt index 754309b3..4398ebae 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawer.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.modal_drawer +package ua.acclorite.book_story.presentation.common.components.modal_drawer import androidx.activity.compose.BackHandler import androidx.compose.animation.core.animateDpAsState @@ -39,10 +39,10 @@ import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.presentation.common.util.noRippleClickable /** * Modal Drawer. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawerSelectableItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerSelectableItem.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawerSelectableItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerSelectableItem.kt index d427d2fb..a5105551 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawerSelectableItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerSelectableItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.modal_drawer +package ua.acclorite.book_story.presentation.common.components.modal_drawer import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -23,7 +23,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.util.Selected +import ua.acclorite.book_story.core.Selected /** * Modal Drawer Selectable Item. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawerTitleItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerTitleItem.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawerTitleItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerTitleItem.kt index 3d6e3376..764142a0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/modal_drawer/ModalDrawerTitleItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerTitleItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.modal_drawer +package ua.acclorite.book_story.presentation.common.components.modal_drawer import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -17,7 +17,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText /** * Modal Drawer Title Item. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_bar/NavigationBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBar.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_bar/NavigationBar.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBar.kt index f3530b04..711a4eaf 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_bar/NavigationBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.navigation_bar +package ua.acclorite.book_story.presentation.common.components.navigation_bar import androidx.compose.material3.NavigationBar import androidx.compose.runtime.Composable @@ -12,8 +12,8 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.lifecycle.compose.collectAsStateWithLifecycle -import ua.acclorite.book_story.domain.navigator.NavigatorItem import ua.acclorite.book_story.presentation.navigator.LocalNavigator +import ua.acclorite.book_story.ui.navigator.NavigatorItem @Composable fun NavigationBar(tabs: List) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_bar/NavigationBarItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBarItem.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_bar/NavigationBarItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBarItem.kt index d5becc8d..a9f1382a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_bar/NavigationBarItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBarItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.navigation_bar +package ua.acclorite.book_story.presentation.common.components.navigation_bar import androidx.compose.animation.Crossfade import androidx.compose.animation.core.tween @@ -17,9 +17,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.navigator.NavigatorItem -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.common.Tooltip +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.Tooltip +import ua.acclorite.book_story.ui.navigator.NavigatorItem @Composable fun RowScope.NavigationBarItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_rail/NavigationRail.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRail.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_rail/NavigationRail.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRail.kt index fd474a6e..96a138d4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_rail/NavigationRail.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRail.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.navigation_rail +package ua.acclorite.book_story.presentation.common.components.navigation_rail import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -28,8 +28,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import ua.acclorite.book_story.domain.navigator.NavigatorItem import ua.acclorite.book_story.presentation.navigator.LocalNavigator +import ua.acclorite.book_story.ui.navigator.NavigatorItem @Composable fun NavigationRail(tabs: List) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_rail/NavigationRailItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRailItem.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_rail/NavigationRailItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRailItem.kt index b673475c..a2c5796a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/navigation_rail/NavigationRailItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRailItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.navigation_rail +package ua.acclorite.book_story.presentation.common.components.navigation_rail import androidx.compose.animation.Crossfade import androidx.compose.animation.core.tween @@ -16,9 +16,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.navigator.NavigatorItem -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.common.Tooltip +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.Tooltip +import ua.acclorite.book_story.ui.navigator.NavigatorItem @Composable fun NavigationRailItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/placeholder/EmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/EmptyPlaceholder.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/placeholder/EmptyPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/EmptyPlaceholder.kt index 36eeef12..72c2c79b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/placeholder/EmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/EmptyPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.placeholder +package ua.acclorite.book_story.presentation.common.components.placeholder import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText /** diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/placeholder/ErrorPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/ErrorPlaceholder.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/placeholder/ErrorPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/ErrorPlaceholder.kt index 81c08c87..5c0339a3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/placeholder/ErrorPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/ErrorPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.placeholder +package ua.acclorite.book_story.presentation.common.components.placeholder import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText /** * Empty placeholder. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/progress_indicator/CircularProgressIndicator.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/progress_indicator/CircularProgressIndicator.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/progress_indicator/CircularProgressIndicator.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/progress_indicator/CircularProgressIndicator.kt index bd5b08b1..b4b1d80f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/progress_indicator/CircularProgressIndicator.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/progress_indicator/CircularProgressIndicator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.progress_indicator +package ua.acclorite.book_story.presentation.common.components.progress_indicator import androidx.compose.material3.CircularWavyProgressIndicator import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/ChipsWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ChipsWithTitle.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/ChipsWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ChipsWithTitle.kt index 1715b286..f83d832c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/ChipsWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ChipsWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.settings +package ua.acclorite.book_story.presentation.common.components.settings import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -18,8 +18,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle /** diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/ColorPickerWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ColorPickerWithTitle.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/ColorPickerWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ColorPickerWithTitle.kt index d2485bbd..a519fddd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/ColorPickerWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ColorPickerWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.settings +package ua.acclorite.book_story.presentation.common.components.settings import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -36,7 +36,7 @@ import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.debounce import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.IconButton import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle @OptIn(FlowPreview::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SegmentedButtonWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SegmentedButtonWithTitle.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SegmentedButtonWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SegmentedButtonWithTitle.kt index 1f212aae..a1c8aa72 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SegmentedButtonWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SegmentedButtonWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.settings +package ua.acclorite.book_story.presentation.common.components.settings import androidx.compose.animation.expandHorizontally import androidx.compose.animation.fadeIn @@ -42,9 +42,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle /** diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SliderWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SliderWithTitle.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SliderWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SliderWithTitle.kt index 9ad1fa76..5bdc5ece 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SliderWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SliderWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.settings +package ua.acclorite.book_story.presentation.common.components.settings import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Column @@ -29,7 +29,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle import kotlin.math.roundToInt diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SwitchWIthTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SwitchWIthTitle.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SwitchWIthTitle.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SwitchWIthTitle.kt index 156c9501..617b1cd2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/settings/SwitchWIthTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SwitchWIthTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.settings +package ua.acclorite.book_story.presentation.common.components.settings import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -23,7 +23,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText /** * Checkbox with title. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt index a49a64df..c3e54ce5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.top_bar +package ua.acclorite.book_story.presentation.common.components.top_bar import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.rememberLazyListState diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/top_bar/TopAppBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/TopAppBar.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/components/top_bar/TopAppBar.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/TopAppBar.kt index 5a159035..79ea17f6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/top_bar/TopAppBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/TopAppBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.components.top_bar +package ua.acclorite.book_story.presentation.common.components.top_bar import androidx.compose.animation.core.Spring import androidx.compose.animation.core.animateFloatAsState @@ -28,8 +28,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.lerp -import ua.acclorite.book_story.domain.util.ID -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility +import ua.acclorite.book_story.core.ID +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility data class TopAppBarData( val contentID: ID, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/AboutBadgeConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/AboutBadgeConstants.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/AboutBadgeConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/AboutBadgeConstants.kt index 30942c86..5a4c18b6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/AboutBadgeConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/AboutBadgeConstants.kt @@ -4,10 +4,10 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.about.Badge +import ua.acclorite.book_story.presentation.about.model.Badge fun provideAboutBadges() = listOf( Badge( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/CommonConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CommonConstants.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/CommonConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CommonConstants.kt index 5101a345..d559e618 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/CommonConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CommonConstants.kt @@ -6,12 +6,12 @@ @file:Suppress("SameReturnValue") -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.ui.UIText // Main State fun provideMainState() = "main_state" diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/CreditConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CreditConstants.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/CreditConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CreditConstants.kt index 69097856..50c4aeb5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/CreditConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CreditConstants.kt @@ -4,11 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.about.Credit -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.presentation.about.model.Credit fun provideCredits() = listOf( Credit( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/DataStoreConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/DataStoreConstants.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/DataStoreConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/DataStoreConstants.kt index b271fd0f..b697b935 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/DataStoreConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/DataStoreConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants import androidx.datastore.preferences.core.booleanPreferencesKey import androidx.datastore.preferences.core.doublePreferencesKey diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/FontConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/FontConstants.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/FontConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/FontConstants.kt index e0dccba0..eefac181 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/FontConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/FontConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants import androidx.annotation.FontRes import androidx.compose.ui.text.ExperimentalTextApi @@ -14,8 +14,8 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontVariation import androidx.compose.ui.text.font.FontWeight import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.FontWithName -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.presentation.reader.model.FontWithName fun provideFonts(): List { return mutableListOf( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/HelpTipConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/HelpTipConstants.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/HelpTipConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/HelpTipConstants.kt index 6f90e8be..17d1cc88 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/HelpTipConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/HelpTipConstants.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.help.HelpTip import ua.acclorite.book_story.presentation.help.HelpAnnotation +import ua.acclorite.book_story.presentation.help.model.HelpTip fun provideHelpTips() = listOf( HelpTip( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/LanguageConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LanguageConstants.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/LanguageConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LanguageConstants.kt index b835e8eb..285272e0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/LanguageConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LanguageConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants fun provideLanguages() = listOf( Pair("en", "English"), diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/LinkConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LinkConstants.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/LinkConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LinkConstants.kt index c7b66566..25e38b20 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/LinkConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LinkConstants.kt @@ -6,7 +6,7 @@ @file:Suppress("SameReturnValue") -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants fun provideReleasesPage() = "https://www.github.com/Acclorite/book-story/releases/latest" diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/ScrollbarConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/ScrollbarConstants.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/ScrollbarConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/ScrollbarConstants.kt index 1df9a01f..6c907d20 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/ScrollbarConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/ScrollbarConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/SupportedExtensionConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/SupportedExtensionConstants.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/constants/SupportedExtensionConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/constants/SupportedExtensionConstants.kt index 6cf8101c..f4a38bd2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/constants/SupportedExtensionConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/SupportedExtensionConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.constants +package ua.acclorite.book_story.presentation.common.constants fun provideExtensions() = listOf( ".epub", diff --git a/app/src/main/java/ua/acclorite/book_story/domain/ui/ButtonItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/model/ButtonItem.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/domain/ui/ButtonItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/model/ButtonItem.kt index 5cbda653..5984f473 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/ui/ButtonItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/model/ButtonItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.ui +package ua.acclorite.book_story.presentation.common.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.TextStyle @@ -15,4 +15,4 @@ data class ButtonItem( val title: String, val textStyle: TextStyle, val selected: Boolean -) +) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/util/Direction.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Direction.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/domain/util/Direction.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/model/Direction.kt index b23ecc72..fbca8c28 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/util/Direction.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Direction.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.util +package ua.acclorite.book_story.presentation.common.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/util/Position.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Position.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/domain/util/Position.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/model/Position.kt index bd014f67..83c1c737 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/util/Position.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Position.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.util +package ua.acclorite.book_story.presentation.common.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/CollectionExtensions.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/CollectionExtensions.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/util/CollectionExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/util/CollectionExtensions.kt index 9525854f..4710a9a2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/CollectionExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/CollectionExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.util +package ua.acclorite.book_story.presentation.common.util fun MutableList.addAll(calculation: () -> List) { addAll(calculation()) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/LifecycleExtensions.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/LifecycleExtensions.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/util/LifecycleExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/util/LifecycleExtensions.kt index 0d73f898..98958d23 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/LifecycleExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/LifecycleExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.util +package ua.acclorite.book_story.presentation.common.util import android.annotation.SuppressLint import android.content.Intent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/ModifierExtensions.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ModifierExtensions.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/util/ModifierExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/util/ModifierExtensions.kt index 0b5a1e17..74357efb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/ModifierExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ModifierExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.util +package ua.acclorite.book_story.presentation.common.util import androidx.compose.foundation.combinedClickable import androidx.compose.ui.Modifier diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/PrimitiveExtensions.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/PrimitiveExtensions.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/util/PrimitiveExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/util/PrimitiveExtensions.kt index ffdc9fff..bafe5333 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/PrimitiveExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/PrimitiveExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.util +package ua.acclorite.book_story.presentation.common.util fun String.removeTrailingZero(): String { if (!this.contains('.')) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/ToastExtensions.kt b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ToastExtensions.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/core/util/ToastExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/common/util/ToastExtensions.kt index d7098bb9..3d76f3ee 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/util/ToastExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ToastExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.core.util +package ua.acclorite.book_story.presentation.common.util import android.content.Context import android.widget.Toast diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashBottomBar.kt index 27988d79..8141674e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashBottomBar.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.platform.LocalWindowInfo import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun CrashBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashContent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashContent.kt index 470e52fc..d4c8b662 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashContent.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun CrashContent( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashLayout.kt index bf672ece..7ab9fb45 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashLayout.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun CrashLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScaffold.kt b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScaffold.kt index de44c0f6..59e52742 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScaffold.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun CrashScaffold( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditItem.kt index 4bbbc45a..8c2c0743 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditItem.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.about.Credit -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.about.model.Credit +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun CreditItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsLayout.kt index c9c4ec53..b14f64ac 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsLayout.kt @@ -14,8 +14,8 @@ import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.provideCredits +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.provideCredits import ua.acclorite.book_story.ui.about.AboutEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsTopBar.kt index d4eeb2a6..f9096fb4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpBottomBar.kt index 7ba0976e..468dcde3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpBottomBar.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.ui.browse.BrowseScreen import ua.acclorite.book_story.ui.main.MainEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpItem.kt index e17195ff..80757c26 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpItem.kt @@ -38,10 +38,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.help.HelpTip -import ua.acclorite.book_story.domain.util.Position -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.model.Position +import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.presentation.help.model.HelpTip import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpLayout.kt index 5645406f..6be890be 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpLayout.kt @@ -14,9 +14,9 @@ import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.util.Position -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.provideHelpTips +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.provideHelpTips +import ua.acclorite.book_story.presentation.common.model.Position @Composable fun HelpLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpTopBar.kt index b72e4ae1..5a9feb4f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpTopBar.kt @@ -16,8 +16,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/domain/help/HelpTip.kt b/app/src/main/java/ua/acclorite/book_story/presentation/help/model/HelpTip.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/domain/help/HelpTip.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/help/model/HelpTip.kt index 85495192..8408e614 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/help/HelpTip.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/help/model/HelpTip.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.help +package ua.acclorite.book_story.presentation.help.model import androidx.annotation.StringRes import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryContent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryContent.kt index 45c3e8a9..b855da51 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryContent.kt @@ -12,9 +12,9 @@ import androidx.compose.material.pullrefresh.PullRefreshState import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.history.GroupedHistory -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.ui.history.HistoryEvent +import ua.acclorite.book_story.ui.history.model.GroupedHistory @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDeleteWholeHistoryDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDeleteWholeHistoryDialog.kt index 18b86455..4fc1eef4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDeleteWholeHistoryDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDeleteWholeHistoryDialog.kt @@ -12,7 +12,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.dialog.Dialog +import ua.acclorite.book_story.presentation.common.components.dialog.Dialog import ua.acclorite.book_story.ui.history.HistoryEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDialog.kt index bfab0ed2..6751768c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDialog.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.presentation.history import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.ui.history.HistoryEvent import ua.acclorite.book_story.ui.history.HistoryScreen diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEmptyPlaceholder.kt index 0a8f2d71..81daeccb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEmptyPlaceholder.kt @@ -15,8 +15,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.placeholder.EmptyPlaceholder +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.placeholder.EmptyPlaceholder import ua.acclorite.book_story.ui.theme.Transitions @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryItem.kt index 1b112d49..8989e215 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryItem.kt @@ -37,10 +37,10 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.history.History -import ua.acclorite.book_story.presentation.core.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryLayout.kt index 49e2a64a..1603dadf 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryLayout.kt @@ -17,12 +17,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.history.GroupedHistory -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar -import ua.acclorite.book_story.presentation.core.util.LocalActivity +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.presentation.common.util.LocalActivity import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle import ua.acclorite.book_story.ui.history.HistoryEvent +import ua.acclorite.book_story.ui.history.model.GroupedHistory import ua.acclorite.book_story.ui.theme.DefaultTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryScaffold.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryScaffold.kt index f858d537..0d91e723 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryScaffold.kt @@ -19,9 +19,9 @@ import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.history.GroupedHistory -import ua.acclorite.book_story.presentation.core.components.common.Snackbar +import ua.acclorite.book_story.presentation.common.components.common.Snackbar import ua.acclorite.book_story.ui.history.HistoryEvent +import ua.acclorite.book_story.ui.history.model.GroupedHistory @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryTopBar.kt index 506043be..0bd8e819 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryTopBar.kt @@ -18,11 +18,11 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.SearchTextField -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBarData +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.SearchTextField +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData import ua.acclorite.book_story.presentation.navigator.NavigatorIconButton import ua.acclorite.book_story.ui.history.HistoryEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBackHandler.kt index 0d51f02d..50931fd0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBackHandler.kt @@ -14,8 +14,8 @@ import androidx.compose.runtime.saveable.rememberSaveable import kotlinx.coroutines.delay import kotlinx.coroutines.launch import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.util.LocalActivity -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.ui.library.LibraryEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBottomSheet.kt index 7dc1e1b9..f46213d4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBottomSheet.kt @@ -8,12 +8,12 @@ package ua.acclorite.book_story.presentation.library import androidx.compose.foundation.pager.PagerState import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.domain.util.BottomSheet +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.ui.library.LibraryEvent import ua.acclorite.book_story.ui.library.LibraryScreen +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.settings.SettingsEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryContent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryContent.kt index debd4aa0..b27cfa9d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryContent.kt @@ -11,15 +11,15 @@ import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.pullrefresh.PullRefreshState import androidx.compose.runtime.Composable import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.domain.library.display.LibraryTitlePosition -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition +import ua.acclorite.book_story.ui.library.model.SelectableBook import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.settings.SettingsEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDeleteDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDeleteDialog.kt index 76b6d453..7616edf0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDeleteDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDeleteDialog.kt @@ -12,7 +12,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.dialog.Dialog +import ua.acclorite.book_story.presentation.common.components.dialog.Dialog import ua.acclorite.book_story.ui.library.LibraryEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDialog.kt index b90d147b..37e5696b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDialog.kt @@ -7,11 +7,11 @@ package ua.acclorite.book_story.presentation.library import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.ui.library.LibraryEvent import ua.acclorite.book_story.ui.library.LibraryScreen +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEmptyPlaceholder.kt index e82fdf72..87376563 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEmptyPlaceholder.kt @@ -16,7 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.placeholder.EmptyPlaceholder +import ua.acclorite.book_story.presentation.common.components.placeholder.EmptyPlaceholder import ua.acclorite.book_story.ui.theme.Transitions @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheet.kt index 881fca21..6deaa11a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheet.kt @@ -22,15 +22,15 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet import ua.acclorite.book_story.presentation.settings.library.display.LibraryDisplaySubcategory import ua.acclorite.book_story.presentation.settings.library.sort.components.LibrarySortOption import ua.acclorite.book_story.presentation.settings.library.tabs.LibraryTabsSubcategory import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.settings.SettingsEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheetTabRow.kt index fecfd70f..fa25bb27 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheetTabRow.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.presentation.library import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheetTabRow +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheetTabRow @Composable fun LibraryFilterBottomSheetTabRow( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridItem.kt index 94fca0f3..b451d448 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridItem.kt @@ -39,11 +39,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.display.LibraryTitlePosition -import ua.acclorite.book_story.presentation.core.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.calculateProgress +import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.calculateProgress +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryGridItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridLayout.kt index 88560b8b..11c483c4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridLayout.kt @@ -14,9 +14,9 @@ import androidx.compose.foundation.lazy.grid.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.presentation.core.components.common.LazyVerticalGridWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyVerticalGridWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryGridLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryItem.kt index 00e4a242..ad6e1b4e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryItem.kt @@ -7,9 +7,9 @@ package ua.acclorite.book_story.presentation.library import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.domain.library.display.LibraryTitlePosition +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryLayout.kt index f3579895..9a72ee89 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryLayout.kt @@ -7,8 +7,8 @@ package ua.acclorite.book_story.presentation.library import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.display.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListItem.kt index 46852095..c29cdd69 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListItem.kt @@ -33,10 +33,10 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.presentation.core.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.calculateProgress +import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.calculateProgress +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryListItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListLayout.kt index 6f4d8982..0ebdd8fd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListLayout.kt @@ -13,9 +13,9 @@ import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.constants.providePrimaryScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryListLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryMoveDialog.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryMoveDialog.kt index b6958546..fd23d79d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryMoveDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryMoveDialog.kt @@ -18,12 +18,12 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.dialog.CheckboxDialogItem -import ua.acclorite.book_story.presentation.core.components.dialog.Dialog +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.dialog.CheckboxDialogItem +import ua.acclorite.book_story.presentation.common.components.dialog.Dialog import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.ui.library.model.SelectableBook @Composable fun LibraryMoveDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryPager.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryPager.kt index 0a73826c..8a5fdc53 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryPager.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryPager.kt @@ -14,14 +14,14 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.domain.library.display.LibraryTitlePosition -import ua.acclorite.book_story.presentation.core.util.compareByWithOrder +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.presentation.common.util.compareByWithOrder import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition +import ua.acclorite.book_story.ui.library.model.SelectableBook import ua.acclorite.book_story.ui.theme.DefaultTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryScaffold.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryScaffold.kt index 3ce87923..20649e52 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryScaffold.kt @@ -18,13 +18,13 @@ import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.domain.library.display.LibraryTitlePosition +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition +import ua.acclorite.book_story.ui.library.model.SelectableBook @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTabs.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTabs.kt index ce84456c..a4e0ec83 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTabs.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTabs.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun LibraryTabs( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTopBar.kt index 3093a44a..eead481c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTopBar.kt @@ -40,16 +40,16 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.SearchTextField -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBarData +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.SearchTextField +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData import ua.acclorite.book_story.presentation.navigator.NavigatorIconButton import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.ui.library.model.SelectableBook @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoItem.kt index eeb6962e..2aa2a6f6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoItem.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.License -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.ui.theme.SlidingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoLayout.kt index ab59d007..991ca632 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoLayout.kt @@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.Library -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun LicenseInfoLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoTopBar.kt index 1ea9475f..38aea410 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoTopBar.kt @@ -17,8 +17,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import com.mikepenz.aboutlibraries.entity.Library import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton import ua.acclorite.book_story.ui.about.AboutEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesItem.kt index 7af08d93..9b1a9c47 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesItem.kt @@ -29,7 +29,7 @@ import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.Library import com.mikepenz.aboutlibraries.ui.compose.m3.util.author import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun LicensesItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesLayout.kt index 35641121..d8f15fa5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesLayout.kt @@ -17,8 +17,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.Library -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun LicensesLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesTopBar.kt index 40b43e30..fbdb180d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/Navigator.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/Navigator.kt index af7a5f67..d9d2f499 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/Navigator.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/Navigator.kt @@ -20,10 +20,10 @@ import androidx.compose.ui.Modifier import androidx.lifecycle.compose.collectAsStateWithLifecycle import dagger.hilt.android.lifecycle.withCreationCallback import kotlinx.coroutines.Dispatchers -import ua.acclorite.book_story.domain.navigator.Navigator -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.domain.navigator.StackEvent -import ua.acclorite.book_story.presentation.core.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.LocalActivity +import ua.acclorite.book_story.ui.navigator.Navigator +import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.ui.navigator.StackEvent @Composable fun rememberNavigator(initialScreen: Screen): Navigator { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBackIconButton.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBackIconButton.kt index bd883d8a..228fded7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBackIconButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBackIconButton.kt @@ -10,7 +10,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.runtime.Composable import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.IconButton @Composable fun NavigatorBackIconButton( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheet.kt index 54826c03..cf7e430f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheet.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import kotlinx.coroutines.channels.Channel import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.util.Position -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.presentation.common.model.Position import ua.acclorite.book_story.ui.about.AboutScreen import ua.acclorite.book_story.ui.help.HelpScreen import ua.acclorite.book_story.ui.settings.SettingsScreen diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheetItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheetItem.kt index 3573d078..de52b5aa 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheetItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheetItem.kt @@ -21,8 +21,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.util.Position -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.model.Position @Composable fun NavigatorBottomSheetItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorComposition.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorComposition.kt index e5cc719c..fa3f731d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorComposition.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorComposition.kt @@ -7,6 +7,6 @@ package ua.acclorite.book_story.presentation.navigator import androidx.compose.runtime.compositionLocalOf -import ua.acclorite.book_story.domain.navigator.Navigator +import ua.acclorite.book_story.ui.navigator.Navigator val LocalNavigator = compositionLocalOf { error("Navigator was not passed.") } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorIconButton.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorIconButton.kt index 22e2668b..9e375062 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorIconButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorIconButton.kt @@ -10,7 +10,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.MoreVert import androidx.compose.runtime.Composable import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.IconButton @Composable fun NavigatorIconButton( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorTabs.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorTabs.kt index 86ccdc0d..a31a2139 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorTabs.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorTabs.kt @@ -26,8 +26,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLayoutDirection import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.flow.receiveAsFlow -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.LocalActivity +import ua.acclorite.book_story.ui.navigator.Screen @OptIn(ExperimentalMaterial3WindowSizeClassApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBackHandler.kt index 878356f0..1d52c3eb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBackHandler.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.presentation.reader import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable -import ua.acclorite.book_story.presentation.core.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.LocalActivity import ua.acclorite.book_story.ui.reader.ReaderEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBar.kt index a586fc70..c0c288ec 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBar.kt @@ -30,14 +30,14 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.reader.Checkpoint +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.util.Direction -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.model.Direction +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.ui.reader.model.Checkpoint import ua.acclorite.book_story.ui.theme.HorizontalExpandingTransition import ua.acclorite.book_story.ui.theme.readerBarsColor diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSlider.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSlider.kt index 1a4e1088..fddc0cc4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSlider.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSlider.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Slider import androidx.compose.material3.SliderDefaults import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.ui.reader.ReaderEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomSheet.kt index e73007ab..a71e545b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomSheet.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.presentation.reader import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.util.BottomSheet +import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.ui.reader.ReaderEvent import ua.acclorite.book_story.ui.reader.ReaderScreen diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderChaptersDrawer.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderChaptersDrawer.kt index 66db4772..3ef2c33e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderChaptersDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderChaptersDrawer.kt @@ -22,14 +22,14 @@ import androidx.compose.ui.draw.rotate import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ExpandableChapter import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.modal_drawer.ModalDrawer -import ua.acclorite.book_story.presentation.core.components.modal_drawer.ModalDrawerSelectableItem -import ua.acclorite.book_story.presentation.core.components.modal_drawer.ModalDrawerTitleItem -import ua.acclorite.book_story.presentation.core.util.calculateProgress -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.modal_drawer.ModalDrawer +import ua.acclorite.book_story.presentation.common.components.modal_drawer.ModalDrawerSelectableItem +import ua.acclorite.book_story.presentation.common.components.modal_drawer.ModalDrawerTitleItem +import ua.acclorite.book_story.presentation.common.util.calculateProgress +import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.presentation.reader.model.ExpandableChapter import ua.acclorite.book_story.ui.reader.ReaderEvent import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderContent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderContent.kt index 2d110446..c01ad57a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderContent.kt @@ -18,19 +18,19 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.reader.Checkpoint -import ua.acclorite.book_story.domain.reader.FontWithName -import ua.acclorite.book_story.domain.reader.ReaderFontThickness -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Drawer +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.domain.ui.UIText -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Drawer -import ua.acclorite.book_story.domain.util.HorizontalAlignment +import ua.acclorite.book_story.presentation.reader.model.FontWithName +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.ui.reader.model.Checkpoint +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.settings.SettingsEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderDrawer.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderDrawer.kt index 0c882f90..8c9e48a2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderDrawer.kt @@ -7,8 +7,8 @@ package ua.acclorite.book_story.presentation.reader import androidx.compose.runtime.Composable +import ua.acclorite.book_story.core.Drawer import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.domain.util.Drawer import ua.acclorite.book_story.ui.reader.ReaderEvent import ua.acclorite.book_story.ui.reader.ReaderScreen diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderErrorPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderErrorPlaceholder.kt index 45b2dc0b..d4ae9479 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderErrorPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderErrorPlaceholder.kt @@ -19,11 +19,11 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.UIText -import ua.acclorite.book_story.presentation.core.components.placeholder.ErrorPlaceholder -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.core.components.top_bar.TopAppBarData -import ua.acclorite.book_story.presentation.core.util.LocalActivity +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.presentation.common.components.placeholder.ErrorPlaceholder +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData +import ua.acclorite.book_story.presentation.common.util.LocalActivity import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton import ua.acclorite.book_story.ui.reader.ReaderEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderHorizontalGesture.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderHorizontalGesture.kt index 5eaa81b8..a90c5a1c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderHorizontalGesture.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderHorizontalGesture.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.IntOffset import kotlinx.coroutines.launch -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture import kotlin.math.abs import kotlin.math.roundToInt diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayout.kt index 65e61d56..7a4efc2b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayout.kt @@ -33,20 +33,20 @@ import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.coerceAtLeast import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.FontWithName -import ua.acclorite.book_story.domain.reader.ReaderFontThickness -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.domain.util.HorizontalAlignment -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.components.common.SelectionContainer -import ua.acclorite.book_story.presentation.core.components.common.SpacedItem -import ua.acclorite.book_story.presentation.core.util.LocalActivity -import ua.acclorite.book_story.presentation.core.util.noRippleClickable -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.SelectionContainer +import ua.acclorite.book_story.presentation.common.components.common.SpacedItem +import ua.acclorite.book_story.presentation.common.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.util.showToast +import ua.acclorite.book_story.presentation.reader.model.FontWithName +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment @Composable fun ReaderLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutText.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutText.kt index df3fb37c..4fe647a2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutText.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutText.kt @@ -16,12 +16,12 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.reader.FontWithName -import ua.acclorite.book_story.domain.reader.ReaderFontThickness import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.domain.util.HorizontalAlignment +import ua.acclorite.book_story.presentation.reader.model.FontWithName +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment @Composable fun LazyItemScope.ReaderLayoutText( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextChapter.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextChapter.kt index d6204a5d..8da0d615 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextChapter.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextChapter.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment @Composable fun LazyItemScope.ReaderLayoutTextChapter( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextImage.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextImage.kt index bf081417..83c0e6f3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextImage.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextImage.kt @@ -19,7 +19,7 @@ import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.unit.Dp import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.util.HorizontalAlignment +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment @Composable fun LazyItemScope.ReaderLayoutTextImage( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextParagraph.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextParagraph.kt index 7541d1b7..6e4d7cf1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextParagraph.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextParagraph.kt @@ -23,13 +23,13 @@ import androidx.compose.ui.text.style.LineBreak import androidx.compose.ui.text.style.TextIndent import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.reader.FontWithName -import ua.acclorite.book_story.domain.reader.ReaderFontThickness import ua.acclorite.book_story.domain.reader.ReaderText.Text -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.presentation.reader.model.FontWithName import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment @Composable fun LazyItemScope.ReaderLayoutTextParagraph( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLoadingPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLoadingPlaceholder.kt index 0740226b..dd26d43b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLoadingPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLoadingPlaceholder.kt @@ -15,7 +15,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.progress_indicator.CircularProgressIndicator +import ua.acclorite.book_story.presentation.common.components.progress_indicator.CircularProgressIndicator @Composable fun ReaderLoadingPlaceholder() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderProgressBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderProgressBar.kt index 78ea72df..f0d0dc4a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderProgressBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderProgressBar.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.util.HorizontalAlignment -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment @Composable fun ReaderProgressBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScaffold.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScaffold.kt index 1877220f..366b8dbd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScaffold.kt @@ -26,17 +26,17 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.reader.Checkpoint -import ua.acclorite.book_story.domain.reader.FontWithName -import ua.acclorite.book_story.domain.reader.ReaderFontThickness -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.domain.util.HorizontalAlignment -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.reader.model.FontWithName +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.ui.reader.model.Checkpoint +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.settings.SettingsEvent @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheet.kt index 36db7512..c1c9ace5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheet.kt @@ -25,9 +25,9 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import kotlinx.coroutines.launch -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.presentation.core.util.LocalActivity +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.presentation.common.util.LocalActivity import ua.acclorite.book_story.presentation.settings.appearance.colors.ColorsSubcategory import ua.acclorite.book_story.presentation.settings.reader.chapters.ChaptersSubcategory import ua.acclorite.book_story.presentation.settings.reader.font.FontSubcategory diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheetTabRow.kt index 04048fb1..7ba61fc4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheetTabRow.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.presentation.reader import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.modal_bottom_sheet.ModalBottomSheetTabRow +import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheetTabRow @Composable fun ReaderSettingsBottomSheetTabRow( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderTopBar.kt index 3fd8f729..7215daec 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderTopBar.kt @@ -29,12 +29,12 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.LocalActivity -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import ua.acclorite.book_story.ui.reader.ReaderEvent import ua.acclorite.book_story.ui.settings.SettingsEvent import ua.acclorite.book_story.ui.theme.readerBarsColor diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ExpandableChapter.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ExpandableChapter.kt similarity index 75% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ExpandableChapter.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ExpandableChapter.kt index 02cb2f4c..3d4529ca 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ExpandableChapter.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ExpandableChapter.kt @@ -4,9 +4,10 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable +import ua.acclorite.book_story.domain.reader.ReaderText @Immutable data class ExpandableChapter( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/FontWithName.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/FontWithName.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/FontWithName.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/FontWithName.kt index 523fdee9..dbcdb6a2 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/FontWithName.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/FontWithName.kt @@ -4,11 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.font.FontFamily -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.core.ui.UIText @Immutable data class FontWithName( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayout.kt index 41829017..4574c597 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayout.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun SettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayoutItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayoutItem.kt index 2c12b45d..17b29de4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayoutItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayoutItem.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.ui.theme.dynamicListItemColor @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsTopBar.kt index 9bd3efa6..1fcd5280 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsLayout.kt index d16bbdf3..2b32cc22 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsLayout.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun AppearanceSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsTopBar.kt index 08657abb..2db30d54 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/ColorPresetOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/ColorPresetOption.kt index df097968..c935e6cb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/ColorPresetOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/ColorPresetOption.kt @@ -63,12 +63,12 @@ import sh.calvin.reorderable.ReorderableCollectionItemScope import sh.calvin.reorderable.ReorderableItem import sh.calvin.reorderable.rememberReorderableLazyListState import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.Selected import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.util.Selected -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.settings.ColorPickerWithTitle +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.settings.ColorPickerWithTitle import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle import ua.acclorite.book_story.ui.settings.SettingsEvent import ua.acclorite.book_story.ui.settings.SettingsModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/FastColorPresetChangeOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/FastColorPresetChangeOption.kt index 3fe0e59f..98b5a4ca 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/FastColorPresetChangeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/FastColorPresetChangeOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt index 67ef1a8a..a04dc5f1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.isDark -import ua.acclorite.book_story.domain.ui.isPureDark -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.main.model.isDark +import ua.acclorite.book_story.ui.main.model.isPureDark import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AppThemeOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AppThemeOption.kt index 451ba5c5..80c74cc9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AppThemeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AppThemeOption.kt @@ -42,14 +42,14 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ThemeContrast -import ua.acclorite.book_story.domain.ui.isDark -import ua.acclorite.book_story.domain.ui.isPureDark -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.ui.main.model.isDark +import ua.acclorite.book_story.ui.main.model.isPureDark import ua.acclorite.book_story.ui.theme.Theme import ua.acclorite.book_story.ui.theme.animatedColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/DarkThemeOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/DarkThemeOption.kt index c38435f0..1921c586 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/DarkThemeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/DarkThemeOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.domain.ui.DarkTheme -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.main.model.DarkTheme @Composable fun DarkThemeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/PureDarkOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/PureDarkOption.kt index f00a1034..6297a3e2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/PureDarkOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/PureDarkOption.kt @@ -12,12 +12,12 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.domain.ui.PureDark -import ua.acclorite.book_story.domain.ui.isDark -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.main.model.PureDark +import ua.acclorite.book_story.ui.main.model.isDark import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/ThemeContrastOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/ThemeContrastOption.kt index 55d30414..5fbee181 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/ThemeContrastOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/ThemeContrastOption.kt @@ -16,13 +16,13 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.domain.ui.ThemeContrast -import ua.acclorite.book_story.domain.ui.isDark -import ua.acclorite.book_story.domain.ui.isPureDark -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.ui.main.model.isDark +import ua.acclorite.book_story.ui.main.model.isPureDark import ua.acclorite.book_story.ui.theme.BookStoryTheme import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsLayout.kt index 494e5718..7402931d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsLayout.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun BrowseSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsTopBar.kt index 7878f6a0..0d0ec101 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseGridSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseGridSizeOption.kt index 7c01904d..cb7ae8cf 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseGridSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseGridSizeOption.kt @@ -11,8 +11,8 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.browse.model.BrowseLayout import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseLayoutOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseLayoutOption.kt index e4e6a991..ba709d83 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseLayoutOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseLayoutOption.kt @@ -12,9 +12,9 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem +import ua.acclorite.book_story.ui.browse.model.BrowseLayout import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/components/BrowseFilterOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/components/BrowseFilterOption.kt index 899b70c6..9fd1be16 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/components/BrowseFilterOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/components/BrowseFilterOption.kt @@ -25,8 +25,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.constants.provideExtensions +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.constants.provideExtensions import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt index 2a9257b7..f150bcc8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt @@ -39,10 +39,10 @@ import com.anggrayudi.storage.file.DocumentFileCompat import com.anggrayudi.storage.file.getBasePath import com.anggrayudi.storage.file.getRootPath import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.util.noRippleClickable -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.ui.browse.BrowseScreen import ua.acclorite.book_story.ui.settings.SettingsEvent import ua.acclorite.book_story.ui.settings.SettingsModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/components/BrowseSortOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/components/BrowseSortOption.kt index eb89e995..d1cd4acf 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/components/BrowseSortOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/components/BrowseSortOption.kt @@ -31,8 +31,8 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.browse.display.BrowseSortOrder -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryNote.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryNote.kt index fbbb36c9..301572f5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryNote.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryNote.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun SettingsSubcategoryNote( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryTitle.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryTitle.kt index 87fed225..a5fc52c2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryTitle.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.text.style.LineBreak import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun SettingsSubcategoryTitle( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsLayout.kt index 7272c0ea..856d5dd0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsLayout.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun GeneralSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsTopBar.kt index 7a1fb04c..c96d5411 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/AppLanguageOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/AppLanguageOption.kt index a0bae19b..37e34de0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/AppLanguageOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/AppLanguageOption.kt @@ -12,9 +12,9 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.core.constants.provideLanguages +import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.constants.provideLanguages +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/DoublePressExitOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/DoublePressExitOption.kt index fa395ef9..e84c16b0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/DoublePressExitOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/DoublePressExitOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsLayout.kt index d23b072e..fd9b40f0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsLayout.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun LibrarySettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsTopBar.kt index 2719ac4e..2d939c93 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOption.kt index 9d1b2d4e..0fc112fd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOption.kt @@ -47,12 +47,12 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import sh.calvin.reorderable.ReorderableColumn import sh.calvin.reorderable.ReorderableScope import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.presentation.core.components.common.IconButton -import ua.acclorite.book_story.presentation.core.components.common.StyledText -import ua.acclorite.book_story.presentation.core.components.dialog.Dialog -import ua.acclorite.book_story.presentation.core.components.dialog.DialogWithTextField -import ua.acclorite.book_story.presentation.core.util.noRippleClickable +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.dialog.Dialog +import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField +import ua.acclorite.book_story.presentation.common.util.noRippleClickable import ua.acclorite.book_story.ui.library.LibraryScreen import ua.acclorite.book_story.ui.settings.SettingsEvent import ua.acclorite.book_story.ui.settings.SettingsModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryGridSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryGridSizeOption.kt index e7843c7e..aef0a1fe 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryGridSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryGridSizeOption.kt @@ -11,8 +11,8 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.library.model.LibraryLayout import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryLayoutOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryLayoutOption.kt index 9cd8cb82..e3177fdd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryLayoutOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryLayoutOption.kt @@ -12,9 +12,9 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem +import ua.acclorite.book_story.ui.library.model.LibraryLayout import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryReadButtonOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryReadButtonOption.kt index 48b75fc3..db30b36d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryReadButtonOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryReadButtonOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryShowProgressOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryShowProgressOption.kt index 766e1b7d..28efa9bc 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryShowProgressOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryShowProgressOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryTitlePositionOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryTitlePositionOption.kt index 5728d1e6..a37d605a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryTitlePositionOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryTitlePositionOption.kt @@ -12,10 +12,10 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.domain.library.display.LibraryTitlePosition -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibraryPerCategorySortOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibraryPerCategorySortOption.kt index 93658b11..d425c680 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibraryPerCategorySortOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibraryPerCategorySortOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibrarySortOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibrarySortOption.kt index 7938b98b..8a48bb1f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibrarySortOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibrarySortOption.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder fun LazyListScope.LibrarySortOption( sortOrder: LibrarySortOrder, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt index 2c390962..8a6353be 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowBookCountOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowBookCountOption.kt index 598b11fc..3aa60fb3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowBookCountOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowBookCountOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt index 3568df2e..e85f63e9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsLayout.kt index 9f706e54..b144e108 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsLayout.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun ReaderSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsTopBar.kt index 35b15b83..43ae6e4f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsTopBar.kt @@ -14,7 +14,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt index dec0a2d0..a166f01f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment @Composable fun ChapterTitleAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontFamilyOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontFamilyOption.kt index a1f79ffe..01cdda94 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontFamilyOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontFamilyOption.kt @@ -13,9 +13,9 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.core.constants.provideFonts +import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.constants.provideFonts +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontSizeOption.kt index fb96bdc5..8f1590e7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontSizeOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontStyleOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontStyleOption.kt index 04fe2e9f..258403c6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontStyleOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontStyleOption.kt @@ -14,9 +14,9 @@ import androidx.compose.ui.text.font.FontStyle import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.core.constants.provideFonts +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.constants.provideFonts +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontThicknessOption.kt index a2fcd26c..1a696e91 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontThicknessOption.kt @@ -13,12 +13,12 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderFontThickness -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.core.constants.provideFonts +import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.constants.provideFonts +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness @Composable fun FontThicknessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/LetterSpacingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/LetterSpacingOption.kt index 15a0f0df..43950460 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/LetterSpacingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/LetterSpacingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesAlignmentOption.kt index f15dbc61..ee922120 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesAlignmentOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.domain.util.HorizontalAlignment -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesColorEffectsOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesColorEffectsOption.kt index 8eb6ac7c..7740241b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesColorEffectsOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesColorEffectsOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderColorEffects -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesCornersRoundnessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesCornersRoundnessOption.kt index f3544846..214a8e67 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesCornersRoundnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesCornersRoundnessOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesOption.kt index 4987ed37..3821b6ac 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesWidthOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesWidthOption.kt index 80d85f1f..6e81c4c7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesWidthOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesWidthOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/FullscreenOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/FullscreenOption.kt index 2b49f17a..cf3c4641 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/FullscreenOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/FullscreenOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/HideBarsOnFastScrollOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/HideBarsOnFastScrollOption.kt index 6bce6f62..b20c1360 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/HideBarsOnFastScrollOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/HideBarsOnFastScrollOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/KeepScreenOnOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/KeepScreenOnOption.kt index 80b56f60..0d9898a6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/KeepScreenOnOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/KeepScreenOnOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/BottomBarPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/BottomBarPaddingOption.kt index b25ca5c9..7c892e06 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/BottomBarPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/BottomBarPaddingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/CutoutPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/CutoutPaddingOption.kt index b980c4c8..1c0b272d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/CutoutPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/CutoutPaddingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/SidePaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/SidePaddingOption.kt index 46f225f8..d219ca61 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/SidePaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/SidePaddingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/VerticalPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/VerticalPaddingOption.kt index 9a5e7b5d..7a67c910 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/VerticalPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/VerticalPaddingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarAlignmentOption.kt index 50e50adf..b33d5b2a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarAlignmentOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.domain.util.HorizontalAlignment -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarFontSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarFontSizeOption.kt index c162ca7f..a137dc58 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarFontSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarFontSizeOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarOption.kt index c4bf61b3..acb93982 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarPaddingOption.kt index eb0ea1c1..ef00c68a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarPaddingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressCountOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressCountOption.kt index 5a7f2846..a522e2aa 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressCountOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressCountOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderProgressCount -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount @Composable fun ProgressCountOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt index 6b55e901..9fca7f6b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt @@ -11,10 +11,10 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureOption.kt index 2ff94289..5e0dc59c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture @Composable fun HorizontalGestureOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt index 28ca73ce..dd7c99b7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt @@ -11,10 +11,10 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt index 5e5ceb37..1e01f2e6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt @@ -11,10 +11,10 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt index 127656c4..33eac541 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt @@ -11,10 +11,10 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingOption.kt index 1da39628..e188d223 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt index 15e25084..133e62bb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderOption.kt index e97d6fe6..4671cff9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt index f48ae565..b62c3b30 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt index c416de57..b3ede84f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/CustomScreenBrightnessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/CustomScreenBrightnessOption.kt index 281a3504..3e8b41f9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/CustomScreenBrightnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/CustomScreenBrightnessOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt index d61077c0..069fa167 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenOrientationOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenOrientationOption.kt index 0c180f6e..6f901477 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenOrientationOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenOrientationOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderScreenOrientation -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderScreenOrientation @Composable fun ScreenOrientationOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/LineHeightOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/LineHeightOption.kt index 5ac5d77c..7af599c1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/LineHeightOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/LineHeightOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphHeightOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphHeightOption.kt index 7c8a7be3..7852ef13 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphHeightOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphHeightOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphIndentationOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphIndentationOption.kt index b3dbec0a..4d9831f0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphIndentationOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphIndentationOption.kt @@ -11,10 +11,10 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.presentation.core.components.settings.SliderWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/TextAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/TextAlignmentOption.kt index 337c5c57..e86521bc 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/TextAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/TextAlignmentOption.kt @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment @Composable fun TextAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/components/DoubleClickTranslationOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/components/DoubleClickTranslationOption.kt index d81a786d..d2ac4e76 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/components/DoubleClickTranslationOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/components/DoubleClickTranslationOption.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.settings.SwitchWithTitle +import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContent.kt index 5e622a44..75caf364 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContent.kt @@ -10,9 +10,9 @@ import androidx.compose.foundation.background import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.navigator.StackEvent -import ua.acclorite.book_story.domain.ui.ButtonItem +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent +import ua.acclorite.book_story.ui.navigator.StackEvent import ua.acclorite.book_story.ui.start.StartScreen @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContentTransition.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContentTransition.kt index d0eb416c..dc6fb804 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContentTransition.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContentTransition.kt @@ -11,7 +11,7 @@ import androidx.compose.animation.togetherWith import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.navigator.StackEvent +import ua.acclorite.book_story.ui.navigator.StackEvent import ua.acclorite.book_story.ui.theme.Transitions @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneBottomBar.kt index 58f6a377..c98c09d4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneBottomBar.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun StartDoneBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneLayout.kt index 5d08fa3f..04984134 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneLayout.kt @@ -26,7 +26,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun StartDoneLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettings.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettings.kt index 531549df..264d41be 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettings.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettings.kt @@ -7,9 +7,9 @@ package ua.acclorite.book_story.presentation.start import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.navigator.StackEvent -import ua.acclorite.book_story.domain.ui.ButtonItem +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.ui.main.MainEvent +import ua.acclorite.book_story.ui.navigator.StackEvent import ua.acclorite.book_story.ui.start.StartScreen @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsBottomBar.kt index d6b8fd7d..9575d986 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsBottomBar.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun StartSettingsBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayout.kt index 9433ff4d..653568ee 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayout.kt @@ -10,7 +10,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.core.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar @Composable fun StartSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutGeneral.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutGeneral.kt index 69d6891c..ee822786 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutGeneral.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutGeneral.kt @@ -17,8 +17,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.components.dialog.SelectableDialogItem +import ua.acclorite.book_story.presentation.common.components.dialog.SelectableDialogItem +import ua.acclorite.book_story.presentation.common.model.ButtonItem import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle import ua.acclorite.book_story.ui.main.MainEvent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsScaffold.kt index 8c44b861..74aa9af3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsScaffold.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.components.common.StyledText +import ua.acclorite.book_story.presentation.common.components.common.StyledText @Composable fun StartSettingsScaffold( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutModel.kt index d2be6c7b..b4714a8d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutModel.kt @@ -16,8 +16,8 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.core.util.launchActivity -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.launchActivity +import ua.acclorite.book_story.presentation.common.util.showToast import javax.inject.Inject @HiltViewModel diff --git a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutScreen.kt index fc5b0fe8..71124c44 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutScreen.kt @@ -12,12 +12,12 @@ import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.hilt.navigation.compose.hiltViewModel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen import ua.acclorite.book_story.presentation.about.AboutContent -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.credits.CreditsScreen import ua.acclorite.book_story.ui.licenses.LicensesScreen +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object AboutScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoEvent.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoEvent.kt index 3ba33ac1..e298868b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoEvent.kt @@ -9,8 +9,8 @@ package ua.acclorite.book_story.ui.book_info import android.content.Context import android.net.Uri import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.ui.UIText +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.domain.library.Category @Immutable sealed class BookInfoEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoModel.kt index 10a391b9..a536d659 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoModel.kt @@ -27,7 +27,7 @@ import ua.acclorite.book_story.domain.use_case.book.GetBookById import ua.acclorite.book_story.domain.use_case.book.ResetCoverImage import ua.acclorite.book_story.domain.use_case.book.UpdateBook import ua.acclorite.book_story.domain.use_case.book.UpdateCoverImageOfBook -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.ui.browse.BrowseScreen import ua.acclorite.book_story.ui.history.HistoryScreen import ua.acclorite.book_story.ui.library.LibraryScreen diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScreen.kt index 234b6460..b0ee33c1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScreen.kt @@ -19,10 +19,10 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.channels.getOrElse import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen import ua.acclorite.book_story.presentation.book_info.BookInfoContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.history.HistoryScreen +import ua.acclorite.book_story.ui.navigator.Screen import ua.acclorite.book_story.ui.reader.ReaderScreen import ua.acclorite.book_story.ui.settings.LibrarySettingsScreen import ua.acclorite.book_story.ui.settings.SettingsModel diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoState.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoState.kt index 67aa774c..1119cc9c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoState.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoState.kt @@ -7,10 +7,10 @@ package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Dialog -import ua.acclorite.book_story.presentation.core.constants.provideEmptyBook +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.presentation.common.constants.provideEmptyBook @Immutable data class BookInfoState( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEvent.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEvent.kt index f4ff8cf7..16f3bd85 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEvent.kt @@ -9,8 +9,8 @@ package ua.acclorite.book_story.ui.browse import android.content.Context import androidx.compose.runtime.Immutable import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.domain.library.book.SelectableNullableBook +import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.ui.library.model.SelectableNullableBook @Immutable sealed class BrowseEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseModel.kt index 1938e0a4..972c85fb 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseModel.kt @@ -22,16 +22,17 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.browse.display.BrowseSortOrder -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.domain.library.book.NullableBook -import ua.acclorite.book_story.domain.library.book.SelectableNullableBook +import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.domain.file.File import ua.acclorite.book_story.domain.use_case.book.InsertBook import ua.acclorite.book_story.domain.use_case.file_system.GetBookFromFile import ua.acclorite.book_story.domain.use_case.file_system.GetFiles -import ua.acclorite.book_story.presentation.core.util.compareByWithOrder -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.compareByWithOrder +import ua.acclorite.book_story.presentation.common.util.showToast +import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder +import ua.acclorite.book_story.ui.browse.model.SelectableFile import ua.acclorite.book_story.ui.library.LibraryScreen +import ua.acclorite.book_story.ui.library.model.SelectableNullableBook import javax.inject.Inject @HiltViewModel @@ -182,11 +183,11 @@ class BrowseModel @Inject constructor( val editedList = _state.value.files.map { file -> if ( event.files.any { - file.data.path.startsWith(it.data.path) + file.path.startsWith(it.path) } && event.includedFileFormats.run { if (isEmpty()) return@run true any { - file.data.path.endsWith(it, ignoreCase = true) + file.path.endsWith(it, ignoreCase = true) } } ) { @@ -216,7 +217,7 @@ class BrowseModel @Inject constructor( is BrowseEvent.OnSelectFile -> { viewModelScope.launch(Dispatchers.IO) { val editedList = _state.value.files.map { file -> - if (event.file.data.path == file.data.path) { + if (event.file.path == file.path) { file.copy( selected = !file.selected ) @@ -294,7 +295,18 @@ class BrowseModel @Inject constructor( } .forEach { yield() - books.add(getBookFromFile.execute(it.data)) + books.add( + getBookFromFile.execute( + File( + name = it.name, + uri = it.uri, + path = it.path, + size = it.size, + lastModified = it.lastModified, + isDirectory = it.isDirectory + ) + ) + ) } yield() @@ -406,7 +418,17 @@ class BrowseModel @Inject constructor( yield() _state.update { it.copy( - files = this, + files = map { + SelectableFile( + name = it.name, + uri = it.uri, + path = it.path, + size = it.size, + lastModified = it.lastModified, + isDirectory = it.isDirectory, + selected = false + ) + }, hasSelectedItems = false, isLoading = false ) @@ -427,7 +449,7 @@ class BrowseModel @Inject constructor( return filter { file -> includedFilterItems.any { - file.data.path.endsWith( + file.path.endsWith( it, ignoreCase = true ) } @@ -440,19 +462,19 @@ class BrowseModel @Inject constructor( compareByWithOrder(sortOrderDescending) { when (sortOrder) { BrowseSortOrder.NAME -> { - it.data.name.trim() + it.name.trim() } BrowseSortOrder.FILE_FORMAT -> { - it.data.path.substringAfterLast(".").lowercase().trimEnd() + it.path.substringAfterLast(".").lowercase().trimEnd() } BrowseSortOrder.FILE_SIZE -> { - it.data.size + it.size } else -> { - it.data.lastModified + it.lastModified } } } diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScreen.kt index 64e53bde..26c51ce4 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScreen.kt @@ -24,12 +24,12 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.navigator.Screen import ua.acclorite.book_story.presentation.browse.BrowseContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator +import ua.acclorite.book_story.ui.browse.model.BrowseLayout import ua.acclorite.book_story.ui.library.LibraryScreen import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.navigator.Screen import ua.acclorite.book_story.ui.settings.BrowseSettingsScreen @Parcelize diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseState.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseState.kt index 08d5c324..51cfcd84 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseState.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseState.kt @@ -7,10 +7,10 @@ package ua.acclorite.book_story.ui.browse import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.browse.file.SelectableFile -import ua.acclorite.book_story.domain.library.book.SelectableNullableBook -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.ui.library.model.SelectableNullableBook @Immutable data class BrowseState( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/browse/display/BrowseLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/BrowseLayout.kt similarity index 64% rename from app/src/main/java/ua/acclorite/book_story/domain/browse/display/BrowseLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/model/BrowseLayout.kt index bfbf9ce2..bf062924 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/browse/display/BrowseLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/BrowseLayout.kt @@ -4,15 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.browse.display +package ua.acclorite.book_story.ui.browse.model import androidx.compose.runtime.Immutable @Immutable enum class BrowseLayout { LIST, GRID -} - -fun String.toBrowseLayout(): BrowseLayout { - return BrowseLayout.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/browse/display/BrowseSortOrder.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/BrowseSortOrder.kt similarity index 54% rename from app/src/main/java/ua/acclorite/book_story/domain/browse/display/BrowseSortOrder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/model/BrowseSortOrder.kt index bbb7bd30..5d770c0d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/browse/display/BrowseSortOrder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/BrowseSortOrder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.browse.display +package ua.acclorite.book_story.ui.browse.model import androidx.compose.runtime.Immutable @@ -14,12 +14,4 @@ enum class BrowseSortOrder { FILE_FORMAT, LAST_MODIFIED, FILE_SIZE, -} - -fun String.toBrowseSortOrder(): BrowseSortOrder { - return try { - BrowseSortOrder.valueOf(this) - } catch (_: IllegalArgumentException) { - BrowseSortOrder.LAST_MODIFIED - } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/browse/file/GroupedFiles.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/GroupedFiles.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/domain/browse/file/GroupedFiles.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/model/GroupedFiles.kt index ceda0bd5..6cc9540f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/browse/file/GroupedFiles.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/GroupedFiles.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.browse.file +package ua.acclorite.book_story.ui.browse.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/browse/file/SelectableFile.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/SelectableFile.kt similarity index 50% rename from app/src/main/java/ua/acclorite/book_story/domain/browse/file/SelectableFile.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/model/SelectableFile.kt index 8bd0a292..623f8ab6 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/browse/file/SelectableFile.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/model/SelectableFile.kt @@ -4,14 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.browse.file +package ua.acclorite.book_story.ui.browse.model +import android.net.Uri import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.file.CachedFile -import ua.acclorite.book_story.domain.util.Selected @Immutable data class SelectableFile( - val data: CachedFile, - val selected: Selected + val name: String, + val uri: Uri, + val path: String, + val size: Long, + val lastModified: Long, + val isDirectory: Boolean, + val selected: Boolean ) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashActivity.kt b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashActivity.kt index 42380bd5..67ebfac5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashActivity.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashActivity.kt @@ -12,7 +12,7 @@ import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.isSystemInDarkTheme import androidx.core.view.WindowCompat -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast import ua.acclorite.book_story.ui.theme.BookStoryTheme import ua.acclorite.book_story.ui.theme.Theme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashScreen.kt index 7aa7835a..8aa11c12 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashScreen.kt @@ -20,11 +20,11 @@ import kotlinx.coroutines.launch import kotlinx.parcelize.Parcelize import ua.acclorite.book_story.R import ua.acclorite.book_story.core.crash.CrashUtils -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.util.LocalActivity -import ua.acclorite.book_story.presentation.core.util.launchActivity -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.launchActivity +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.presentation.crash.CrashContent +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object CrashScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsScreen.kt index 0a34895c..f0378fe1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsScreen.kt @@ -12,11 +12,11 @@ import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.hilt.navigation.compose.hiltViewModel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.credits.CreditsContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.about.AboutModel +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object CreditsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpScreen.kt index ff759d8d..1da9ebfd 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpScreen.kt @@ -12,13 +12,13 @@ import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.hilt.navigation.compose.hiltViewModel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.help.HelpContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.browse.BrowseScreen import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.navigator.Screen import ua.acclorite.book_story.ui.start.StartScreen @Parcelize diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryModel.kt index 50f973ec..5daf1c06 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryModel.kt @@ -23,14 +23,14 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.history.GroupedHistory import ua.acclorite.book_story.domain.history.History import ua.acclorite.book_story.domain.use_case.book.GetBooksById import ua.acclorite.book_story.domain.use_case.history.DeleteHistory import ua.acclorite.book_story.domain.use_case.history.DeleteWholeHistory import ua.acclorite.book_story.domain.use_case.history.GetHistory import ua.acclorite.book_story.domain.use_case.history.InsertHistory -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.showToast +import ua.acclorite.book_story.ui.history.model.GroupedHistory import ua.acclorite.book_story.ui.library.LibraryScreen import java.text.SimpleDateFormat import java.util.Calendar diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryScreen.kt index 11c8083d..b87a7841 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryScreen.kt @@ -22,11 +22,11 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.channels.Channel import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen import ua.acclorite.book_story.presentation.history.HistoryContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.book_info.BookInfoScreen import ua.acclorite.book_story.ui.library.LibraryScreen +import ua.acclorite.book_story.ui.navigator.Screen import ua.acclorite.book_story.ui.reader.ReaderScreen @Parcelize diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryState.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryState.kt index 945b6701..ef1be69e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryState.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryState.kt @@ -7,8 +7,8 @@ package ua.acclorite.book_story.ui.history import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.history.GroupedHistory -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.ui.history.model.GroupedHistory @Immutable data class HistoryState( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/history/GroupedHistory.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/model/GroupedHistory.kt similarity index 73% rename from app/src/main/java/ua/acclorite/book_story/domain/history/GroupedHistory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/model/GroupedHistory.kt index 3264c039..64d64bdd 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/history/GroupedHistory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/model/GroupedHistory.kt @@ -4,12 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.history +package ua.acclorite.book_story.ui.history.model import androidx.compose.runtime.Immutable +import ua.acclorite.book_story.domain.history.History @Immutable data class GroupedHistory( val title: String, val history: List -) +) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEvent.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEvent.kt index c3b4287b..0cfe9a30 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEvent.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.ui.library import android.content.Context import androidx.compose.runtime.Immutable import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.library.category.Category +import ua.acclorite.book_story.domain.library.Category @Immutable sealed class LibraryEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryModel.kt index b2a83041..2e8246cf 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryModel.kt @@ -22,14 +22,14 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.library.book.SelectableBook +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.use_case.book.DeleteBooks import ua.acclorite.book_story.domain.use_case.book.GetBooks import ua.acclorite.book_story.domain.use_case.book.UpdateBook -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.ui.browse.BrowseScreen import ua.acclorite.book_story.ui.history.HistoryScreen +import ua.acclorite.book_story.ui.library.model.SelectableBook import javax.inject.Inject @HiltViewModel diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScreen.kt index 8c2d786c..d1455569 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScreen.kt @@ -23,13 +23,13 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen import ua.acclorite.book_story.presentation.library.LibraryContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.book_info.BookInfoScreen import ua.acclorite.book_story.ui.browse.BrowseScreen import ua.acclorite.book_story.ui.history.HistoryScreen import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.navigator.Screen import ua.acclorite.book_story.ui.reader.ReaderScreen import ua.acclorite.book_story.ui.settings.LibrarySettingsScreen import ua.acclorite.book_story.ui.settings.SettingsModel diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryState.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryState.kt index 2dca870e..f012acf2 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryState.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryState.kt @@ -7,9 +7,9 @@ package ua.acclorite.book_story.ui.library import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.book.SelectableBook -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Dialog +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Dialog +import ua.acclorite.book_story.ui.library.model.SelectableBook @Immutable data class LibraryState( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/display/LibraryLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/model/LibraryLayout.kt similarity index 63% rename from app/src/main/java/ua/acclorite/book_story/domain/library/display/LibraryLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/model/LibraryLayout.kt index 36221284..e346ad22 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/display/LibraryLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/model/LibraryLayout.kt @@ -4,15 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.display +package ua.acclorite.book_story.ui.library.model import androidx.compose.runtime.Immutable @Immutable enum class LibraryLayout { GRID, LIST -} - -fun String.toLibraryLayout(): LibraryLayout { - return LibraryLayout.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/display/LibrarySortOrder.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/model/LibrarySortOrder.kt similarity index 65% rename from app/src/main/java/ua/acclorite/book_story/domain/library/display/LibrarySortOrder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/model/LibrarySortOrder.kt index fba9733c..4192133e 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/display/LibrarySortOrder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/model/LibrarySortOrder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.display +package ua.acclorite.book_story.ui.library.model import androidx.compose.runtime.Immutable @@ -14,8 +14,4 @@ enum class LibrarySortOrder { LAST_READ, PROGRESS, AUTHOR -} - -fun String.toLibrarySortOrder(): LibrarySortOrder { - return LibrarySortOrder.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/display/LibraryTitlePosition.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/model/LibraryTitlePosition.kt similarity index 61% rename from app/src/main/java/ua/acclorite/book_story/domain/library/display/LibraryTitlePosition.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/model/LibraryTitlePosition.kt index d383be87..b676fa8b 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/display/LibraryTitlePosition.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/model/LibraryTitlePosition.kt @@ -4,15 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.display +package ua.acclorite.book_story.ui.library.model import androidx.compose.runtime.Immutable @Immutable enum class LibraryTitlePosition { OFF, BELOW, INSIDE -} - -fun String.toLibraryTitlePosition(): LibraryTitlePosition { - return LibraryTitlePosition.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/book/SelectableBook.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/model/SelectableBook.kt similarity index 66% rename from app/src/main/java/ua/acclorite/book_story/domain/library/book/SelectableBook.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/model/SelectableBook.kt index 4eb871b7..6cf8b809 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/book/SelectableBook.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/model/SelectableBook.kt @@ -4,10 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.book +package ua.acclorite.book_story.ui.library.model import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.util.Selected +import ua.acclorite.book_story.core.Selected +import ua.acclorite.book_story.domain.library.Book @Immutable data class SelectableBook( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/book/SelectableNullableBook.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/model/SelectableNullableBook.kt similarity index 65% rename from app/src/main/java/ua/acclorite/book_story/domain/library/book/SelectableNullableBook.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/model/SelectableNullableBook.kt index f203996c..72569f22 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/book/SelectableNullableBook.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/model/SelectableNullableBook.kt @@ -4,10 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library.book +package ua.acclorite.book_story.ui.library.model import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.util.Selected +import ua.acclorite.book_story.core.Selected +import ua.acclorite.book_story.data.model.common.NullableBook @Immutable data class SelectableNullableBook( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScreen.kt index 4149f3d5..fbbff7d0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScreen.kt @@ -18,11 +18,11 @@ import com.mikepenz.aboutlibraries.Libs import com.mikepenz.aboutlibraries.util.withJson import kotlinx.parcelize.Parcelize import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.license_info.LicenseInfoContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.about.AboutModel +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize data class LicenseInfoScreen(val uniqueId: String) : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesScreen.kt index e904c52a..171f430e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesScreen.kt @@ -20,11 +20,11 @@ import com.mikepenz.aboutlibraries.util.withJson import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.licenses.LicensesContent import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.ui.license_info.LicenseInfoScreen +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object LicensesScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/main/MainActivity.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/MainActivity.kt index 3ac1ce04..90e550c4 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/main/MainActivity.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/MainActivity.kt @@ -23,12 +23,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import dagger.hilt.android.AndroidEntryPoint import okhttp3.internal.immutableListOf import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.navigator.NavigatorItem -import ua.acclorite.book_story.domain.navigator.StackEvent -import ua.acclorite.book_story.domain.ui.isDark -import ua.acclorite.book_story.domain.ui.isPureDark -import ua.acclorite.book_story.presentation.core.components.navigation_bar.NavigationBar -import ua.acclorite.book_story.presentation.core.components.navigation_rail.NavigationRail +import ua.acclorite.book_story.presentation.common.components.navigation_bar.NavigationBar +import ua.acclorite.book_story.presentation.common.components.navigation_rail.NavigationRail import ua.acclorite.book_story.presentation.main.MainActivityKeyboardManager import ua.acclorite.book_story.presentation.navigator.Navigator import ua.acclorite.book_story.presentation.navigator.NavigatorTabs @@ -38,6 +34,10 @@ import ua.acclorite.book_story.ui.history.HistoryModel import ua.acclorite.book_story.ui.history.HistoryScreen import ua.acclorite.book_story.ui.library.LibraryModel import ua.acclorite.book_story.ui.library.LibraryScreen +import ua.acclorite.book_story.ui.main.model.isDark +import ua.acclorite.book_story.ui.main.model.isPureDark +import ua.acclorite.book_story.ui.navigator.NavigatorItem +import ua.acclorite.book_story.ui.navigator.StackEvent import ua.acclorite.book_story.ui.settings.SettingsModel import ua.acclorite.book_story.ui.start.StartScreen import ua.acclorite.book_story.ui.theme.BookStoryTheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/main/MainModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/MainModel.kt index 1a49a900..5f26e82a 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/main/MainModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/MainModel.kt @@ -22,27 +22,27 @@ import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield -import ua.acclorite.book_story.domain.browse.display.toBrowseLayout -import ua.acclorite.book_story.domain.browse.display.toBrowseSortOrder -import ua.acclorite.book_story.domain.library.display.toLibraryLayout -import ua.acclorite.book_story.domain.library.display.toLibrarySortOrder -import ua.acclorite.book_story.domain.library.display.toLibraryTitlePosition -import ua.acclorite.book_story.domain.reader.toColorEffects -import ua.acclorite.book_story.domain.reader.toFontThickness -import ua.acclorite.book_story.domain.reader.toHorizontalGesture -import ua.acclorite.book_story.domain.reader.toProgressCount -import ua.acclorite.book_story.domain.reader.toReaderScreenOrientation -import ua.acclorite.book_story.domain.reader.toTextAlignment -import ua.acclorite.book_story.domain.ui.toDarkTheme -import ua.acclorite.book_story.domain.ui.toPureDark -import ua.acclorite.book_story.domain.ui.toThemeContrast import ua.acclorite.book_story.domain.use_case.data_store.ChangeLanguage import ua.acclorite.book_story.domain.use_case.data_store.GetAllSettings import ua.acclorite.book_story.domain.use_case.data_store.SetDatastore -import ua.acclorite.book_story.domain.util.toHorizontalAlignment -import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants -import ua.acclorite.book_story.presentation.core.constants.provideFonts -import ua.acclorite.book_story.presentation.core.constants.provideMainState +import ua.acclorite.book_story.presentation.common.constants.DataStoreConstants +import ua.acclorite.book_story.presentation.common.constants.provideFonts +import ua.acclorite.book_story.presentation.common.constants.provideMainState +import ua.acclorite.book_story.ui.browse.model.BrowseLayout +import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition +import ua.acclorite.book_story.ui.main.model.DarkTheme +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment +import ua.acclorite.book_story.ui.main.model.PureDark +import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount +import ua.acclorite.book_story.ui.reader.model.ReaderScreenOrientation +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.theme.toTheme import javax.inject.Inject @@ -76,7 +76,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.DARK_THEME, value = event.value, updateState = { - it.copy(darkTheme = toDarkTheme()) + it.copy(darkTheme = DarkTheme.valueOf(this)) } ) @@ -84,7 +84,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.PURE_DARK, value = event.value, updateState = { - it.copy(pureDark = toPureDark()) + it.copy(pureDark = PureDark.valueOf(this)) } ) @@ -92,7 +92,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.THEME_CONTRAST, value = event.value, updateState = { - it.copy(themeContrast = toThemeContrast()) + it.copy(themeContrast = ThemeContrast.valueOf(this)) } ) @@ -194,7 +194,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.BROWSE_LAYOUT, value = event.value, updateState = { - it.copy(browseLayout = toBrowseLayout()) + it.copy(browseLayout = BrowseLayout.valueOf(this)) } ) @@ -218,7 +218,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.BROWSE_SORT_ORDER, value = event.value, updateState = { - it.copy(browseSortOrder = toBrowseSortOrder()) + it.copy(browseSortOrder = BrowseSortOrder.valueOf(this)) } ) @@ -238,7 +238,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.TEXT_ALIGNMENT, value = event.value, updateState = { - it.copy(textAlignment = toTextAlignment()) + it.copy(textAlignment = ReaderTextAlignment.valueOf(this)) } ) @@ -334,7 +334,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.SCREEN_ORIENTATION, value = event.value, updateState = { - it.copy(screenOrientation = toReaderScreenOrientation()) + it.copy(screenOrientation = ReaderScreenOrientation.valueOf(this)) } ) @@ -358,7 +358,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.HORIZONTAL_GESTURE, value = event.value, updateState = { - it.copy(horizontalGesture = toHorizontalGesture()) + it.copy(horizontalGesture = ReaderHorizontalGesture.valueOf(this)) } ) @@ -406,7 +406,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.CHAPTER_TITLE_ALIGNMENT, value = event.value, updateState = { - it.copy(chapterTitleAlignment = toTextAlignment()) + it.copy(chapterTitleAlignment = ReaderTextAlignment.valueOf(this)) } ) @@ -430,7 +430,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.IMAGES_ALIGNMENT, value = event.value, updateState = { - it.copy(imagesAlignment = this.toHorizontalAlignment()) + it.copy(imagesAlignment = HorizontalAlignment.valueOf(this)) } ) @@ -446,7 +446,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.IMAGES_COLOR_EFFECTS, value = event.value, updateState = { - it.copy(imagesColorEffects = this.toColorEffects()) + it.copy(imagesColorEffects = ReaderColorEffects.valueOf(this)) } ) @@ -470,7 +470,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.PROGRESS_BAR_ALIGNMENT, value = event.value, updateState = { - it.copy(progressBarAlignment = this.toHorizontalAlignment()) + it.copy(progressBarAlignment = HorizontalAlignment.valueOf(this)) } ) @@ -490,7 +490,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.FONT_THICKNESS, value = event.value, updateState = { - it.copy(fontThickness = this.toFontThickness()) + it.copy(fontThickness = ReaderFontThickness.valueOf(this)) } ) @@ -498,7 +498,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.PROGRESS_COUNT, value = event.value, updateState = { - it.copy(progressCount = this.toProgressCount()) + it.copy(progressCount = ReaderProgressCount.valueOf(this)) } ) @@ -522,7 +522,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.LIBRARY_LAYOUT, value = event.value, updateState = { - it.copy(libraryLayout = this.toLibraryLayout()) + it.copy(libraryLayout = LibraryLayout.valueOf(this)) } ) @@ -562,7 +562,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.LIBRARY_TITLE_POSITION, value = event.value, updateState = { - it.copy(libraryTitlePosition = this.toLibraryTitlePosition()) + it.copy(libraryTitlePosition = LibraryTitlePosition.valueOf(this)) } ) @@ -594,7 +594,7 @@ class MainModel @Inject constructor( key = DataStoreConstants.LIBRARY_SORT_ORDER, value = event.value, updateState = { - it.copy(librarySortOrder = this.toLibrarySortOrder()) + it.copy(librarySortOrder = LibrarySortOrder.valueOf(this)) } ) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/main/MainState.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/MainState.kt index f268ac30..de7da0bb 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/main/MainState.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/MainState.kt @@ -13,39 +13,24 @@ import androidx.annotation.Keep import androidx.compose.runtime.Immutable import androidx.datastore.preferences.core.Preferences import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.browse.display.BrowseLayout -import ua.acclorite.book_story.domain.browse.display.BrowseSortOrder -import ua.acclorite.book_story.domain.browse.display.toBrowseLayout -import ua.acclorite.book_story.domain.browse.display.toBrowseSortOrder -import ua.acclorite.book_story.domain.library.display.LibraryLayout -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.domain.library.display.LibraryTitlePosition -import ua.acclorite.book_story.domain.library.display.toLibraryLayout -import ua.acclorite.book_story.domain.library.display.toLibrarySortOrder -import ua.acclorite.book_story.domain.library.display.toLibraryTitlePosition -import ua.acclorite.book_story.domain.reader.ReaderColorEffects -import ua.acclorite.book_story.domain.reader.ReaderFontThickness -import ua.acclorite.book_story.domain.reader.ReaderHorizontalGesture -import ua.acclorite.book_story.domain.reader.ReaderProgressCount -import ua.acclorite.book_story.domain.reader.ReaderScreenOrientation -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.domain.reader.toColorEffects -import ua.acclorite.book_story.domain.reader.toFontThickness -import ua.acclorite.book_story.domain.reader.toHorizontalGesture -import ua.acclorite.book_story.domain.reader.toProgressCount -import ua.acclorite.book_story.domain.reader.toReaderScreenOrientation -import ua.acclorite.book_story.domain.reader.toTextAlignment -import ua.acclorite.book_story.domain.ui.DarkTheme -import ua.acclorite.book_story.domain.ui.PureDark -import ua.acclorite.book_story.domain.ui.ThemeContrast -import ua.acclorite.book_story.domain.ui.toDarkTheme -import ua.acclorite.book_story.domain.ui.toPureDark -import ua.acclorite.book_story.domain.ui.toThemeContrast -import ua.acclorite.book_story.domain.util.HorizontalAlignment -import ua.acclorite.book_story.domain.util.toHorizontalAlignment -import ua.acclorite.book_story.presentation.core.constants.DataStoreConstants -import ua.acclorite.book_story.presentation.core.constants.provideFonts -import ua.acclorite.book_story.presentation.core.constants.provideLanguages +import ua.acclorite.book_story.presentation.common.constants.DataStoreConstants +import ua.acclorite.book_story.presentation.common.constants.provideFonts +import ua.acclorite.book_story.presentation.common.constants.provideLanguages +import ua.acclorite.book_story.ui.browse.model.BrowseLayout +import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder +import ua.acclorite.book_story.ui.library.model.LibraryLayout +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder +import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition +import ua.acclorite.book_story.ui.main.model.DarkTheme +import ua.acclorite.book_story.ui.main.model.HorizontalAlignment +import ua.acclorite.book_story.ui.main.model.PureDark +import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects +import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount +import ua.acclorite.book_story.ui.reader.model.ReaderScreenOrientation +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.theme.Theme import ua.acclorite.book_story.ui.theme.toTheme import java.util.Locale @@ -176,11 +161,11 @@ data class MainState( ) { theme }, darkTheme = provideValue( - DARK_THEME, convert = { toDarkTheme() } + DARK_THEME, convert = { DarkTheme.valueOf(this) } ) { darkTheme }, pureDark = provideValue( - PURE_DARK, convert = { toPureDark() } + PURE_DARK, convert = { PureDark.valueOf(this) } ) { pureDark }, absoluteDark = provideValue( @@ -188,7 +173,7 @@ data class MainState( ) { absoluteDark }, themeContrast = provideValue( - THEME_CONTRAST, convert = { toThemeContrast() } + THEME_CONTRAST, convert = { ThemeContrast.valueOf(this) } ) { themeContrast }, showStartScreen = provideValue( @@ -232,7 +217,7 @@ data class MainState( ) { fastColorPresetChange }, browseLayout = provideValue( - BROWSE_LAYOUT, convert = { toBrowseLayout() } + BROWSE_LAYOUT, convert = { BrowseLayout.valueOf(this) } ) { browseLayout }, browseAutoGridSize = provideValue( @@ -244,7 +229,7 @@ data class MainState( ) { browseGridSize }, browseSortOrder = provideValue( - BROWSE_SORT_ORDER, convert = { toBrowseSortOrder() } + BROWSE_SORT_ORDER, convert = { BrowseSortOrder.valueOf(this) } ) { browseSortOrder }, browseSortOrderDescending = provideValue( @@ -256,7 +241,7 @@ data class MainState( ) { browseIncludedFilterItems }, textAlignment = provideValue( - TEXT_ALIGNMENT, convert = { toTextAlignment() } + TEXT_ALIGNMENT, convert = { ReaderTextAlignment.valueOf(this) } ) { textAlignment }, doublePressExit = provideValue( @@ -300,7 +285,7 @@ data class MainState( ) { perceptionExpanderThickness }, screenOrientation = provideValue( - SCREEN_ORIENTATION, convert = { toReaderScreenOrientation() } + SCREEN_ORIENTATION, convert = { ReaderScreenOrientation.valueOf(this) } ) { screenOrientation }, customScreenBrightness = provideValue( @@ -312,7 +297,7 @@ data class MainState( ) { screenBrightness }, horizontalGesture = provideValue( - HORIZONTAL_GESTURE, convert = { toHorizontalGesture() } + HORIZONTAL_GESTURE, convert = { ReaderHorizontalGesture.valueOf(this) } ) { horizontalGesture }, horizontalGestureScroll = provideValue( @@ -336,7 +321,7 @@ data class MainState( ) { highlightedReadingThickness }, chapterTitleAlignment = provideValue( - CHAPTER_TITLE_ALIGNMENT, convert = { toTextAlignment() } + CHAPTER_TITLE_ALIGNMENT, convert = { ReaderTextAlignment.valueOf(this) } ) { chapterTitleAlignment }, images = provideValue( @@ -348,7 +333,7 @@ data class MainState( ) { imagesCornersRoundness }, imagesAlignment = provideValue( - IMAGES_ALIGNMENT, convert = { toHorizontalAlignment() } + IMAGES_ALIGNMENT, convert = { HorizontalAlignment.valueOf(this) } ) { imagesAlignment }, imagesWidth = provideValue( @@ -356,7 +341,7 @@ data class MainState( ) { imagesWidth }, imagesColorEffects = provideValue( - IMAGES_COLOR_EFFECTS, convert = { toColorEffects() } + IMAGES_COLOR_EFFECTS, convert = { ReaderColorEffects.valueOf(this) } ) { imagesColorEffects }, progressBar = provideValue( @@ -368,7 +353,7 @@ data class MainState( ) { progressBarPadding }, progressBarAlignment = provideValue( - PROGRESS_BAR_ALIGNMENT, convert = { toHorizontalAlignment() } + PROGRESS_BAR_ALIGNMENT, convert = { HorizontalAlignment.valueOf(this) } ) { progressBarAlignment }, progressBarFontSize = provideValue( @@ -380,11 +365,11 @@ data class MainState( ) { browsePinnedPaths }, fontThickness = provideValue( - FONT_THICKNESS, convert = { toFontThickness() } + FONT_THICKNESS, convert = { ReaderFontThickness.valueOf(this) } ) { fontThickness }, progressCount = provideValue( - PROGRESS_COUNT, convert = { toProgressCount() } + PROGRESS_COUNT, convert = { ReaderProgressCount.valueOf(this) } ) { progressCount }, horizontalGestureAlphaAnim = provideValue( @@ -396,7 +381,7 @@ data class MainState( ) { horizontalGesturePullAnim }, libraryLayout = provideValue( - LIBRARY_LAYOUT, convert = { toLibraryLayout() } + LIBRARY_LAYOUT, convert = { LibraryLayout.valueOf(this) } ) { libraryLayout }, libraryAutoGridSize = provideValue( @@ -416,7 +401,7 @@ data class MainState( ) { libraryShowProgress }, libraryTitlePosition = provideValue( - LIBRARY_TITLE_POSITION, convert = { toLibraryTitlePosition() } + LIBRARY_TITLE_POSITION, convert = { LibraryTitlePosition.valueOf(this) } ) { libraryTitlePosition }, libraryShowBookCount = provideValue( @@ -432,7 +417,7 @@ data class MainState( ) { libraryAlwaysShowDefaultTab }, librarySortOrder = provideValue( - LIBRARY_SORT_ORDER, convert = { toLibrarySortOrder() } + LIBRARY_SORT_ORDER, convert = { LibrarySortOrder.valueOf(this) } ) { librarySortOrder }, librarySortOrderDescending = provideValue( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/ui/DarkTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/model/DarkTheme.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/domain/ui/DarkTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/main/model/DarkTheme.kt index 8c927728..0afcf722 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/ui/DarkTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/model/DarkTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.ui +package ua.acclorite.book_story.ui.main.model import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.runtime.Composable @@ -17,10 +17,6 @@ enum class DarkTheme { ON } -fun String.toDarkTheme(): DarkTheme { - return DarkTheme.valueOf(this) -} - @Composable fun DarkTheme.isDark(): Boolean { return when (this) { diff --git a/app/src/main/java/ua/acclorite/book_story/domain/util/HorizontalAlignment.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/model/HorizontalAlignment.kt similarity index 51% rename from app/src/main/java/ua/acclorite/book_story/domain/util/HorizontalAlignment.kt rename to app/src/main/java/ua/acclorite/book_story/ui/main/model/HorizontalAlignment.kt index 32fc8ee7..09d0e3bc 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/util/HorizontalAlignment.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/model/HorizontalAlignment.kt @@ -4,16 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.util +package ua.acclorite.book_story.ui.main.model +import androidx.compose.runtime.Immutable import androidx.compose.ui.Alignment +@Immutable enum class HorizontalAlignment(val alignment: Alignment) { - START(Alignment.CenterStart), - CENTER(Alignment.Center), - END(Alignment.CenterEnd) -} - -fun String.toHorizontalAlignment(): HorizontalAlignment { - return HorizontalAlignment.valueOf(this) + START(Alignment.Companion.CenterStart), + CENTER(Alignment.Companion.Center), + END(Alignment.Companion.CenterEnd) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/ui/PureDark.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/model/PureDark.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/domain/ui/PureDark.kt rename to app/src/main/java/ua/acclorite/book_story/ui/main/model/PureDark.kt index 6df0370f..ee94d5dc 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/ui/PureDark.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/model/PureDark.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.ui +package ua.acclorite.book_story.ui.main.model import android.content.Context import android.os.PowerManager @@ -18,10 +18,6 @@ enum class PureDark { SAVER } -fun String.toPureDark(): PureDark { - return PureDark.valueOf(this) -} - @Composable fun PureDark.isPureDark(context: Context): Boolean { val powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager diff --git a/app/src/main/java/ua/acclorite/book_story/domain/ui/ThemeContrast.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/model/ThemeContrast.kt similarity index 67% rename from app/src/main/java/ua/acclorite/book_story/domain/ui/ThemeContrast.kt rename to app/src/main/java/ua/acclorite/book_story/ui/main/model/ThemeContrast.kt index 84d49783..7d2e91d4 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/ui/ThemeContrast.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/model/ThemeContrast.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.ui +package ua.acclorite.book_story.ui.main.model import androidx.compose.runtime.Immutable @@ -13,8 +13,4 @@ enum class ThemeContrast { STANDARD, MEDIUM, HIGH -} - -fun String.toThemeContrast(): ThemeContrast { - return ThemeContrast.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/navigator/Navigator.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/domain/navigator/Navigator.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt index 2d7dc94c..49b6352d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/navigator/Navigator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.navigator +package ua.acclorite.book_story.ui.navigator import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel diff --git a/app/src/main/java/ua/acclorite/book_story/domain/navigator/NavigatorItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorItem.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/domain/navigator/NavigatorItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorItem.kt index d83447e5..411e9f05 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/navigator/NavigatorItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.navigator +package ua.acclorite.book_story.ui.navigator import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/app/src/main/java/ua/acclorite/book_story/domain/navigator/Screen.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Screen.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/domain/navigator/Screen.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/Screen.kt index e5f65ce8..16b3d808 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/navigator/Screen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Screen.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.navigator +package ua.acclorite.book_story.ui.navigator import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/navigator/StackEvent.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/StackEvent.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/domain/navigator/StackEvent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/StackEvent.kt index bfb831b0..ce17ca8d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/navigator/StackEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/StackEvent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.navigator +package ua.acclorite.book_story.ui.navigator import android.os.Parcelable import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderModel.kt index d2f59f75..73a84bf1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderModel.kt @@ -35,19 +35,19 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.Checkpoint +import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.domain.ui.UIText import ua.acclorite.book_story.domain.use_case.book.GetBookById import ua.acclorite.book_story.domain.use_case.book.GetText import ua.acclorite.book_story.domain.use_case.book.UpdateBook import ua.acclorite.book_story.domain.use_case.history.GetLatestHistory -import ua.acclorite.book_story.presentation.core.util.coerceAndPreventNaN -import ua.acclorite.book_story.presentation.core.util.launchActivity -import ua.acclorite.book_story.presentation.core.util.setBrightness -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.util.coerceAndPreventNaN +import ua.acclorite.book_story.presentation.common.util.launchActivity +import ua.acclorite.book_story.presentation.common.util.setBrightness +import ua.acclorite.book_story.presentation.common.util.showToast import ua.acclorite.book_story.ui.history.HistoryScreen import ua.acclorite.book_story.ui.library.LibraryScreen +import ua.acclorite.book_story.ui.reader.model.Checkpoint import javax.inject.Inject import kotlin.math.roundToInt diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt index 6cf498b7..e06d3dc7 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt @@ -44,18 +44,18 @@ import androidx.core.view.WindowInsetsCompat import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.domain.reader.ReaderColorEffects -import ua.acclorite.book_story.domain.reader.ReaderProgressCount -import ua.acclorite.book_story.domain.reader.ReaderTextAlignment -import ua.acclorite.book_story.presentation.core.constants.provideFonts -import ua.acclorite.book_story.presentation.core.util.LocalActivity -import ua.acclorite.book_story.presentation.core.util.calculateProgress -import ua.acclorite.book_story.presentation.core.util.setBrightness +import ua.acclorite.book_story.presentation.common.constants.provideFonts +import ua.acclorite.book_story.presentation.common.util.LocalActivity +import ua.acclorite.book_story.presentation.common.util.calculateProgress +import ua.acclorite.book_story.presentation.common.util.setBrightness import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.reader.ReaderContent import ua.acclorite.book_story.ui.book_info.BookInfoScreen import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects +import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount +import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.settings.SettingsModel import kotlin.math.roundToInt diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderState.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderState.kt index 9ada47a1..181f73f8 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderState.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderState.kt @@ -8,14 +8,14 @@ package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.book.Book -import ua.acclorite.book_story.domain.reader.Checkpoint +import ua.acclorite.book_story.core.BottomSheet +import ua.acclorite.book_story.core.Drawer +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.domain.ui.UIText -import ua.acclorite.book_story.domain.util.BottomSheet -import ua.acclorite.book_story.domain.util.Drawer -import ua.acclorite.book_story.presentation.core.constants.provideEmptyBook +import ua.acclorite.book_story.presentation.common.constants.provideEmptyBook +import ua.acclorite.book_story.ui.reader.model.Checkpoint @Immutable data class ReaderState( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/Checkpoint.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/Checkpoint.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/Checkpoint.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/Checkpoint.kt index 0de4973d..cca1e44a 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/Checkpoint.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/Checkpoint.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderColorEffects.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderColorEffects.kt similarity index 67% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderColorEffects.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderColorEffects.kt index bce340dc..3e40ca2f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderColorEffects.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderColorEffects.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable @@ -14,8 +14,4 @@ enum class ReaderColorEffects { GRAYSCALE, FONT, BACKGROUND -} - -fun String.toColorEffects(): ReaderColorEffects { - return ReaderColorEffects.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderFontThickness.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderFontThickness.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderFontThickness.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderFontThickness.kt index 4c84e3e2..3109b266 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderFontThickness.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderFontThickness.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.font.FontWeight @@ -16,8 +16,4 @@ enum class ReaderFontThickness(val thickness: FontWeight) { LIGHT(FontWeight.Light), NORMAL(FontWeight.Normal), MEDIUM(FontWeight.Medium) -} - -fun String.toFontThickness(): ReaderFontThickness { - return ReaderFontThickness.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderHorizontalGesture.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderHorizontalGesture.kt similarity index 63% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderHorizontalGesture.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderHorizontalGesture.kt index 5fcdfced..59504697 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderHorizontalGesture.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderHorizontalGesture.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable @@ -13,8 +13,4 @@ enum class ReaderHorizontalGesture { OFF, ON, INVERSE -} - -fun String.toHorizontalGesture(): ReaderHorizontalGesture { - return ReaderHorizontalGesture.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderProgressCount.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderProgressCount.kt similarity index 65% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderProgressCount.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderProgressCount.kt index bb2d6de9..59767f07 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderProgressCount.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderProgressCount.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable @@ -12,8 +12,4 @@ import androidx.compose.runtime.Immutable enum class ReaderProgressCount { PERCENTAGE, QUANTITY -} - -fun String.toProgressCount(): ReaderProgressCount { - return ReaderProgressCount.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderScreenOrientation.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderScreenOrientation.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderScreenOrientation.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderScreenOrientation.kt index 70db3d58..83fd328b 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderScreenOrientation.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderScreenOrientation.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.ui.reader.model import android.content.pm.ActivityInfo import androidx.compose.runtime.Immutable @@ -17,8 +17,4 @@ enum class ReaderScreenOrientation(val code: Int) { LANDSCAPE(ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE), LOCKED_PORTRAIT(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT), LOCKED_LANDSCAPE(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE), -} - -fun String.toReaderScreenOrientation(): ReaderScreenOrientation { - return ReaderScreenOrientation.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderTextAlignment.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderTextAlignment.kt similarity index 74% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderTextAlignment.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderTextAlignment.kt index 0a59bd22..6c52d058 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderTextAlignment.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderTextAlignment.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.style.TextAlign @@ -15,8 +15,4 @@ enum class ReaderTextAlignment(val textAlignment: TextAlign) { JUSTIFY(TextAlign.Justify), CENTER(TextAlign.Center), END(TextAlign.End) -} - -fun String.toTextAlignment(): ReaderTextAlignment { - return ReaderTextAlignment.valueOf(this) } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/AppearanceSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/AppearanceSettingsScreen.kt index 2a81c441..8b6fedc8 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/AppearanceSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/AppearanceSettingsScreen.kt @@ -11,10 +11,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.settings.appearance.AppearanceSettingsContent +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object AppearanceSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/BrowseSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/BrowseSettingsScreen.kt index 0012d5da..88f6bdf9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/BrowseSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/BrowseSettingsScreen.kt @@ -11,10 +11,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.settings.browse.BrowseSettingsContent +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object BrowseSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/GeneralSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/GeneralSettingsScreen.kt index 4a91f8dd..06200953 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/GeneralSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/GeneralSettingsScreen.kt @@ -11,10 +11,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.settings.general.GeneralSettingsContent +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object GeneralSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/LibrarySettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/LibrarySettingsScreen.kt index 0806e96a..6848fac3 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/LibrarySettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/LibrarySettingsScreen.kt @@ -11,10 +11,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.settings.library.LibrarySettingsContent +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object LibrarySettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/ReaderSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/ReaderSettingsScreen.kt index 08dc5837..ce317fad 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/ReaderSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/ReaderSettingsScreen.kt @@ -11,10 +11,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.settings.reader.ReaderSettingsContent +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object ReaderSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsEvent.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsEvent.kt index 672c071a..54e1bbda 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsEvent.kt @@ -10,9 +10,9 @@ import android.content.Context import android.net.Uri import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.display.LibrarySortOrder -import ua.acclorite.book_story.domain.util.ID +import ua.acclorite.book_story.core.ID +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.ui.library.model.LibrarySortOrder @Immutable sealed class SettingsEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsModel.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsModel.kt index dbab7eb5..04920a27 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsModel.kt @@ -20,8 +20,8 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.domain.reader.ColorPreset import ua.acclorite.book_story.domain.use_case.category.DeleteCategory import ua.acclorite.book_story.domain.use_case.category.GetCategories @@ -37,8 +37,8 @@ import ua.acclorite.book_story.domain.use_case.color_preset.SelectColorPreset import ua.acclorite.book_story.domain.use_case.color_preset.UpdateColorPreset import ua.acclorite.book_story.domain.use_case.permission.GrantPersistableUriPermission import ua.acclorite.book_story.domain.use_case.permission.ReleasePersistableUriPermission -import ua.acclorite.book_story.presentation.core.constants.provideDefaultColorPreset -import ua.acclorite.book_story.presentation.core.util.showToast +import ua.acclorite.book_story.presentation.common.constants.provideDefaultColorPreset +import ua.acclorite.book_story.presentation.common.util.showToast import javax.inject.Inject import kotlin.random.Random diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScreen.kt index 2e1e7955..c73593b1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScreen.kt @@ -11,10 +11,10 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.presentation.core.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.settings.SettingsContent +import ua.acclorite.book_story.ui.navigator.Screen @Parcelize object SettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsState.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsState.kt index 218c0296..c3595c9a 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsState.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsState.kt @@ -8,10 +8,10 @@ package ua.acclorite.book_story.ui.settings import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.category.Category -import ua.acclorite.book_story.domain.library.category.CategorySort +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.presentation.core.constants.provideDefaultColorPreset +import ua.acclorite.book_story.presentation.common.constants.provideDefaultColorPreset @Immutable data class SettingsState( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/start/StartScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartScreen.kt index bc55042e..145b4a86 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/start/StartScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartScreen.kt @@ -17,17 +17,17 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.domain.navigator.Screen -import ua.acclorite.book_story.domain.navigator.StackEvent -import ua.acclorite.book_story.domain.ui.ButtonItem -import ua.acclorite.book_story.presentation.core.constants.provideLanguages -import ua.acclorite.book_story.presentation.core.util.LocalActivity +import ua.acclorite.book_story.presentation.common.constants.provideLanguages +import ua.acclorite.book_story.presentation.common.model.ButtonItem +import ua.acclorite.book_story.presentation.common.util.LocalActivity import ua.acclorite.book_story.presentation.navigator.LocalNavigator import ua.acclorite.book_story.presentation.start.StartContent import ua.acclorite.book_story.ui.browse.BrowseScreen import ua.acclorite.book_story.ui.help.HelpScreen import ua.acclorite.book_story.ui.main.MainEvent import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.ui.navigator.StackEvent @Parcelize object StartScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt index a33e5c31..4b4cac23 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt @@ -11,7 +11,7 @@ import androidx.compose.animation.core.tween import androidx.compose.material3.ColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast @Composable private fun animateColor(targetColor: Color): Color { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt index e7024da2..98d4b3a0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt @@ -12,7 +12,7 @@ import androidx.compose.material3.ColorScheme import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast import ua.acclorite.book_story.ui.theme.color.aquaTheme import ua.acclorite.book_story.ui.theme.color.blackTheme import ua.acclorite.book_story.ui.theme.color.blueTheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt index 7265fac6..29204f23 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt @@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.SideEffect import androidx.compose.ui.platform.LocalView import androidx.core.view.WindowCompat -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast @Composable fun BookStoryTheme( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt index 872b9e9c..bd583661 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.core.components.common.AnimatedVisibility +import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility import kotlin.math.roundToInt object Transitions { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt index b3016fe7..3b36d002 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF116682) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt index 23be04de..a7e54ba5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF485D92) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt index 74bf7164..512e8008 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF306A42) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt index 1c062946..c2f4ff27 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF824C76) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt index 73b88259..7eac00d3 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF006A65) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt index c9688a77..bda71655 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF8C4A60) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt index 711e8dec..3078837d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF725188) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt index e5c01396..4c95ab79 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF904A42) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt index a954af3e..5714cd23 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.domain.ui.ThemeContrast +import ua.acclorite.book_story.ui.main.model.ThemeContrast private val primaryLight = Color(0xFF845415) private val onPrimaryLight = Color(0xFFFFFFFF) From 378975bf3ec26d8e8c3ccae30045504a60af20db Mon Sep 17 00:00:00 2001 From: Acclorite <2ma0bhpk@anonaddy.com> Date: Sun, 4 May 2025 08:50:32 +0300 Subject: [PATCH 2/7] =?UTF-8?q?refactor:=20rename=20presentation/=20?= =?UTF-8?q?=E2=86=94=20ui/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 +- .../book_story/core/crash/CrashHandler.kt | 2 +- .../data/local/dto/CategorySortEntity.kt | 2 +- .../book_story/data/parser/DocumentParser.kt | 6 +- .../book_story/data/parser/MarkdownParser.kt | 2 +- .../data/parser/epub/EpubTextParser.kt | 6 +- .../data/parser/pdf/PdfTextParser.kt | 2 +- .../data/parser/txt/TxtTextParser.kt | 2 +- .../repository/DataStoreRepositoryImpl.kt | 2 +- .../repository/FileSystemRepositoryImpl.kt | 2 +- .../book_story/domain/library/CategorySort.kt | 2 +- .../domain/repository/DataStoreRepository.kt | 2 +- .../use_case/data_store/ChangeLanguage.kt | 2 +- .../use_case/data_store/GetAllSettings.kt | 2 +- .../{ui => presentation}/about/AboutEvent.kt | 2 +- .../{ui => presentation}/about/AboutModel.kt | 6 +- .../{ui => presentation}/about/AboutScreen.kt | 14 +- .../book_info/BookInfoEvent.kt | 2 +- .../book_info/BookInfoModel.kt | 10 +- .../book_info/BookInfoScreen.kt | 16 +-- .../book_info/BookInfoState.kt | 4 +- .../browse/BrowseEvent.kt | 6 +- .../browse/BrowseModel.kt | 14 +- .../browse/BrowseScreen.kt | 16 +-- .../browse/BrowseState.kt | 6 +- .../browse/model/BrowseLayout.kt | 2 +- .../browse/model/BrowseSortOrder.kt | 2 +- .../browse/model/GroupedFiles.kt | 2 +- .../browse/model/SelectableFile.kt | 2 +- .../crash/CrashActivity.kt | 8 +- .../{ui => presentation}/crash/CrashScreen.kt | 12 +- .../credits/CreditsScreen.kt | 12 +- .../{ui => presentation}/help/HelpScreen.kt | 18 +-- .../history/HistoryEvent.kt | 2 +- .../history/HistoryModel.kt | 8 +- .../history/HistoryScreen.kt | 14 +- .../history/HistoryState.kt | 4 +- .../history/model/GroupedHistory.kt | 2 +- .../library/LibraryEvent.kt | 2 +- .../library/LibraryModel.kt | 10 +- .../library/LibraryScreen.kt | 22 +-- .../library/LibraryState.kt | 4 +- .../library/model/LibraryLayout.kt | 2 +- .../library/model/LibrarySortOrder.kt | 2 +- .../library/model/LibraryTitlePosition.kt | 2 +- .../library/model/SelectableBook.kt | 2 +- .../library/model/SelectableNullableBook.kt | 2 +- .../license_info/LicenseInfoScreen.kt | 12 +- .../licenses/LicensesScreen.kt | 12 +- .../{ui => presentation}/main/MainActivity.kt | 40 +++--- .../{ui => presentation}/main/MainEvent.kt | 2 +- .../{ui => presentation}/main/MainModel.kt | 40 +++--- .../{ui => presentation}/main/MainState.kt | 42 +++--- .../main/model/DarkTheme.kt | 2 +- .../main/model/HorizontalAlignment.kt | 2 +- .../main/model/PureDark.kt | 2 +- .../main/model/ThemeContrast.kt | 2 +- .../presentation/navigator/Navigator.kt | 128 +++++++++--------- .../navigator/NavigatorItem.kt | 2 +- .../{ui => presentation}/navigator/Screen.kt | 2 +- .../navigator/StackEvent.kt | 2 +- .../reader/ReaderEvent.kt | 2 +- .../reader/ReaderModel.kt | 16 +-- .../reader/ReaderScreen.kt | 28 ++-- .../reader/ReaderState.kt | 6 +- .../reader/model/Checkpoint.kt | 2 +- .../reader/model/ReaderColorEffects.kt | 2 +- .../reader/model/ReaderFontThickness.kt | 2 +- .../reader/model/ReaderHorizontalGesture.kt | 2 +- .../reader/model/ReaderProgressCount.kt | 2 +- .../reader/model/ReaderScreenOrientation.kt | 2 +- .../reader/model/ReaderTextAlignment.kt | 2 +- .../settings/AppearanceSettingsScreen.kt | 10 +- .../settings/BrowseSettingsScreen.kt | 10 +- .../settings/GeneralSettingsScreen.kt | 10 +- .../settings/LibrarySettingsScreen.kt | 10 +- .../settings/ReaderSettingsScreen.kt | 10 +- .../settings/SettingsEvent.kt | 4 +- .../settings/SettingsModel.kt | 6 +- .../settings/SettingsScreen.kt | 10 +- .../settings/SettingsState.kt | 4 +- .../{ui => presentation}/start/StartScreen.kt | 24 ++-- .../{ui => presentation}/theme/Animations.kt | 4 +- .../{ui => presentation}/theme/Color.kt | 38 +++--- .../{ui => presentation}/theme/Theme.kt | 4 +- .../theme/ThemeExtensions.kt | 2 +- .../{ui => presentation}/theme/ThemeLogger.kt | 2 +- .../{ui => presentation}/theme/Transitions.kt | 4 +- .../theme/color/AquaTheme.kt | 4 +- .../theme/color/BlackTheme.kt | 4 +- .../theme/color/BlueTheme.kt | 4 +- .../theme/color/DynamicTheme.kt | 2 +- .../theme/color/Green2Theme.kt | 2 +- .../theme/color/GreenGrayTheme.kt | 2 +- .../theme/color/GreenTheme.kt | 4 +- .../theme/color/LavenderTheme.kt | 4 +- .../theme/color/MarshTheme.kt | 4 +- .../theme/color/Pink2Theme.kt | 2 +- .../theme/color/PinkTheme.kt | 4 +- .../theme/color/PurpleGrayTheme.kt | 2 +- .../theme/color/PurpleTheme.kt | 4 +- .../theme/color/RedGrayTheme.kt | 2 +- .../theme/color/RedTheme.kt | 4 +- .../theme/color/Yellow2Theme.kt | 2 +- .../theme/color/YellowTheme.kt | 4 +- .../about/AboutBadgeItem.kt | 6 +- .../{presentation => ui}/about/AboutBadges.kt | 8 +- .../about/AboutContent.kt | 4 +- .../{presentation => ui}/about/AboutItem.kt | 4 +- .../{presentation => ui}/about/AboutLayout.kt | 16 +-- .../about/AboutScaffold.kt | 4 +- .../{presentation => ui}/about/AboutTopBar.kt | 6 +- .../{presentation => ui}/about/model/Badge.kt | 2 +- .../about/model/Credit.kt | 2 +- .../book_info/BookInfoAuthorDialog.kt | 6 +- .../book_info/BookInfoBackHandler.kt | 2 +- .../book_info/BookInfoBottomSheet.kt | 6 +- .../BookInfoChangeCoverBottomSheet.kt | 6 +- .../BookInfoChangeCoverBottomSheetItem.kt | 4 +- .../book_info/BookInfoContent.kt | 4 +- .../book_info/BookInfoDeleteDialog.kt | 6 +- .../book_info/BookInfoDescriptionDialog.kt | 6 +- .../book_info/BookInfoDetailsBottomSheet.kt | 12 +- .../BookInfoDetailsBottomSheetItem.kt | 6 +- .../book_info/BookInfoDialog.kt | 6 +- .../book_info/BookInfoLayout.kt | 8 +- .../book_info/BookInfoLayoutActions.kt | 4 +- .../book_info/BookInfoLayoutActionsItem.kt | 4 +- .../book_info/BookInfoLayoutBackground.kt | 4 +- .../book_info/BookInfoLayoutButton.kt | 6 +- .../book_info/BookInfoLayoutDescription.kt | 8 +- .../book_info/BookInfoLayoutInfo.kt | 4 +- .../book_info/BookInfoLayoutInfoAuthor.kt | 8 +- .../book_info/BookInfoLayoutInfoCover.kt | 8 +- .../book_info/BookInfoLayoutInfoProgress.kt | 6 +- .../book_info/BookInfoLayoutInfoTitle.kt | 8 +- .../book_info/BookInfoMoveDialog.kt | 10 +- .../book_info/BookInfoPathDialog.kt | 6 +- .../book_info/BookInfoScaffold.kt | 4 +- .../book_info/BookInfoTitleDialog.kt | 6 +- .../book_info/BookInfoTopBar.kt | 16 +-- .../browse/BrowseAddDialog.kt | 12 +- .../browse/BrowseAddDialogItem.kt | 8 +- .../browse/BrowseBackHandler.kt | 4 +- .../browse/BrowseBottomSheet.kt | 6 +- .../browse/BrowseContent.kt | 12 +- .../browse/BrowseDialog.kt | 8 +- .../browse/BrowseEmptyPlaceholder.kt | 8 +- .../browse/BrowseFilterBottomSheet.kt | 14 +- .../browse/BrowseFilterBottomSheetTabRow.kt | 4 +- .../browse/BrowseGridFileItem.kt | 10 +- .../browse/BrowseGridItem.kt | 4 +- .../browse/BrowseGridLayout.kt | 12 +- .../{presentation => ui}/browse/BrowseItem.kt | 6 +- .../browse/BrowseLayout.kt | 8 +- .../browse/BrowseLayoutHeader.kt | 6 +- .../browse/BrowseListFileItem.kt | 6 +- .../browse/BrowseListItem.kt | 8 +- .../browse/BrowseListLayout.kt | 10 +- .../browse/BrowseRefreshIndicator.kt | 2 +- .../browse/BrowseScaffold.kt | 12 +- .../browse/BrowseTopBar.kt | 20 +-- .../components/common/AnimatedVisibility.kt | 2 +- .../components/common/AsyncCoverImage.kt | 2 +- .../components/common/CircularCheckbox.kt | 2 +- .../components/common/HighlightedText.kt | 2 +- .../common/components/common/IconButton.kt | 2 +- .../common/LazyColumnWithScrollbar.kt | 4 +- .../components/common/LazyGridHeader.kt | 2 +- .../common/LazyVerticalGridWithScrollbar.kt | 4 +- .../components/common/SearchTextField.kt | 2 +- .../components/common/SelectionContainer.kt | 2 +- .../common/components/common/Snackbar.kt | 2 +- .../common/components/common/SpacedItem.kt | 2 +- .../common/components/common/StyledText.kt | 2 +- .../common/components/common/Tooltip.kt | 2 +- .../components/dialog/CheckboxDialogItem.kt | 4 +- .../common/components/dialog/Dialog.kt | 6 +- .../components/dialog/DialogWithTextField.kt | 4 +- .../components/dialog/SelectableDialogItem.kt | 4 +- .../modal_bottom_sheet/ModalBottomSheet.kt | 2 +- .../ModalBottomSheetTabRow.kt | 4 +- .../components/modal_drawer/ModalDrawer.kt | 10 +- .../modal_drawer/ModalDrawerSelectableItem.kt | 2 +- .../modal_drawer/ModalDrawerTitleItem.kt | 4 +- .../navigation_bar/NavigationBar.kt | 6 +- .../navigation_bar/NavigationBarItem.kt | 8 +- .../navigation_rail/NavigationRail.kt | 6 +- .../navigation_rail/NavigationRailItem.kt | 8 +- .../placeholder/EmptyPlaceholder.kt | 4 +- .../placeholder/ErrorPlaceholder.kt | 4 +- .../CircularProgressIndicator.kt | 2 +- .../components/settings/ChipsWithTitle.kt | 8 +- .../settings/ColorPickerWithTitle.kt | 6 +- .../settings/SegmentedButtonWithTitle.kt | 10 +- .../components/settings/SliderWithTitle.kt | 6 +- .../components/settings/SwitchWIthTitle.kt | 4 +- .../CollapsibleTopAppBarScrollBehavior.kt | 2 +- .../common/components/top_bar/TopAppBar.kt | 4 +- .../common/constants/AboutBadgeConstants.kt | 4 +- .../common/constants/CommonConstants.kt | 2 +- .../common/constants/CreditConstants.kt | 4 +- .../common/constants/DataStoreConstants.kt | 2 +- .../common/constants/FontConstants.kt | 4 +- .../common/constants/HelpTipConstants.kt | 6 +- .../common/constants/LanguageConstants.kt | 2 +- .../common/constants/LinkConstants.kt | 2 +- .../common/constants/ScrollbarConstants.kt | 2 +- .../constants/SupportedExtensionConstants.kt | 2 +- .../common/model/ButtonItem.kt | 2 +- .../common/model/Direction.kt | 2 +- .../common/model/Position.kt | 2 +- .../common/util/CollectionExtensions.kt | 2 +- .../common/util/LifecycleExtensions.kt | 2 +- .../common/util/ModifierExtensions.kt | 2 +- .../common/util/PrimitiveExtensions.kt | 2 +- .../common/util/ToastExtensions.kt | 2 +- .../crash/CrashBottomBar.kt | 4 +- .../crash/CrashContent.kt | 4 +- .../{presentation => ui}/crash/CrashLayout.kt | 4 +- .../crash/CrashScaffold.kt | 4 +- .../credits/CreditItem.kt | 6 +- .../credits/CreditsContent.kt | 4 +- .../credits/CreditsLayout.kt | 8 +- .../credits/CreditsScaffold.kt | 4 +- .../credits/CreditsTopBar.kt | 6 +- .../help/HelpAnnotation.kt | 2 +- .../help/HelpBottomBar.kt | 8 +- .../{presentation => ui}/help/HelpContent.kt | 4 +- .../{presentation => ui}/help/HelpItem.kt | 12 +- .../{presentation => ui}/help/HelpLayout.kt | 8 +- .../{presentation => ui}/help/HelpScaffold.kt | 4 +- .../{presentation => ui}/help/HelpTopBar.kt | 8 +- .../help/model/HelpTip.kt | 2 +- .../history/HistoryBackHandler.kt | 4 +- .../history/HistoryContent.kt | 6 +- .../HistoryDeleteWholeHistoryDialog.kt | 6 +- .../history/HistoryDialog.kt | 6 +- .../history/HistoryEmptyPlaceholder.kt | 8 +- .../history/HistoryItem.kt | 10 +- .../history/HistoryLayout.kt | 16 +-- .../history/HistoryRefreshIndicator.kt | 2 +- .../history/HistoryScaffold.kt | 8 +- .../history/HistoryTopBar.kt | 16 +-- .../library/LibraryBackHandler.kt | 8 +- .../library/LibraryBottomSheet.kt | 12 +- .../library/LibraryContent.kt | 16 +-- .../library/LibraryDeleteDialog.kt | 6 +- .../library/LibraryDialog.kt | 8 +- .../library/LibraryEmptyPlaceholder.kt | 6 +- .../library/LibraryFilterBottomSheet.kt | 20 +-- .../library/LibraryFilterBottomSheetTabRow.kt | 4 +- .../library/LibraryGridItem.kt | 12 +- .../library/LibraryGridLayout.kt | 8 +- .../library/LibraryItem.kt | 8 +- .../library/LibraryLayout.kt | 6 +- .../library/LibraryListItem.kt | 10 +- .../library/LibraryListLayout.kt | 8 +- .../library/LibraryMoveDialog.kt | 12 +- .../library/LibraryPager.kt | 16 +-- .../library/LibraryRefreshIndicator.kt | 2 +- .../library/LibraryScaffold.kt | 12 +- .../library/LibraryTabs.kt | 4 +- .../library/LibraryTopBar.kt | 20 +-- .../license_info/LicenseInfoContent.kt | 4 +- .../license_info/LicenseInfoItem.kt | 6 +- .../license_info/LicenseInfoLayout.kt | 4 +- .../license_info/LicenseInfoScaffold.kt | 6 +- .../license_info/LicenseInfoTopBar.kt | 10 +- .../licenses/LicensesContent.kt | 2 +- .../licenses/LicensesItem.kt | 4 +- .../licenses/LicensesLayout.kt | 6 +- .../licenses/LicensesScaffold.kt | 2 +- .../licenses/LicensesTopBar.kt | 6 +- .../main/MainActivityKeyboardManager.kt | 2 +- .../book_story/ui/navigator/Navigator.kt | 122 ++++++++--------- .../navigator/NavigatorBackIconButton.kt | 4 +- .../navigator/NavigatorBottomSheet.kt | 12 +- .../navigator/NavigatorBottomSheetItem.kt | 6 +- .../navigator/NavigatorComposition.kt | 4 +- .../navigator/NavigatorIconButton.kt | 4 +- .../navigator/NavigatorTabs.kt | 6 +- .../reader/ReaderBackHandler.kt | 6 +- .../reader/ReaderBottomBar.kt | 18 +-- .../reader/ReaderBottomBarSlider.kt | 4 +- .../reader/ReaderBottomBarSliderIndicator.kt | 2 +- .../reader/ReaderBottomSheet.kt | 6 +- .../reader/ReaderChaptersDrawer.kt | 20 +-- .../reader/ReaderColorPresetChange.kt | 4 +- .../reader/ReaderContent.kt | 18 +-- .../reader/ReaderDrawer.kt | 6 +- .../reader/ReaderErrorPlaceholder.kt | 14 +- .../reader/ReaderHorizontalGesture.kt | 4 +- .../reader/ReaderLayout.kt | 28 ++-- .../reader/ReaderLayoutText.kt | 12 +- .../reader/ReaderLayoutTextChapter.kt | 6 +- .../reader/ReaderLayoutTextImage.kt | 4 +- .../reader/ReaderLayoutTextParagraph.kt | 14 +- .../reader/ReaderLayoutTextSeparator.kt | 2 +- .../reader/ReaderLoadingPlaceholder.kt | 4 +- .../reader/ReaderPerceptionExpander.kt | 2 +- .../reader/ReaderProgressBar.kt | 6 +- .../reader/ReaderScaffold.kt | 20 +-- .../reader/ReaderSettingsBottomSheet.kt | 34 ++--- .../reader/ReaderSettingsBottomSheetTabRow.kt | 4 +- .../reader/ReaderTopBar.kt | 16 +-- .../reader/model/ExpandableChapter.kt | 2 +- .../reader/model/FontWithName.kt | 2 +- .../settings/SettingsContent.kt | 2 +- .../settings/SettingsLayout.kt | 4 +- .../settings/SettingsLayoutItem.kt | 6 +- .../settings/SettingsScaffold.kt | 2 +- .../settings/SettingsTopBar.kt | 6 +- .../appearance/AppearanceSettingsCategory.kt | 6 +- .../appearance/AppearanceSettingsContent.kt | 2 +- .../appearance/AppearanceSettingsLayout.kt | 4 +- .../appearance/AppearanceSettingsScaffold.kt | 2 +- .../appearance/AppearanceSettingsTopBar.kt | 6 +- .../appearance/colors/ColorsSubcategory.kt | 8 +- .../colors/components/ColorPresetOption.kt | 20 +-- .../components/FastColorPresetChangeOption.kt | 8 +- .../ThemePreferencesSubcategory.kt | 14 +- .../components/AbsoluteDarkOption.kt | 14 +- .../components/AppThemeOption.kt | 22 +-- .../components/DarkThemeOption.kt | 12 +- .../components/PureDarkOption.kt | 16 +-- .../components/ThemeContrastOption.kt | 20 +-- .../settings/browse/BrowseSettingsCategory.kt | 6 +- .../settings/browse/BrowseSettingsContent.kt | 2 +- .../settings/browse/BrowseSettingsLayout.kt | 4 +- .../settings/browse/BrowseSettingsScaffold.kt | 2 +- .../settings/browse/BrowseSettingsTopBar.kt | 6 +- .../display/BrowseDisplaySubcategory.kt | 8 +- .../components/BrowseGridSizeOption.kt | 12 +- .../display/components/BrowseLayoutOption.kt | 12 +- .../browse/filter/BrowseFilterSubcategory.kt | 6 +- .../filter/components/BrowseFilterOption.kt | 10 +- .../browse/scan/BrowseScanSubcategory.kt | 8 +- .../scan/components/BrowseScanOption.kt | 18 +-- .../scan/components/BrowseScanOptionNote.kt | 4 +- .../browse/sort/BrowseSortSubcategory.kt | 6 +- .../sort/components/BrowseSortOption.kt | 10 +- .../components/SettingsSubcategory.kt | 2 +- .../components/SettingsSubcategoryNote.kt | 4 +- .../components/SettingsSubcategoryTitle.kt | 4 +- .../general/GeneralSettingsCategory.kt | 6 +- .../general/GeneralSettingsContent.kt | 2 +- .../settings/general/GeneralSettingsLayout.kt | 4 +- .../general/GeneralSettingsScaffold.kt | 2 +- .../settings/general/GeneralSettingsTopBar.kt | 6 +- .../general/components/AppLanguageOption.kt | 12 +- .../components/DoublePressExitOption.kt | 8 +- .../library/LibrarySettingsCategory.kt | 10 +- .../library/LibrarySettingsContent.kt | 2 +- .../settings/library/LibrarySettingsLayout.kt | 4 +- .../library/LibrarySettingsScaffold.kt | 2 +- .../settings/library/LibrarySettingsTopBar.kt | 6 +- .../LibraryCategoriesSubcategory.kt | 8 +- .../components/LibraryCategoriesOption.kt | 22 +-- .../components/LibraryCategoriesOptionNote.kt | 4 +- .../display/LibraryDisplaySubcategory.kt | 14 +- .../components/LibraryGridSizeOption.kt | 12 +- .../display/components/LibraryLayoutOption.kt | 12 +- .../components/LibraryReadButtonOption.kt | 8 +- .../components/LibraryShowProgressOption.kt | 8 +- .../components/LibraryTitlePositionOption.kt | 16 +-- .../library/sort/LibrarySortSubcategory.kt | 6 +- .../LibraryPerCategorySortOption.kt | 8 +- .../sort/components/LibrarySortOption.kt | 6 +- .../library/tabs/LibraryTabsSubcategory.kt | 10 +- .../LibraryAlwaysShowDefaultTabOption.kt | 8 +- .../components/LibraryShowBookCountOption.kt | 8 +- .../LibraryShowCategoryTabsOption.kt | 8 +- .../settings/reader/ReaderSettingsCategory.kt | 24 ++-- .../settings/reader/ReaderSettingsContent.kt | 2 +- .../settings/reader/ReaderSettingsLayout.kt | 4 +- .../settings/reader/ReaderSettingsScaffold.kt | 2 +- .../settings/reader/ReaderSettingsTopBar.kt | 6 +- .../reader/chapters/ChaptersSubcategory.kt | 6 +- .../components/ChapterTitleAlignmentOption.kt | 12 +- .../settings/reader/font/FontSubcategory.kt | 14 +- .../font/components/FontFamilyOption.kt | 12 +- .../reader/font/components/FontSizeOption.kt | 8 +- .../reader/font/components/FontStyleOption.kt | 12 +- .../font/components/FontThicknessOption.kt | 14 +- .../font/components/LetterSpacingOption.kt | 8 +- .../reader/images/ImagesSubcategory.kt | 14 +- .../components/ImagesAlignmentOption.kt | 14 +- .../components/ImagesColorEffectsOption.kt | 14 +- .../ImagesCornersRoundnessOption.kt | 10 +- .../reader/images/components/ImagesOption.kt | 8 +- .../images/components/ImagesWidthOption.kt | 10 +- .../settings/reader/misc/MiscSubcategory.kt | 10 +- .../misc/components/FullscreenOption.kt | 8 +- .../components/HideBarsOnFastScrollOption.kt | 8 +- .../misc/components/KeepScreenOnOption.kt | 8 +- .../reader/padding/PaddingSubcategory.kt | 12 +- .../components/BottomBarPaddingOption.kt | 8 +- .../padding/components/CutoutPaddingOption.kt | 8 +- .../padding/components/SidePaddingOption.kt | 8 +- .../components/VerticalPaddingOption.kt | 8 +- .../reader/progress/ProgressSubcategory.kt | 14 +- .../components/ProgressBarAlignmentOption.kt | 14 +- .../components/ProgressBarFontSizeOption.kt | 10 +- .../progress/components/ProgressBarOption.kt | 8 +- .../components/ProgressBarPaddingOption.kt | 10 +- .../components/ProgressCountOption.kt | 12 +- .../reading_mode/ReadingModeSubcategory.kt | 14 +- .../HorizontalGestureAlphaAnimOption.kt | 12 +- .../components/HorizontalGestureOption.kt | 12 +- .../HorizontalGesturePullAnimOption.kt | 12 +- .../HorizontalGestureScrollOption.kt | 12 +- .../HorizontalGestureSensitivityOption.kt | 12 +- .../reading_speed/ReadingSpeedSubcategory.kt | 14 +- .../components/HighlightedReadingOption.kt | 8 +- .../HighlightedReadingThicknessOption.kt | 10 +- .../components/PerceptionExpanderOption.kt | 8 +- .../PerceptionExpanderPaddingOption.kt | 10 +- .../PerceptionExpanderThicknessOption.kt | 10 +- .../reader/system/SystemSubcategory.kt | 10 +- .../CustomScreenBrightnessOption.kt | 8 +- .../components/ScreenBrightnessOption.kt | 10 +- .../components/ScreenOrientationOption.kt | 12 +- .../settings/reader/text/TextSubcategory.kt | 12 +- .../text/components/LineHeightOption.kt | 8 +- .../text/components/ParagraphHeightOption.kt | 8 +- .../components/ParagraphIndentationOption.kt | 12 +- .../text/components/TextAlignmentOption.kt | 12 +- .../translator/TranslatorSubcategory.kt | 6 +- .../DoubleClickTranslationOption.kt | 8 +- .../start/StartBackHandler.kt | 2 +- .../start/StartContent.kt | 10 +- .../start/StartContentTransition.kt | 6 +- .../{presentation => ui}/start/StartDone.kt | 2 +- .../start/StartDoneBottomBar.kt | 4 +- .../start/StartDoneLayout.kt | 4 +- .../start/StartDoneScaffold.kt | 2 +- .../start/StartSettings.kt | 10 +- .../start/StartSettingsBottomBar.kt | 4 +- .../start/StartSettingsLayout.kt | 4 +- .../start/StartSettingsLayoutAppearance.kt | 4 +- .../start/StartSettingsLayoutGeneral.kt | 10 +- .../start/StartSettingsLayoutScan.kt | 6 +- .../start/StartSettingsScaffold.kt | 4 +- 444 files changed, 1723 insertions(+), 1723 deletions(-) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/about/AboutEvent.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/about/AboutModel.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/about/AboutScreen.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/book_info/BookInfoEvent.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/book_info/BookInfoModel.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/book_info/BookInfoScreen.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/book_info/BookInfoState.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/BrowseEvent.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/BrowseModel.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/BrowseScreen.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/BrowseState.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/model/BrowseLayout.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/model/BrowseSortOrder.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/model/GroupedFiles.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/browse/model/SelectableFile.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/crash/CrashActivity.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/crash/CrashScreen.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/credits/CreditsScreen.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/help/HelpScreen.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/history/HistoryEvent.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/history/HistoryModel.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/history/HistoryScreen.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/history/HistoryState.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/history/model/GroupedHistory.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/LibraryEvent.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/LibraryModel.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/LibraryScreen.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/LibraryState.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/model/LibraryLayout.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/model/LibrarySortOrder.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/model/LibraryTitlePosition.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/model/SelectableBook.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/library/model/SelectableNullableBook.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/license_info/LicenseInfoScreen.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/licenses/LicensesScreen.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/MainActivity.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/MainEvent.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/MainModel.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/MainState.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/model/DarkTheme.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/model/HorizontalAlignment.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/model/PureDark.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/main/model/ThemeContrast.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/navigator/NavigatorItem.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/navigator/Screen.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/navigator/StackEvent.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/ReaderEvent.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/ReaderModel.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/ReaderScreen.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/ReaderState.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/model/Checkpoint.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/model/ReaderColorEffects.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/model/ReaderFontThickness.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/model/ReaderHorizontalGesture.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/model/ReaderProgressCount.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/model/ReaderScreenOrientation.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/reader/model/ReaderTextAlignment.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/AppearanceSettingsScreen.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/BrowseSettingsScreen.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/GeneralSettingsScreen.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/LibrarySettingsScreen.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/ReaderSettingsScreen.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/SettingsEvent.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/SettingsModel.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/SettingsScreen.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/settings/SettingsState.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/start/StartScreen.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/Animations.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/Color.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/Theme.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/ThemeExtensions.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/ThemeLogger.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/Transitions.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/AquaTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/BlackTheme.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/BlueTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/DynamicTheme.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/Green2Theme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/GreenGrayTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/GreenTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/LavenderTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/MarshTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/Pink2Theme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/PinkTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/PurpleGrayTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/PurpleTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/RedGrayTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/RedTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/Yellow2Theme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{ui => presentation}/theme/color/YellowTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/AboutBadgeItem.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/AboutBadges.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/AboutContent.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/AboutItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/AboutLayout.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/AboutScaffold.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/AboutTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/model/Badge.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/about/model/Credit.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoAuthorDialog.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoBackHandler.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoBottomSheet.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoChangeCoverBottomSheet.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoChangeCoverBottomSheetItem.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoContent.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoDeleteDialog.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoDescriptionDialog.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoDetailsBottomSheet.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoDetailsBottomSheetItem.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoDialog.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayout.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutActions.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutActionsItem.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutBackground.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutButton.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutDescription.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutInfo.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutInfoAuthor.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutInfoCover.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutInfoProgress.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoLayoutInfoTitle.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoMoveDialog.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoPathDialog.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoScaffold.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoTitleDialog.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/book_info/BookInfoTopBar.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseAddDialog.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseAddDialogItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseBackHandler.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseBottomSheet.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseDialog.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseEmptyPlaceholder.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseFilterBottomSheet.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseFilterBottomSheetTabRow.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseGridFileItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseGridItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseGridLayout.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseItem.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseLayout.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseLayoutHeader.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseListFileItem.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseListItem.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseListLayout.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseRefreshIndicator.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseScaffold.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/browse/BrowseTopBar.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/AnimatedVisibility.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/AsyncCoverImage.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/CircularCheckbox.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/HighlightedText.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/IconButton.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/LazyColumnWithScrollbar.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/LazyGridHeader.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/LazyVerticalGridWithScrollbar.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/SearchTextField.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/SelectionContainer.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/Snackbar.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/SpacedItem.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/StyledText.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/common/Tooltip.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/dialog/CheckboxDialogItem.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/dialog/Dialog.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/dialog/DialogWithTextField.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/dialog/SelectableDialogItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/modal_bottom_sheet/ModalBottomSheet.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/modal_drawer/ModalDrawer.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/modal_drawer/ModalDrawerSelectableItem.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/modal_drawer/ModalDrawerTitleItem.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/navigation_bar/NavigationBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/navigation_bar/NavigationBarItem.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/navigation_rail/NavigationRail.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/navigation_rail/NavigationRailItem.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/placeholder/EmptyPlaceholder.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/placeholder/ErrorPlaceholder.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/progress_indicator/CircularProgressIndicator.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/settings/ChipsWithTitle.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/settings/ColorPickerWithTitle.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/settings/SegmentedButtonWithTitle.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/settings/SliderWithTitle.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/settings/SwitchWIthTitle.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/components/top_bar/TopAppBar.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/AboutBadgeConstants.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/CommonConstants.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/CreditConstants.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/DataStoreConstants.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/FontConstants.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/HelpTipConstants.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/LanguageConstants.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/LinkConstants.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/ScrollbarConstants.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/constants/SupportedExtensionConstants.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/model/ButtonItem.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/model/Direction.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/model/Position.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/util/CollectionExtensions.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/util/LifecycleExtensions.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/util/ModifierExtensions.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/util/PrimitiveExtensions.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/common/util/ToastExtensions.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/crash/CrashBottomBar.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/crash/CrashContent.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/crash/CrashLayout.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/crash/CrashScaffold.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/credits/CreditItem.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/credits/CreditsContent.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/credits/CreditsLayout.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/credits/CreditsScaffold.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/credits/CreditsTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/HelpAnnotation.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/HelpBottomBar.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/HelpContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/HelpItem.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/HelpLayout.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/HelpScaffold.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/HelpTopBar.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/help/model/HelpTip.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryBackHandler.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryContent.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryDeleteWholeHistoryDialog.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryDialog.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryEmptyPlaceholder.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryItem.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryLayout.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryRefreshIndicator.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryScaffold.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/history/HistoryTopBar.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryBackHandler.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryBottomSheet.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryDeleteDialog.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryDialog.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryEmptyPlaceholder.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryFilterBottomSheet.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryFilterBottomSheetTabRow.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryGridItem.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryGridLayout.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryItem.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryLayout.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryListItem.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryListLayout.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryMoveDialog.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryPager.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryRefreshIndicator.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryScaffold.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryTabs.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/library/LibraryTopBar.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/license_info/LicenseInfoContent.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/license_info/LicenseInfoItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/license_info/LicenseInfoLayout.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/license_info/LicenseInfoScaffold.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/license_info/LicenseInfoTopBar.kt (85%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/licenses/LicensesContent.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/licenses/LicensesItem.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/licenses/LicensesLayout.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/licenses/LicensesScaffold.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/licenses/LicensesTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/main/MainActivityKeyboardManager.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/navigator/NavigatorBackIconButton.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/navigator/NavigatorBottomSheet.kt (86%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/navigator/NavigatorBottomSheetItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/navigator/NavigatorComposition.kt (73%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/navigator/NavigatorIconButton.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/navigator/NavigatorTabs.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderBackHandler.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderBottomBar.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderBottomBarSlider.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderBottomBarSliderIndicator.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderBottomSheet.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderChaptersDrawer.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderColorPresetChange.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderContent.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderDrawer.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderErrorPlaceholder.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderHorizontalGesture.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderLayout.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderLayoutText.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderLayoutTextChapter.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderLayoutTextImage.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderLayoutTextParagraph.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderLayoutTextSeparator.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderLoadingPlaceholder.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderPerceptionExpander.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderProgressBar.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderScaffold.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderSettingsBottomSheet.kt (79%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderSettingsBottomSheetTabRow.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/ReaderTopBar.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/model/ExpandableChapter.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/reader/model/FontWithName.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/SettingsContent.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/SettingsLayout.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/SettingsLayoutItem.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/SettingsScaffold.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/SettingsTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/AppearanceSettingsCategory.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/AppearanceSettingsContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/AppearanceSettingsLayout.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/AppearanceSettingsScaffold.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/AppearanceSettingsTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/colors/ColorsSubcategory.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/colors/components/ColorPresetOption.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/colors/components/FastColorPresetChangeOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/theme_preferences/ThemePreferencesSubcategory.kt (62%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/theme_preferences/components/AppThemeOption.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/theme_preferences/components/DarkThemeOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/theme_preferences/components/PureDarkOption.kt (73%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/appearance/theme_preferences/components/ThemeContrastOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/BrowseSettingsCategory.kt (61%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/BrowseSettingsContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/BrowseSettingsLayout.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/BrowseSettingsScaffold.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/BrowseSettingsTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/display/BrowseDisplaySubcategory.kt (74%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/display/components/BrowseGridSizeOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/display/components/BrowseLayoutOption.kt (75%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/filter/BrowseFilterSubcategory.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/filter/components/BrowseFilterOption.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/scan/BrowseScanSubcategory.kt (74%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/scan/components/BrowseScanOption.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/scan/components/BrowseScanOptionNote.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/sort/BrowseSortSubcategory.kt (79%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/browse/sort/components/BrowseSortOption.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/components/SettingsSubcategory.kt (95%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/components/SettingsSubcategoryNote.kt (92%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/components/SettingsSubcategoryTitle.kt (89%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/general/GeneralSettingsCategory.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/general/GeneralSettingsContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/general/GeneralSettingsLayout.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/general/GeneralSettingsScaffold.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/general/GeneralSettingsTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/general/components/AppLanguageOption.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/general/components/DoublePressExitOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/LibrarySettingsCategory.kt (50%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/LibrarySettingsContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/LibrarySettingsLayout.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/LibrarySettingsScaffold.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/LibrarySettingsTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/categories/LibraryCategoriesSubcategory.kt (73%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/categories/components/LibraryCategoriesOption.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/categories/components/LibraryCategoriesOptionNote.kt (71%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/display/LibraryDisplaySubcategory.kt (64%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/display/components/LibraryGridSizeOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/display/components/LibraryLayoutOption.kt (75%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/display/components/LibraryReadButtonOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/display/components/LibraryShowProgressOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/display/components/LibraryTitlePositionOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/sort/LibrarySortSubcategory.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/sort/components/LibraryPerCategorySortOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/sort/components/LibrarySortOption.kt (93%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/tabs/LibraryTabsSubcategory.kt (69%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/tabs/components/LibraryShowBookCountOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/ReaderSettingsCategory.kt (54%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/ReaderSettingsContent.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/ReaderSettingsLayout.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/ReaderSettingsScaffold.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/ReaderSettingsTopBar.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/chapters/ChaptersSubcategory.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt (79%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/font/FontSubcategory.kt (65%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/font/components/FontFamilyOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/font/components/FontSizeOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/font/components/FontStyleOption.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/font/components/FontThicknessOption.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/font/components/LetterSpacingOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/images/ImagesSubcategory.kt (64%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/images/components/ImagesAlignmentOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/images/components/ImagesColorEffectsOption.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/images/components/ImagesCornersRoundnessOption.kt (75%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/images/components/ImagesOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/images/components/ImagesWidthOption.kt (73%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/misc/MiscSubcategory.kt (70%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/misc/components/FullscreenOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/misc/components/HideBarsOnFastScrollOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/misc/components/KeepScreenOnOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/padding/PaddingSubcategory.kt (67%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/padding/components/BottomBarPaddingOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/padding/components/CutoutPaddingOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/padding/components/SidePaddingOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/padding/components/VerticalPaddingOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/progress/ProgressSubcategory.kt (64%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/progress/components/ProgressBarAlignmentOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/progress/components/ProgressBarFontSizeOption.kt (74%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/progress/components/ProgressBarOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/progress/components/ProgressBarPaddingOption.kt (74%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/progress/components/ProgressCountOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_mode/ReadingModeSubcategory.kt (63%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt (75%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_mode/components/HorizontalGestureOption.kt (80%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt (74%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt (72%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_speed/ReadingSpeedSubcategory.kt (63%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_speed/components/HighlightedReadingOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_speed/components/PerceptionExpanderOption.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt (75%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt (75%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/system/SystemSubcategory.kt (70%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/system/components/CustomScreenBrightnessOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/system/components/ScreenBrightnessOption.kt (74%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/system/components/ScreenOrientationOption.kt (82%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/text/TextSubcategory.kt (67%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/text/components/LineHeightOption.kt (76%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/text/components/ParagraphHeightOption.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/text/components/ParagraphIndentationOption.kt (73%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/text/components/TextAlignmentOption.kt (79%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/translator/TranslatorSubcategory.kt (78%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/settings/reader/translator/components/DoubleClickTranslationOption.kt (79%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartBackHandler.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartContent.kt (84%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartContentTransition.kt (87%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartDone.kt (88%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartDoneBottomBar.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartDoneLayout.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartDoneScaffold.kt (94%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartSettings.kt (83%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartSettingsBottomBar.kt (90%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartSettingsLayout.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartSettingsLayoutAppearance.kt (79%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartSettingsLayoutGeneral.kt (79%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartSettingsLayoutScan.kt (81%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/start/StartSettingsScaffold.kt (95%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 684215ac..08742c3c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -37,7 +37,7 @@ ( - extrasProducer = { - activity.defaultViewModelCreationExtras - .withCreationCallback { factory -> - factory.create(initialScreen) - } - } - ).value -} +@HiltViewModel(assistedFactory = Navigator.Factory::class) +class Navigator @AssistedInject constructor( + private val savedStateHandle: SavedStateHandle, + @Assisted private val initialScreen: Screen +) : ViewModel() { -@Composable -fun Navigator( - modifier: Modifier = Modifier, - initialScreen: Screen, - transitionSpec: AnimatedContentTransitionScope.(lastEvent: StackEvent) -> ContentTransform, - contentKey: (Screen) -> Any? = { it }, - backHandlerEnabled: (Screen) -> Boolean = { true }, - content: @Composable (currentScreen: Screen) -> Unit -) { - val navigator = rememberNavigator(initialScreen = initialScreen) - val currentScreen = navigator.lastItem.collectAsStateWithLifecycle( - context = Dispatchers.Main.immediate - ) - val lastEvent = navigator.lastEvent.collectAsStateWithLifecycle( - context = Dispatchers.Main.immediate - ) - - CompositionLocalProvider(LocalNavigator provides navigator) { - AnimatedContent( - modifier = modifier - .fillMaxSize() - .background(MaterialTheme.colorScheme.surface), - targetState = currentScreen.value, - transitionSpec = { - transitionSpec(this, lastEvent.value) - }, - contentKey = contentKey, - content = { content(it) } - ) + val items = savedStateHandle.getStateFlow("items", mutableListOf(initialScreen)) + private fun StateFlow>.removeLast() { + savedStateHandle["items"] = value.dropLast(1) } - BackHandler(enabled = backHandlerEnabled.invoke(currentScreen.value)) { - navigator.pop() + private fun StateFlow>.add(item: Screen) { + savedStateHandle["items"] = value + item + } + + val lastItem = items.map { + it.lastOrNull() ?: initialScreen + }.stateIn( + scope = viewModelScope, + started = SharingStarted.Eagerly, + initialValue = initialScreen + ) + + val lastEvent = savedStateHandle.getStateFlow("stack_event", StackEvent.Default) + private fun changeStackEvent(stackEvent: StackEvent) { + savedStateHandle["stack_event"] = stackEvent + } + + + fun push( + targetScreen: Screen, + popping: Boolean = false, + saveInBackStack: Boolean = true + ) { + if (lastItem.value::class == targetScreen::class) return + if (!saveInBackStack) items.removeLast() + + changeStackEvent( + if (popping) StackEvent.Pop + else StackEvent.Default + ) + + if (lastItem.value::class == targetScreen::class) items.removeLast() + items.add(targetScreen) + } + + fun pop(popping: Boolean = true) { + if (items.value.count() > 1) { + changeStackEvent( + if (popping) StackEvent.Pop + else StackEvent.Default + ) + items.removeLast() + } + } + + @AssistedFactory + interface Factory { + fun create(startScreen: Screen): Navigator } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorItem.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorItem.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorItem.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorItem.kt index 411e9f05..5b92a236 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.navigator +package ua.acclorite.book_story.presentation.navigator import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/app/src/main/java/ua/acclorite/book_story/ui/navigator/Screen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/Screen.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/ui/navigator/Screen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/navigator/Screen.kt index 16b3d808..9a4f3f72 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/navigator/Screen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/Screen.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.navigator +package ua.acclorite.book_story.presentation.navigator import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/navigator/StackEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/StackEvent.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/ui/navigator/StackEvent.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/navigator/StackEvent.kt index ce17ca8d..7f4bead0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/navigator/StackEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/navigator/StackEvent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.navigator +package ua.acclorite.book_story.presentation.navigator import android.os.Parcelable import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderEvent.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderEvent.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderEvent.kt index a99887ac..aa6c0a2b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderEvent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader +package ua.acclorite.book_story.presentation.reader import androidx.activity.ComponentActivity import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderModel.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt index 73a84bf1..f400bdb0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader +package ua.acclorite.book_story.presentation.reader import android.app.SearchManager import android.content.Intent @@ -41,13 +41,13 @@ import ua.acclorite.book_story.domain.use_case.book.GetBookById import ua.acclorite.book_story.domain.use_case.book.GetText import ua.acclorite.book_story.domain.use_case.book.UpdateBook import ua.acclorite.book_story.domain.use_case.history.GetLatestHistory -import ua.acclorite.book_story.presentation.common.util.coerceAndPreventNaN -import ua.acclorite.book_story.presentation.common.util.launchActivity -import ua.acclorite.book_story.presentation.common.util.setBrightness -import ua.acclorite.book_story.presentation.common.util.showToast -import ua.acclorite.book_story.ui.history.HistoryScreen -import ua.acclorite.book_story.ui.library.LibraryScreen -import ua.acclorite.book_story.ui.reader.model.Checkpoint +import ua.acclorite.book_story.presentation.history.HistoryScreen +import ua.acclorite.book_story.presentation.library.LibraryScreen +import ua.acclorite.book_story.presentation.reader.model.Checkpoint +import ua.acclorite.book_story.ui.common.util.coerceAndPreventNaN +import ua.acclorite.book_story.ui.common.util.launchActivity +import ua.acclorite.book_story.ui.common.util.setBrightness +import ua.acclorite.book_story.ui.common.util.showToast import javax.inject.Inject import kotlin.math.roundToInt diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScreen.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScreen.kt index e06d3dc7..57badd62 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScreen.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader +package ua.acclorite.book_story.presentation.reader import android.content.pm.ActivityInfo import android.os.Parcelable @@ -44,19 +44,19 @@ import androidx.core.view.WindowInsetsCompat import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.constants.provideFonts -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.common.util.calculateProgress -import ua.acclorite.book_story.presentation.common.util.setBrightness -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.reader.ReaderContent -import ua.acclorite.book_story.ui.book_info.BookInfoScreen -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.navigator.Screen -import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects -import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.ui.settings.SettingsModel +import ua.acclorite.book_story.presentation.book_info.BookInfoScreen +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.presentation.reader.model.ReaderColorEffects +import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.settings.SettingsModel +import ua.acclorite.book_story.ui.common.constants.provideFonts +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.util.calculateProgress +import ua.acclorite.book_story.ui.common.util.setBrightness +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.reader.ReaderContent import kotlin.math.roundToInt @Parcelize diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderState.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt index 181f73f8..01ae8c7b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader +package ua.acclorite.book_story.presentation.reader import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Immutable @@ -14,8 +14,8 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.common.constants.provideEmptyBook -import ua.acclorite.book_story.ui.reader.model.Checkpoint +import ua.acclorite.book_story.presentation.reader.model.Checkpoint +import ua.acclorite.book_story.ui.common.constants.provideEmptyBook @Immutable data class ReaderState( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/Checkpoint.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/Checkpoint.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/model/Checkpoint.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/Checkpoint.kt index cca1e44a..25489519 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/Checkpoint.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/Checkpoint.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader.model +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderColorEffects.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderColorEffects.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderColorEffects.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderColorEffects.kt index 3e40ca2f..49914677 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderColorEffects.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderColorEffects.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader.model +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderFontThickness.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderFontThickness.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderFontThickness.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderFontThickness.kt index 3109b266..c7e0667c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderFontThickness.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderFontThickness.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader.model +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.font.FontWeight diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderHorizontalGesture.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderHorizontalGesture.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderHorizontalGesture.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderHorizontalGesture.kt index 59504697..6364781d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderHorizontalGesture.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderHorizontalGesture.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader.model +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderProgressCount.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderProgressCount.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderProgressCount.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderProgressCount.kt index 59767f07..30256b2e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderProgressCount.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderProgressCount.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader.model +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderScreenOrientation.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderScreenOrientation.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderScreenOrientation.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderScreenOrientation.kt index 83fd328b..4ed6f5c9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderScreenOrientation.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderScreenOrientation.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader.model +package ua.acclorite.book_story.presentation.reader.model import android.content.pm.ActivityInfo import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderTextAlignment.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderTextAlignment.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderTextAlignment.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderTextAlignment.kt index 6c52d058..e201ee95 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ReaderTextAlignment.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ReaderTextAlignment.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.reader.model +package ua.acclorite.book_story.presentation.reader.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.style.TextAlign diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/AppearanceSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/AppearanceSettingsScreen.kt similarity index 71% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/AppearanceSettingsScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/AppearanceSettingsScreen.kt index 8b6fedc8..9da0a7a9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/AppearanceSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/AppearanceSettingsScreen.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.os.Parcelable import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.settings.appearance.AppearanceSettingsContent -import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.settings.appearance.AppearanceSettingsContent @Parcelize object AppearanceSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/BrowseSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/BrowseSettingsScreen.kt similarity index 71% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/BrowseSettingsScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/BrowseSettingsScreen.kt index 88f6bdf9..5e17f88c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/BrowseSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/BrowseSettingsScreen.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.os.Parcelable import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.settings.browse.BrowseSettingsContent -import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.settings.browse.BrowseSettingsContent @Parcelize object BrowseSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/GeneralSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/GeneralSettingsScreen.kt similarity index 71% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/GeneralSettingsScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/GeneralSettingsScreen.kt index 06200953..5b4f3425 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/GeneralSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/GeneralSettingsScreen.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.os.Parcelable import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.settings.general.GeneralSettingsContent -import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.settings.general.GeneralSettingsContent @Parcelize object GeneralSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/LibrarySettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/LibrarySettingsScreen.kt similarity index 71% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/LibrarySettingsScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/LibrarySettingsScreen.kt index 6848fac3..39aa9f70 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/LibrarySettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/LibrarySettingsScreen.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.os.Parcelable import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.settings.library.LibrarySettingsContent -import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.settings.library.LibrarySettingsContent @Parcelize object LibrarySettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/ReaderSettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/ReaderSettingsScreen.kt similarity index 71% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/ReaderSettingsScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/ReaderSettingsScreen.kt index ce317fad..aedefb65 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/ReaderSettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/ReaderSettingsScreen.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.os.Parcelable import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.settings.reader.ReaderSettingsContent -import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.settings.reader.ReaderSettingsContent @Parcelize object ReaderSettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsEvent.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsEvent.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsEvent.kt index 54e1bbda..5918900e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsEvent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.content.Context import android.net.Uri @@ -12,7 +12,7 @@ import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color import ua.acclorite.book_story.core.ID import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.ui.library.model.LibrarySortOrder +import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder @Immutable sealed class SettingsEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsModel.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt index 04920a27..881aafbf 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.util.Log import androidx.lifecycle.ViewModel @@ -37,8 +37,8 @@ import ua.acclorite.book_story.domain.use_case.color_preset.SelectColorPreset import ua.acclorite.book_story.domain.use_case.color_preset.UpdateColorPreset import ua.acclorite.book_story.domain.use_case.permission.GrantPersistableUriPermission import ua.acclorite.book_story.domain.use_case.permission.ReleasePersistableUriPermission -import ua.acclorite.book_story.presentation.common.constants.provideDefaultColorPreset -import ua.acclorite.book_story.presentation.common.util.showToast +import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset +import ua.acclorite.book_story.ui.common.util.showToast import javax.inject.Inject import kotlin.random.Random diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsScreen.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsScreen.kt index c73593b1..9eaae4cd 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsScreen.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import android.os.Parcelable import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.components.top_bar.collapsibleTopAppBarScrollBehavior -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.settings.SettingsContent -import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.ui.common.components.top_bar.collapsibleTopAppBarScrollBehavior +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.settings.SettingsContent @Parcelize object SettingsScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsState.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt index c3595c9a..d4e5f06b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.settings +package ua.acclorite.book_story.presentation.settings import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Immutable import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.presentation.common.constants.provideDefaultColorPreset +import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset @Immutable data class SettingsState( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/start/StartScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartScreen.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/ui/start/StartScreen.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/start/StartScreen.kt index 145b4a86..2173ac2d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/start/StartScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartScreen.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.start +package ua.acclorite.book_story.presentation.start import android.annotation.SuppressLint import android.os.Parcelable @@ -17,17 +17,17 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize -import ua.acclorite.book_story.presentation.common.constants.provideLanguages -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.presentation.start.StartContent -import ua.acclorite.book_story.ui.browse.BrowseScreen -import ua.acclorite.book_story.ui.help.HelpScreen -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.navigator.Screen -import ua.acclorite.book_story.ui.navigator.StackEvent +import ua.acclorite.book_story.presentation.browse.BrowseScreen +import ua.acclorite.book_story.presentation.help.HelpScreen +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.StackEvent +import ua.acclorite.book_story.ui.common.constants.provideLanguages +import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.navigator.LocalNavigator +import ua.acclorite.book_story.ui.start.StartContent @Parcelize object StartScreen : Screen, Parcelable { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Animations.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/Animations.kt index 4b4cac23..5fb76ddc 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Animations.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme +package ua.acclorite.book_story.presentation.theme import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.tween import androidx.compose.material3.ColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast @Composable private fun animateColor(targetColor: Color): Color { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Color.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/Color.kt index 98d4b3a0..df450833 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Color.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme +package ua.acclorite.book_story.presentation.theme import android.os.Build import androidx.annotation.StringRes @@ -12,24 +12,24 @@ import androidx.compose.material3.ColorScheme import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import ua.acclorite.book_story.R -import ua.acclorite.book_story.ui.main.model.ThemeContrast -import ua.acclorite.book_story.ui.theme.color.aquaTheme -import ua.acclorite.book_story.ui.theme.color.blackTheme -import ua.acclorite.book_story.ui.theme.color.blueTheme -import ua.acclorite.book_story.ui.theme.color.dynamicTheme -import ua.acclorite.book_story.ui.theme.color.green2Theme -import ua.acclorite.book_story.ui.theme.color.greenGrayTheme -import ua.acclorite.book_story.ui.theme.color.greenTheme -import ua.acclorite.book_story.ui.theme.color.lavenderTheme -import ua.acclorite.book_story.ui.theme.color.marshTheme -import ua.acclorite.book_story.ui.theme.color.pink2Theme -import ua.acclorite.book_story.ui.theme.color.pinkTheme -import ua.acclorite.book_story.ui.theme.color.purpleGrayTheme -import ua.acclorite.book_story.ui.theme.color.purpleTheme -import ua.acclorite.book_story.ui.theme.color.redGrayTheme -import ua.acclorite.book_story.ui.theme.color.redTheme -import ua.acclorite.book_story.ui.theme.color.yellow2Theme -import ua.acclorite.book_story.ui.theme.color.yellowTheme +import ua.acclorite.book_story.presentation.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.theme.color.aquaTheme +import ua.acclorite.book_story.presentation.theme.color.blackTheme +import ua.acclorite.book_story.presentation.theme.color.blueTheme +import ua.acclorite.book_story.presentation.theme.color.dynamicTheme +import ua.acclorite.book_story.presentation.theme.color.green2Theme +import ua.acclorite.book_story.presentation.theme.color.greenGrayTheme +import ua.acclorite.book_story.presentation.theme.color.greenTheme +import ua.acclorite.book_story.presentation.theme.color.lavenderTheme +import ua.acclorite.book_story.presentation.theme.color.marshTheme +import ua.acclorite.book_story.presentation.theme.color.pink2Theme +import ua.acclorite.book_story.presentation.theme.color.pinkTheme +import ua.acclorite.book_story.presentation.theme.color.purpleGrayTheme +import ua.acclorite.book_story.presentation.theme.color.purpleTheme +import ua.acclorite.book_story.presentation.theme.color.redGrayTheme +import ua.acclorite.book_story.presentation.theme.color.redTheme +import ua.acclorite.book_story.presentation.theme.color.yellow2Theme +import ua.acclorite.book_story.presentation.theme.color.yellowTheme @Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Theme.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/Theme.kt index 29204f23..29a621b9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme +package ua.acclorite.book_story.presentation.theme import android.app.Activity import android.os.Build @@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.SideEffect import androidx.compose.ui.platform.LocalView import androidx.core.view.WindowCompat -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast @Composable fun BookStoryTheme( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeExtensions.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeExtensions.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeExtensions.kt index 4a6e62ee..26119f28 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme +package ua.acclorite.book_story.presentation.theme import androidx.compose.material3.ColorScheme import androidx.compose.ui.graphics.Color diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeLogger.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeLogger.kt index c1d00151..ae8063be 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeLogger.kt @@ -6,7 +6,7 @@ @file:Suppress("unused") -package ua.acclorite.book_story.ui.theme +package ua.acclorite.book_story.presentation.theme import android.util.Log import androidx.compose.material3.ColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Transitions.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/Transitions.kt index bd583661..2a999857 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/Transitions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme +package ua.acclorite.book_story.presentation.theme import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.EaseInOut @@ -30,7 +30,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility import kotlin.math.roundToInt object Transitions { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/AquaTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/AquaTheme.kt index 3b36d002..736c7f7f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/AquaTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF116682) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlackTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlackTheme.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlackTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlackTheme.kt index 05aea656..d16e8039 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlackTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlackTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainModel @Composable fun blackTheme(initialTheme: ColorScheme): ColorScheme { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlueTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlueTheme.kt index a7e54ba5..b1e5b436 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlueTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF485D92) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/DynamicTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/DynamicTheme.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/DynamicTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/DynamicTheme.kt index 3e349ee8..19bb10c4 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/DynamicTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/DynamicTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import android.annotation.SuppressLint import androidx.compose.material3.ColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Green2Theme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Green2Theme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/Green2Theme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Green2Theme.kt index ad9e10c7..b08dc43c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Green2Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Green2Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenGrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenGrayTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenGrayTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenGrayTheme.kt index f3c3d1da..29c75439 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenGrayTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenGrayTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenTheme.kt index 512e8008..553ba72d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF306A42) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/LavenderTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/LavenderTheme.kt index c2f4ff27..936735f4 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/LavenderTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF824C76) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/MarshTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/MarshTheme.kt index 7eac00d3..e9196473 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/MarshTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF006A65) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Pink2Theme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Pink2Theme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/Pink2Theme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Pink2Theme.kt index 0b15a9f2..62087274 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Pink2Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Pink2Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PinkTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PinkTheme.kt index bda71655..4a12c4db 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PinkTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF8C4A60) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleGrayTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleGrayTheme.kt index dbf26d70..13760f1e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleGrayTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleTheme.kt index 3078837d..1f59c330 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF725188) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedGrayTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedGrayTheme.kt index 79b240d8..51b45f8e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedGrayTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedTheme.kt index 4c95ab79..ed9b52e8 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF904A42) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Yellow2Theme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Yellow2Theme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/Yellow2Theme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Yellow2Theme.kt index 13eddd69..c13c822f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Yellow2Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Yellow2Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/YellowTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/theme/color/YellowTheme.kt index 5714cd23..2a81b705 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/YellowTheme.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.theme.color +package ua.acclorite.book_story.presentation.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.ui.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.ThemeContrast private val primaryLight = Color(0xFF845415) private val onPrimaryLight = Color(0xFFFFFFFF) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadgeItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadgeItem.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadgeItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadgeItem.kt index 61189d17..f3f59407 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadgeItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadgeItem.kt @@ -4,15 +4,15 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about +package ua.acclorite.book_story.ui.about import androidx.compose.foundation.layout.size import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.about.model.Badge -import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.ui.about.model.Badge +import ua.acclorite.book_story.ui.common.components.common.IconButton @Composable fun AboutBadgeItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadges.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadges.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadges.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadges.kt index 549149f7..578777ee 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutBadges.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadges.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about +package ua.acclorite.book_story.ui.about import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -18,9 +18,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.constants.provideAboutBadges -import ua.acclorite.book_story.presentation.common.util.showToast -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent +import ua.acclorite.book_story.ui.common.constants.provideAboutBadges +import ua.acclorite.book_story.ui.common.util.showToast @Composable fun AboutBadges( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutContent.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/AboutContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/AboutContent.kt index 0592fd9c..37c20b1f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutContent.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about +package ua.acclorite.book_story.ui.about import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/AboutItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/AboutItem.kt index 6817428a..ab0d9d78 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about +package ua.acclorite.book_story.ui.about import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun AboutItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutLayout.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/AboutLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/AboutLayout.kt index 73149f18..7ce9a4b5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about +package ua.acclorite.book_story.ui.about import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues @@ -26,13 +26,13 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.provideContributorsPage -import ua.acclorite.book_story.presentation.common.constants.provideIssuesPage -import ua.acclorite.book_story.presentation.common.constants.provideReleasesPage -import ua.acclorite.book_story.presentation.common.constants.provideSupportPage -import ua.acclorite.book_story.presentation.common.constants.provideTranslationPage -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.provideContributorsPage +import ua.acclorite.book_story.ui.common.constants.provideIssuesPage +import ua.acclorite.book_story.ui.common.constants.provideReleasesPage +import ua.acclorite.book_story.ui.common.constants.provideSupportPage +import ua.acclorite.book_story.ui.common.constants.provideTranslationPage @Composable fun AboutLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutScaffold.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/AboutScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/AboutScaffold.kt index 9698f490..23d0b5c2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about +package ua.acclorite.book_story.ui.about import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize @@ -18,7 +18,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/AboutTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/AboutTopBar.kt index 41afa8dd..4699dbc9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about +package ua.acclorite.book_story.ui.about import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Badge.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/model/Badge.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/model/Badge.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/model/Badge.kt index c5d1d180..748f81f3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Badge.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/model/Badge.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about.model +package ua.acclorite.book_story.ui.about.model import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Credit.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/model/Credit.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/about/model/Credit.kt rename to app/src/main/java/ua/acclorite/book_story/ui/about/model/Credit.kt index c9d403cf..c4caaf99 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/model/Credit.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/model/Credit.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.about.model +package ua.acclorite.book_story.ui.about.model import androidx.compose.runtime.Immutable import ua.acclorite.book_story.core.ui.UIText diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoAuthorDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoAuthorDialog.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoAuthorDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoAuthorDialog.kt index c1f2dba7..cdf6e86e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoAuthorDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoAuthorDialog.kt @@ -4,15 +4,15 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField @Composable fun BookInfoAuthorDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBackHandler.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBackHandler.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBackHandler.kt index b2525c21..2f335e81 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBackHandler.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBottomSheet.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBottomSheet.kt index 8d911c09..e84c1e5e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBottomSheet.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.ui.book_info.BookInfoEvent -import ua.acclorite.book_story.ui.book_info.BookInfoScreen +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoScreen @Composable fun BookInfoBottomSheet( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheet.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheet.kt index a31fae4f..74770704 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -25,8 +25,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet @Composable fun BookInfoChangeCoverBottomSheet( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheetItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheetItem.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheetItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheetItem.kt index 9c4ac793..07972c8a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoChangeCoverBottomSheetItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheetItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun LazyItemScope.BookInfoChangeCoverBottomSheetItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoContent.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoContent.kt index db44472f..b5ff5840 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable @@ -12,7 +12,7 @@ import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent @Composable fun BookInfoContent( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDeleteDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDeleteDialog.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDeleteDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDeleteDialog.kt index 6310a8e7..fb34d878 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDeleteDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDeleteDialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.DeleteOutline @@ -12,8 +12,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.dialog.Dialog -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.dialog.Dialog @Composable fun BookInfoDeleteDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDescriptionDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDescriptionDialog.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDescriptionDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDescriptionDialog.kt index d921fb31..0de0725b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDescriptionDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDescriptionDialog.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField @Composable fun BookInfoDescriptionDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt index 4ee6ebbb..165f4827 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Spacer @@ -20,11 +20,11 @@ import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.data.model.file.CachedFileCompat import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.presentation.common.constants.provideExtensions -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.ui.common.constants.provideExtensions +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheetItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheetItem.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheetItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheetItem.kt index fd191a61..78b605b7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDetailsBottomSheetItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheetItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Arrangement @@ -22,8 +22,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun BookInfoDetailsBottomSheetItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt index 9c346dc8..de2de5e9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.ui.book_info.BookInfoEvent -import ua.acclorite.book_story.ui.book_info.BookInfoScreen +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoScreen @Composable fun BookInfoDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt index ac3cbb20..5a9815c8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -18,9 +18,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar @Composable fun BookInfoLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActions.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutActions.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutActions.kt index b52e78b6..6ceb3109 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutActions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row @@ -21,7 +21,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent @Composable fun BookInfoLayoutActions( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActionsItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutActionsItem.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActionsItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutActionsItem.kt index 452d3542..fc9407e7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutActionsItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutActionsItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -22,7 +22,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun BookInfoLayoutActionsItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutBackground.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutBackground.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutBackground.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutBackground.kt index 10310b02..aa893ef4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutBackground.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutBackground.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import android.net.Uri import androidx.compose.foundation.layout.fillMaxWidth @@ -18,7 +18,7 @@ import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage @Composable fun BookInfoLayoutBackground(height: Dp, image: Uri) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutButton.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutButton.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt index 197fce7f..f2cbe0e1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -16,8 +16,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.calculateProgress +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.calculateProgress @Composable fun BookInfoLayoutButton( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutDescription.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutDescription.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt index 28740afa..604f917b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutDescription.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.animateColorAsState @@ -40,9 +40,9 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.noRippleClickable @Composable fun BookInfoLayoutDescription( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfo.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfo.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt index abeb2461..fb7aa214 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfo.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -16,7 +16,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent @Composable fun BookInfoLayoutInfo( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoAuthor.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoAuthor.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt index 2d776928..5379e05c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoAuthor.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row @@ -21,9 +21,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.noRippleClickable @Composable fun BookInfoLayoutInfoAuthor( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoCover.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoCover.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt index aae70d67..149e229a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoCover.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -26,9 +26,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.ui.common.util.noRippleClickable @Composable fun BookInfoLayoutInfoCover( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoProgress.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoProgress.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt index 49b451c8..d90ec1c2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoProgress.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row @@ -18,8 +18,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.calculateProgress +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.calculateProgress @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoTitle.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt index 91f79d41..3a1f30bb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoLayoutInfoTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.noRippleClickable @Composable fun BookInfoLayoutInfoTitle( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoMoveDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoMoveDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt index 8be09cb2..d6297a65 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoMoveDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.items @@ -20,10 +20,10 @@ import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.dialog.CheckboxDialogItem -import ua.acclorite.book_story.presentation.common.components.dialog.Dialog -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.dialog.CheckboxDialogItem +import ua.acclorite.book_story.ui.common.components.dialog.Dialog @Composable fun BookInfoMoveDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoPathDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoPathDialog.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoPathDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoPathDialog.kt index eed31cf0..995ee971 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoPathDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoPathDialog.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField @Composable fun BookInfoPathDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScaffold.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScaffold.kt index 904c92f2..8394b2e2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize @@ -17,7 +17,7 @@ import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent @Composable fun BookInfoScaffold( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTitleDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTitleDialog.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTitleDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTitleDialog.kt index fc7d95a8..7a3972b3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTitleDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTitleDialog.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField -import ua.acclorite.book_story.ui.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField @Composable fun BookInfoTitleDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt index 9b5313e9..9c838951 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.book_info +package ua.acclorite.book_story.ui.book_info import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material.icons.Icons @@ -16,13 +16,13 @@ import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton -import ua.acclorite.book_story.ui.book_info.BookInfoEvent -import ua.acclorite.book_story.ui.theme.DefaultTransition +import ua.acclorite.book_story.presentation.book_info.BookInfoEvent +import ua.acclorite.book_story.presentation.theme.DefaultTransition +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBarData +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialog.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialog.kt index eeb8a584..feecef1e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth @@ -21,11 +21,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.data.model.common.NullableBook -import ua.acclorite.book_story.presentation.common.components.dialog.Dialog -import ua.acclorite.book_story.presentation.common.components.progress_indicator.CircularProgressIndicator -import ua.acclorite.book_story.presentation.common.util.showToast -import ua.acclorite.book_story.ui.browse.BrowseEvent -import ua.acclorite.book_story.ui.library.model.SelectableNullableBook +import ua.acclorite.book_story.presentation.browse.BrowseEvent +import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook +import ua.acclorite.book_story.ui.common.components.dialog.Dialog +import ua.acclorite.book_story.ui.common.components.progress_indicator.CircularProgressIndicator +import ua.acclorite.book_story.ui.common.util.showToast import java.util.UUID @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialogItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialogItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialogItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialogItem.kt index d0d7c087..d7920dc0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseAddDialogItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialogItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column @@ -25,9 +25,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.data.model.common.NullableBook -import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.library.model.SelectableNullableBook +import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook +import ua.acclorite.book_story.ui.common.components.common.CircularCheckbox +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun BrowseAddDialogItem(result: SelectableNullableBook, onClick: (Boolean) -> Unit) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseBackHandler.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBackHandler.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseBackHandler.kt index dcf1c2d7..c3553eb3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseBackHandler.kt @@ -4,11 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable -import ua.acclorite.book_story.ui.browse.BrowseEvent +import ua.acclorite.book_story.presentation.browse.BrowseEvent @Composable fun BrowseBackHandler( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseBottomSheet.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseBottomSheet.kt index c0fa19c1..8d9caf3b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseBottomSheet.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.BottomSheet -import ua.acclorite.book_story.ui.browse.BrowseEvent -import ua.acclorite.book_story.ui.browse.BrowseScreen +import ua.acclorite.book_story.presentation.browse.BrowseEvent +import ua.acclorite.book_story.presentation.browse.BrowseScreen @Composable fun BrowseBottomSheet( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseContent.kt index 22dec398..580dbcf4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.grid.LazyGridState @@ -14,11 +14,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.focus.FocusRequester import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.ui.browse.BrowseEvent -import ua.acclorite.book_story.ui.browse.model.BrowseLayout -import ua.acclorite.book_story.ui.browse.model.SelectableFile -import ua.acclorite.book_story.ui.library.model.SelectableNullableBook -import ua.acclorite.book_story.ui.main.MainEvent +import ua.acclorite.book_story.presentation.browse.BrowseEvent +import ua.acclorite.book_story.presentation.browse.model.BrowseLayout +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook +import ua.acclorite.book_story.presentation.main.MainEvent @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseDialog.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseDialog.kt index 5079cc69..273e35e5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseDialog.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.ui.browse.BrowseEvent -import ua.acclorite.book_story.ui.browse.BrowseScreen -import ua.acclorite.book_story.ui.library.model.SelectableNullableBook +import ua.acclorite.book_story.presentation.browse.BrowseEvent +import ua.acclorite.book_story.presentation.browse.BrowseScreen +import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook @Composable fun BrowseDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEmptyPlaceholder.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseEmptyPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEmptyPlaceholder.kt index a6a46d85..5f0ba6fb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEmptyPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.layout.BoxScope import androidx.compose.runtime.Composable @@ -13,9 +13,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.placeholder.EmptyPlaceholder -import ua.acclorite.book_story.ui.theme.Transitions +import ua.acclorite.book_story.presentation.theme.Transitions +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.placeholder.EmptyPlaceholder @Composable fun BoxScope.BrowseEmptyPlaceholder( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseFilterBottomSheet.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseFilterBottomSheet.kt index 31287e11..b39510c8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseFilterBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize @@ -16,12 +16,12 @@ import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import kotlinx.coroutines.launch -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.presentation.settings.browse.display.BrowseDisplaySubcategory -import ua.acclorite.book_story.presentation.settings.browse.filter.BrowseFilterSubcategory -import ua.acclorite.book_story.presentation.settings.browse.sort.BrowseSortSubcategory -import ua.acclorite.book_story.ui.browse.BrowseEvent +import ua.acclorite.book_story.presentation.browse.BrowseEvent +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.ui.settings.browse.display.BrowseDisplaySubcategory +import ua.acclorite.book_story.ui.settings.browse.filter.BrowseFilterSubcategory +import ua.acclorite.book_story.ui.settings.browse.sort.BrowseSortSubcategory private var initialPage = 0 diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseFilterBottomSheetTabRow.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheetTabRow.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseFilterBottomSheetTabRow.kt index 7430064b..1a28b293 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseFilterBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseFilterBottomSheetTabRow.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheetTabRow +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheetTabRow @Composable fun BrowseFilterBottomSheetTabRow( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridFileItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridFileItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridFileItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridFileItem.kt index 19f13247..ce8a958e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridFileItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridFileItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.border import androidx.compose.foundation.layout.Box @@ -28,10 +28,10 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.browse.model.SelectableFile -import ua.acclorite.book_story.ui.theme.DefaultTransition +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.theme.DefaultTransition +import ua.acclorite.book_story.ui.common.components.common.CircularCheckbox +import ua.acclorite.book_story.ui.common.components.common.StyledText import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridItem.kt index ec0055fd..b42e9de2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable @@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.browse.model.SelectableFile @Composable fun BrowseGridItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridLayout.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridLayout.kt index be1d47a6..72e38701 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseGridLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues @@ -17,11 +17,11 @@ import androidx.compose.foundation.lazy.grid.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.LazyVerticalGridWithScrollbar -import ua.acclorite.book_story.presentation.common.components.common.header -import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.ui.browse.model.GroupedFiles -import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.browse.model.GroupedFiles +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.ui.common.components.common.LazyVerticalGridWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.header +import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar @Composable fun BrowseGridLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseItem.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseItem.kt index 165e6f1d..755e566d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseItem.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.ui.browse.model.BrowseLayout -import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.browse.model.BrowseLayout +import ua.acclorite.book_story.presentation.browse.model.SelectableFile @Composable fun BrowseItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayout.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayout.kt index 6c483117..1242fd48 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayout.kt @@ -4,15 +4,15 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.grid.LazyGridState import androidx.compose.runtime.Composable import androidx.compose.runtime.remember -import ua.acclorite.book_story.ui.browse.model.BrowseLayout -import ua.acclorite.book_story.ui.browse.model.GroupedFiles -import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.browse.model.BrowseLayout +import ua.acclorite.book_story.presentation.browse.model.GroupedFiles +import ua.acclorite.book_story.presentation.browse.model.SelectableFile import java.io.File @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayoutHeader.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayoutHeader.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayoutHeader.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayoutHeader.kt index 8da1ed9b..2bb2df12 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseLayoutHeader.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayoutHeader.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -23,8 +23,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.noRippleClickable @Composable fun BrowseLayoutHeader( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListFileItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListFileItem.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListFileItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListFileItem.kt index 12764ca5..a85d8a6f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListFileItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListFileItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement @@ -31,8 +31,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.ui.common.components.common.StyledText import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListItem.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListItem.kt index 4939a653..f9d9327c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable @@ -21,9 +21,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.CircularCheckbox -import ua.acclorite.book_story.ui.browse.model.SelectableFile -import ua.acclorite.book_story.ui.theme.FadeTransitionPreservingSpace +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.theme.FadeTransitionPreservingSpace +import ua.acclorite.book_story.ui.common.components.common.CircularCheckbox @Composable fun BrowseListItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListLayout.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListLayout.kt index fa858980..a397ca3c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseListLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues @@ -16,10 +16,10 @@ import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.ui.browse.model.GroupedFiles -import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.browse.model.GroupedFiles +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar @Composable fun BrowseListLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseRefreshIndicator.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseRefreshIndicator.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseRefreshIndicator.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseRefreshIndicator.kt index fd20c7ec..c69b796f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseRefreshIndicator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseRefreshIndicator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.layout.BoxScope import androidx.compose.material.ExperimentalMaterialApi diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScaffold.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScaffold.kt index ae3b3d06..bab29ae4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize @@ -19,11 +19,11 @@ import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.ui.browse.BrowseEvent -import ua.acclorite.book_story.ui.browse.model.BrowseLayout -import ua.acclorite.book_story.ui.browse.model.SelectableFile -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.theme.DefaultTransition +import ua.acclorite.book_story.presentation.browse.BrowseEvent +import ua.acclorite.book_story.presentation.browse.model.BrowseLayout +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.theme.DefaultTransition @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseTopBar.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseTopBar.kt index 1aaf85a3..32a2b702 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.browse +package ua.acclorite.book_story.ui.browse import androidx.compose.animation.animateColorAsState import androidx.compose.material.icons.Icons @@ -26,15 +26,15 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.SearchTextField -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData -import ua.acclorite.book_story.presentation.navigator.NavigatorIconButton -import ua.acclorite.book_story.ui.browse.BrowseEvent -import ua.acclorite.book_story.ui.browse.model.BrowseLayout -import ua.acclorite.book_story.ui.browse.model.SelectableFile +import ua.acclorite.book_story.presentation.browse.BrowseEvent +import ua.acclorite.book_story.presentation.browse.model.BrowseLayout +import ua.acclorite.book_story.presentation.browse.model.SelectableFile +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.SearchTextField +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBarData +import ua.acclorite.book_story.ui.navigator.NavigatorIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AnimatedVisibility.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/AnimatedVisibility.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AnimatedVisibility.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/AnimatedVisibility.kt index 66e9a9dd..099fc17e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AnimatedVisibility.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/AnimatedVisibility.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.EnterTransition diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AsyncCoverImage.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/AsyncCoverImage.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AsyncCoverImage.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/AsyncCoverImage.kt index 7cde982d..b6809962 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/AsyncCoverImage.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/AsyncCoverImage.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import android.net.Uri import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/CircularCheckbox.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/CircularCheckbox.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/CircularCheckbox.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/CircularCheckbox.kt index 0ea00ed5..abd37c49 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/CircularCheckbox.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/CircularCheckbox.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.background import androidx.compose.foundation.border diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/HighlightedText.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/HighlightedText.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/HighlightedText.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/HighlightedText.kt index 8ab05b23..5374f7cc 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/HighlightedText.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/HighlightedText.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.text.BasicText import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/IconButton.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/IconButton.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/IconButton.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/IconButton.kt index 8378b3be..4a57f9c7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/IconButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/IconButton.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyColumnWithScrollbar.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyColumnWithScrollbar.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyColumnWithScrollbar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyColumnWithScrollbar.kt index 4cf2db2c..c51d49e5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyColumnWithScrollbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyColumnWithScrollbar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -20,7 +20,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import my.nanihadesuka.compose.InternalLazyColumnScrollbar import my.nanihadesuka.compose.ScrollbarSettings -import ua.acclorite.book_story.presentation.common.constants.provideSecondaryScrollbar +import ua.acclorite.book_story.ui.common.constants.provideSecondaryScrollbar @Composable fun LazyColumnWithScrollbar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyGridHeader.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyGridHeader.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyGridHeader.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyGridHeader.kt index 8cbb637e..a3ec25d7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyGridHeader.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyGridHeader.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.lazy.grid.GridItemSpan import androidx.compose.foundation.lazy.grid.LazyGridItemScope diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyVerticalGridWithScrollbar.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyVerticalGridWithScrollbar.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyVerticalGridWithScrollbar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyVerticalGridWithScrollbar.kt index a24fb872..41c7516c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/LazyVerticalGridWithScrollbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyVerticalGridWithScrollbar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -21,7 +21,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import my.nanihadesuka.compose.InternalLazyVerticalGridScrollbar import my.nanihadesuka.compose.ScrollbarSettings -import ua.acclorite.book_story.presentation.common.constants.provideSecondaryScrollbar +import ua.acclorite.book_story.ui.common.constants.provideSecondaryScrollbar @Composable fun LazyVerticalGridWithScrollbar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SearchTextField.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SearchTextField.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SearchTextField.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SearchTextField.kt index 365620dd..890a7d17 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SearchTextField.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SearchTextField.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.layout.Box import androidx.compose.foundation.text.BasicTextField diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SelectionContainer.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SelectionContainer.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SelectionContainer.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SelectionContainer.kt index a79142b1..2e7f6b1a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SelectionContainer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SelectionContainer.kt @@ -6,7 +6,7 @@ @file:Suppress("DEPRECATION") -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import android.content.ClipData import android.content.ClipboardManager diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Snackbar.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/Snackbar.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Snackbar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/Snackbar.kt index 2c18a4e4..3a680bec 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Snackbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/Snackbar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SpacedItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SpacedItem.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SpacedItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SpacedItem.kt index 87bdf649..24154ace 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/SpacedItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/SpacedItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/StyledText.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/StyledText.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/StyledText.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/StyledText.kt index 1deefa61..6288d4f6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/StyledText.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/StyledText.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.foundation.text.BasicText import androidx.compose.material3.LocalContentColor diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Tooltip.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/Tooltip.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Tooltip.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/common/Tooltip.kt index 5c4cd49c..8be4f1b6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/common/Tooltip.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/Tooltip.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.common +package ua.acclorite.book_story.ui.common.components.common import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.PlainTooltip diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/CheckboxDialogItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/CheckboxDialogItem.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/CheckboxDialogItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/CheckboxDialogItem.kt index 57d7e4e3..f809e0b2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/CheckboxDialogItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/CheckboxDialogItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.dialog +package ua.acclorite.book_story.ui.common.components.dialog import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row @@ -19,7 +19,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun CheckboxDialogItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/Dialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/Dialog.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/Dialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/Dialog.kt index e1158b77..f1eb6fd4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/Dialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/Dialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.dialog +package ua.acclorite.book_story.ui.common.components.dialog import androidx.compose.animation.core.Spring import androidx.compose.animation.core.animateDpAsState @@ -46,8 +46,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.compose.ui.window.DialogWindowProvider import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.StyledText @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/DialogWithTextField.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/DialogWithTextField.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/DialogWithTextField.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/DialogWithTextField.kt index e13397fb..6b7c3df6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/DialogWithTextField.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/DialogWithTextField.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.dialog +package ua.acclorite.book_story.ui.common.components.dialog import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -25,7 +25,7 @@ import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun DialogWithTextField( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/SelectableDialogItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/SelectableDialogItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/SelectableDialogItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/SelectableDialogItem.kt index feb6c5b5..91e024cb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/dialog/SelectableDialogItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/dialog/SelectableDialogItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.dialog +package ua.acclorite.book_story.ui.common.components.dialog import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row @@ -21,7 +21,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun SelectableDialogItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_bottom_sheet/ModalBottomSheet.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_bottom_sheet/ModalBottomSheet.kt index 899d68b4..b0513a10 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_bottom_sheet/ModalBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet +package ua.acclorite.book_story.ui.common.components.modal_bottom_sheet import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.ColumnScope diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt index 8bc01bc9..ff5d3855 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_bottom_sheet/ModalBottomSheetTabRow.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet +package ua.acclorite.book_story.ui.common.components.modal_bottom_sheet import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.ExperimentalMaterial3Api @@ -14,7 +14,7 @@ import androidx.compose.material3.Tab import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText /** * Primary Tab Row. Used in BottomSheet in pair with HorizontalPager. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawer.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawer.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawer.kt index 4398ebae..24f9ba90 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawer.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.modal_drawer +package ua.acclorite.book_story.ui.common.components.modal_drawer import androidx.activity.compose.BackHandler import androidx.compose.animation.core.animateDpAsState @@ -39,10 +39,10 @@ import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.common.util.noRippleClickable /** * Modal Drawer. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerSelectableItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawerSelectableItem.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerSelectableItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawerSelectableItem.kt index a5105551..f86f3003 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerSelectableItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawerSelectableItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.modal_drawer +package ua.acclorite.book_story.ui.common.components.modal_drawer import androidx.compose.foundation.background import androidx.compose.foundation.clickable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerTitleItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawerTitleItem.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerTitleItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawerTitleItem.kt index 764142a0..60b43dbe 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/modal_drawer/ModalDrawerTitleItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawerTitleItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.modal_drawer +package ua.acclorite.book_story.ui.common.components.modal_drawer import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -17,7 +17,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText /** * Modal Drawer Title Item. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_bar/NavigationBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_bar/NavigationBar.kt index 711a4eaf..dfdb2ec2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_bar/NavigationBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.navigation_bar +package ua.acclorite.book_story.ui.common.components.navigation_bar import androidx.compose.material3.NavigationBar import androidx.compose.runtime.Composable @@ -12,8 +12,8 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.lifecycle.compose.collectAsStateWithLifecycle -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.ui.navigator.NavigatorItem +import ua.acclorite.book_story.presentation.navigator.NavigatorItem +import ua.acclorite.book_story.ui.navigator.LocalNavigator @Composable fun NavigationBar(tabs: List) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBarItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_bar/NavigationBarItem.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBarItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_bar/NavigationBarItem.kt index a9f1382a..2f8402ae 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_bar/NavigationBarItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_bar/NavigationBarItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.navigation_bar +package ua.acclorite.book_story.ui.common.components.navigation_bar import androidx.compose.animation.Crossfade import androidx.compose.animation.core.tween @@ -17,9 +17,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.common.Tooltip -import ua.acclorite.book_story.ui.navigator.NavigatorItem +import ua.acclorite.book_story.presentation.navigator.NavigatorItem +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.Tooltip @Composable fun RowScope.NavigationBarItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRail.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_rail/NavigationRail.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRail.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_rail/NavigationRail.kt index 96a138d4..210f6c44 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRail.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_rail/NavigationRail.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.navigation_rail +package ua.acclorite.book_story.ui.common.components.navigation_rail import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -28,8 +28,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import ua.acclorite.book_story.presentation.navigator.LocalNavigator -import ua.acclorite.book_story.ui.navigator.NavigatorItem +import ua.acclorite.book_story.presentation.navigator.NavigatorItem +import ua.acclorite.book_story.ui.navigator.LocalNavigator @Composable fun NavigationRail(tabs: List) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRailItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_rail/NavigationRailItem.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRailItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_rail/NavigationRailItem.kt index a2c5796a..9c010a69 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/navigation_rail/NavigationRailItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/navigation_rail/NavigationRailItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.navigation_rail +package ua.acclorite.book_story.ui.common.components.navigation_rail import androidx.compose.animation.Crossfade import androidx.compose.animation.core.tween @@ -16,9 +16,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.common.Tooltip -import ua.acclorite.book_story.ui.navigator.NavigatorItem +import ua.acclorite.book_story.presentation.navigator.NavigatorItem +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.Tooltip @Composable fun NavigationRailItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/EmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/placeholder/EmptyPlaceholder.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/EmptyPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/placeholder/EmptyPlaceholder.kt index 72c2c79b..70cb93ac 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/EmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/placeholder/EmptyPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.placeholder +package ua.acclorite.book_story.ui.common.components.placeholder import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText /** diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/ErrorPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/placeholder/ErrorPlaceholder.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/ErrorPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/placeholder/ErrorPlaceholder.kt index 5c0339a3..6aebe99b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/placeholder/ErrorPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/placeholder/ErrorPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.placeholder +package ua.acclorite.book_story.ui.common.components.placeholder import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText /** * Empty placeholder. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/progress_indicator/CircularProgressIndicator.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/progress_indicator/CircularProgressIndicator.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/progress_indicator/CircularProgressIndicator.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/progress_indicator/CircularProgressIndicator.kt index b4b1d80f..5ef6e3cb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/progress_indicator/CircularProgressIndicator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/progress_indicator/CircularProgressIndicator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.progress_indicator +package ua.acclorite.book_story.ui.common.components.progress_indicator import androidx.compose.material3.CircularWavyProgressIndicator import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ChipsWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/ChipsWithTitle.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ChipsWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/ChipsWithTitle.kt index f83d832c..9ddadd58 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ChipsWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/ChipsWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.settings +package ua.acclorite.book_story.ui.common.components.settings import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -18,9 +18,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle /** * Chips with title. Use list of [ButtonItem]s to display chips. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ColorPickerWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/ColorPickerWithTitle.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ColorPickerWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/ColorPickerWithTitle.kt index a519fddd..06ee45d0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/ColorPickerWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/ColorPickerWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.settings +package ua.acclorite.book_story.ui.common.components.settings import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -36,8 +36,8 @@ import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.debounce import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle @OptIn(FlowPreview::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SegmentedButtonWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SegmentedButtonWithTitle.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SegmentedButtonWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SegmentedButtonWithTitle.kt index a1c8aa72..cb5dcffa 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SegmentedButtonWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SegmentedButtonWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.settings +package ua.acclorite.book_story.ui.common.components.settings import androidx.compose.animation.expandHorizontally import androidx.compose.animation.fadeIn @@ -42,10 +42,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle /** * Segmented Button with Title. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SliderWithTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SliderWithTitle.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SliderWithTitle.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SliderWithTitle.kt index 5bdc5ece..37e040b2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SliderWithTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SliderWithTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.settings +package ua.acclorite.book_story.ui.common.components.settings import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Column @@ -29,8 +29,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle import kotlin.math.roundToInt /** diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SwitchWIthTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SwitchWIthTitle.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SwitchWIthTitle.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SwitchWIthTitle.kt index 617b1cd2..7249f01f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/settings/SwitchWIthTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/settings/SwitchWIthTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.settings +package ua.acclorite.book_story.ui.common.components.settings import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -23,7 +23,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText /** * Checkbox with title. diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt index c3e54ce5..05d3d2fc 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/top_bar/CollapsibleTopAppBarScrollBehavior.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.top_bar +package ua.acclorite.book_story.ui.common.components.top_bar import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.rememberLazyListState diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/TopAppBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/top_bar/TopAppBar.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/TopAppBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/components/top_bar/TopAppBar.kt index 79ea17f6..493b0608 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/components/top_bar/TopAppBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/top_bar/TopAppBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.components.top_bar +package ua.acclorite.book_story.ui.common.components.top_bar import androidx.compose.animation.core.Spring import androidx.compose.animation.core.animateFloatAsState @@ -29,7 +29,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.lerp import ua.acclorite.book_story.core.ID -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility data class TopAppBarData( val contentID: ID, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/AboutBadgeConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/AboutBadgeConstants.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/AboutBadgeConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/AboutBadgeConstants.kt index 5a4c18b6..24b83725 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/AboutBadgeConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/AboutBadgeConstants.kt @@ -4,10 +4,10 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.about.model.Badge +import ua.acclorite.book_story.ui.about.model.Badge fun provideAboutBadges() = listOf( Badge( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CommonConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CommonConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt index d559e618..679787a6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CommonConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt @@ -6,7 +6,7 @@ @file:Suppress("SameReturnValue") -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants import androidx.compose.ui.graphics.Color import ua.acclorite.book_story.core.ui.UIText diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CreditConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CreditConstants.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CreditConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/CreditConstants.kt index 50c4aeb5..2e70e92f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/CreditConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CreditConstants.kt @@ -4,11 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.presentation.about.model.Credit +import ua.acclorite.book_story.ui.about.model.Credit fun provideCredits() = listOf( Credit( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/DataStoreConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/DataStoreConstants.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/DataStoreConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/DataStoreConstants.kt index b697b935..2d8d8217 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/DataStoreConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/DataStoreConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants import androidx.datastore.preferences.core.booleanPreferencesKey import androidx.datastore.preferences.core.doublePreferencesKey diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/FontConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/FontConstants.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/FontConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/FontConstants.kt index eefac181..a24cf1e4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/FontConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/FontConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants import androidx.annotation.FontRes import androidx.compose.ui.text.ExperimentalTextApi @@ -15,7 +15,7 @@ import androidx.compose.ui.text.font.FontVariation import androidx.compose.ui.text.font.FontWeight import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.presentation.reader.model.FontWithName +import ua.acclorite.book_story.ui.reader.model.FontWithName fun provideFonts(): List { return mutableListOf( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/HelpTipConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/HelpTipConstants.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/HelpTipConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/HelpTipConstants.kt index 17d1cc88..b9762dc6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/HelpTipConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/HelpTipConstants.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.help.HelpAnnotation -import ua.acclorite.book_story.presentation.help.model.HelpTip +import ua.acclorite.book_story.ui.help.HelpAnnotation +import ua.acclorite.book_story.ui.help.model.HelpTip fun provideHelpTips() = listOf( HelpTip( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LanguageConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LanguageConstants.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LanguageConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/LanguageConstants.kt index 285272e0..2e41e677 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LanguageConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LanguageConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants fun provideLanguages() = listOf( Pair("en", "English"), diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LinkConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LinkConstants.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LinkConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/LinkConstants.kt index 25e38b20..0b90e221 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/LinkConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LinkConstants.kt @@ -6,7 +6,7 @@ @file:Suppress("SameReturnValue") -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants fun provideReleasesPage() = "https://www.github.com/Acclorite/book-story/releases/latest" diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/ScrollbarConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/ScrollbarConstants.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/ScrollbarConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/ScrollbarConstants.kt index 6c907d20..6158ef35 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/ScrollbarConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/ScrollbarConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/SupportedExtensionConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/SupportedExtensionConstants.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/constants/SupportedExtensionConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/constants/SupportedExtensionConstants.kt index f4a38bd2..6ea585c4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/constants/SupportedExtensionConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/SupportedExtensionConstants.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.constants +package ua.acclorite.book_story.ui.common.constants fun provideExtensions() = listOf( ".epub", diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/model/ButtonItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/model/ButtonItem.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/model/ButtonItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/model/ButtonItem.kt index 5984f473..a8db6cff 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/model/ButtonItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/model/ButtonItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.model +package ua.acclorite.book_story.ui.common.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.TextStyle diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Direction.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/model/Direction.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/model/Direction.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/model/Direction.kt index fbca8c28..fb43203d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Direction.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/model/Direction.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.model +package ua.acclorite.book_story.ui.common.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Position.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/model/Position.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/model/Position.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/model/Position.kt index 83c1c737..b5968a23 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/model/Position.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/model/Position.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.model +package ua.acclorite.book_story.ui.common.model import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/CollectionExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/util/CollectionExtensions.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/util/CollectionExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/util/CollectionExtensions.kt index 4710a9a2..81887970 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/CollectionExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/util/CollectionExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.util +package ua.acclorite.book_story.ui.common.util fun MutableList.addAll(calculation: () -> List) { addAll(calculation()) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/LifecycleExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/util/LifecycleExtensions.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/util/LifecycleExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/util/LifecycleExtensions.kt index 98958d23..0d0c21e7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/LifecycleExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/util/LifecycleExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.util +package ua.acclorite.book_story.ui.common.util import android.annotation.SuppressLint import android.content.Intent diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ModifierExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/util/ModifierExtensions.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/util/ModifierExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/util/ModifierExtensions.kt index 74357efb..d44cafc9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ModifierExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/util/ModifierExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.util +package ua.acclorite.book_story.ui.common.util import androidx.compose.foundation.combinedClickable import androidx.compose.ui.Modifier diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/PrimitiveExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/util/PrimitiveExtensions.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/util/PrimitiveExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/util/PrimitiveExtensions.kt index bafe5333..a1623622 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/PrimitiveExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/util/PrimitiveExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.util +package ua.acclorite.book_story.ui.common.util fun String.removeTrailingZero(): String { if (!this.contains('.')) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ToastExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/util/ToastExtensions.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/common/util/ToastExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/util/ToastExtensions.kt index 3d76f3ee..70bab32c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/common/util/ToastExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/util/ToastExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.common.util +package ua.acclorite.book_story.ui.common.util import android.content.Context import android.widget.Toast diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashBottomBar.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashBottomBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/crash/CrashBottomBar.kt index 8141674e..ca450261 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashBottomBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.crash +package ua.acclorite.book_story.ui.crash import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row @@ -23,7 +23,7 @@ import androidx.compose.ui.platform.LocalWindowInfo import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun CrashBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashContent.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/crash/CrashContent.kt index d4c8b662..94564b1e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.crash +package ua.acclorite.book_story.ui.crash import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.rememberScrollState @@ -12,7 +12,7 @@ import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun CrashContent( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashLayout.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/crash/CrashLayout.kt index 7ab9fb45..f3fd7921 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.crash +package ua.acclorite.book_story.ui.crash import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -12,7 +12,7 @@ import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun CrashLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashScaffold.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/crash/CrashScaffold.kt index 59e52742..c16bfe2f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/crash/CrashScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.crash +package ua.acclorite.book_story.ui.crash import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -25,7 +25,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun CrashScaffold( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditItem.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/credits/CreditItem.kt index 8c2c0743..2b03fc96 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.credits +package ua.acclorite.book_story.ui.credits import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.about.model.Credit -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.about.model.Credit +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun CreditItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsContent.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsContent.kt index 1117d0a1..1283c2a6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsContent.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.credits +package ua.acclorite.book_story.ui.credits import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsLayout.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsLayout.kt index b14f64ac..09e2e537 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.credits +package ua.acclorite.book_story.ui.credits import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -14,9 +14,9 @@ import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.provideCredits -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.provideCredits @Composable fun CreditsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsScaffold.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsScaffold.kt index 3c7137fe..257cc027 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.credits +package ua.acclorite.book_story.ui.credits import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize @@ -18,7 +18,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsTopBar.kt index f9096fb4..79d6812e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/credits/CreditsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.credits +package ua.acclorite.book_story.ui.credits import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpAnnotation.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpAnnotation.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/HelpAnnotation.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/HelpAnnotation.kt index ba6f771c..9cda36c2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpAnnotation.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpAnnotation.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help +package ua.acclorite.book_story.ui.help import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpBottomBar.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/HelpBottomBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/HelpBottomBar.kt index 468dcde3..127f3b60 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpBottomBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help +package ua.acclorite.book_story.ui.help import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -18,9 +18,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.browse.BrowseScreen -import ua.acclorite.book_story.ui.main.MainEvent +import ua.acclorite.book_story.presentation.browse.BrowseScreen +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun HelpBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/HelpContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/HelpContent.kt index 7d0dfbc9..3fea2274 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpContent.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help +package ua.acclorite.book_story.ui.help import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable -import ua.acclorite.book_story.ui.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainEvent @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/HelpItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt index 80757c26..6ec84580 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help +package ua.acclorite.book_story.ui.help import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.animateFloatAsState @@ -38,11 +38,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.model.Position -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.presentation.help.model.HelpTip -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.model.Position +import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.help.model.HelpTip @Composable fun HelpItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpLayout.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/HelpLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/HelpLayout.kt index 6be890be..19bbe26d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help +package ua.acclorite.book_story.ui.help import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -14,9 +14,9 @@ import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.provideHelpTips -import ua.acclorite.book_story.presentation.common.model.Position +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.provideHelpTips +import ua.acclorite.book_story.ui.common.model.Position @Composable fun HelpLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpScaffold.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/HelpScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/HelpScaffold.kt index c1b53f3c..80d54161 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help +package ua.acclorite.book_story.ui.help import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize @@ -18,7 +18,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll -import ua.acclorite.book_story.ui.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainEvent @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpTopBar.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/HelpTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/HelpTopBar.kt index 5a9feb4f..7aca4824 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/HelpTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help +package ua.acclorite.book_story.ui.help import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.RestartAlt @@ -16,9 +16,9 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/help/model/HelpTip.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/model/HelpTip.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/help/model/HelpTip.kt rename to app/src/main/java/ua/acclorite/book_story/ui/help/model/HelpTip.kt index 8408e614..ce05362c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/help/model/HelpTip.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/model/HelpTip.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.help.model +package ua.acclorite.book_story.ui.help.model import androidx.annotation.StringRes import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryBackHandler.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryBackHandler.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryBackHandler.kt index 062bffe2..7d3cbac5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryBackHandler.kt @@ -4,11 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable -import ua.acclorite.book_story.ui.history.HistoryEvent +import ua.acclorite.book_story.presentation.history.HistoryEvent @Composable fun HistoryBackHandler( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryContent.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryContent.kt index b855da51..b22092d4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material.ExperimentalMaterialApi @@ -13,8 +13,8 @@ import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import androidx.compose.ui.focus.FocusRequester import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.ui.history.HistoryEvent -import ua.acclorite.book_story.ui.history.model.GroupedHistory +import ua.acclorite.book_story.presentation.history.HistoryEvent +import ua.acclorite.book_story.presentation.history.model.GroupedHistory @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDeleteWholeHistoryDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryDeleteWholeHistoryDialog.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDeleteWholeHistoryDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryDeleteWholeHistoryDialog.kt index 4fc1eef4..2d6528ca 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDeleteWholeHistoryDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryDeleteWholeHistoryDialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.DeleteOutline @@ -12,8 +12,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.dialog.Dialog -import ua.acclorite.book_story.ui.history.HistoryEvent +import ua.acclorite.book_story.presentation.history.HistoryEvent +import ua.acclorite.book_story.ui.common.components.dialog.Dialog @Composable fun HistoryDeleteWholeHistoryDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryDialog.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryDialog.kt index 6751768c..3c1b9dbb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryDialog.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.ui.history.HistoryEvent -import ua.acclorite.book_story.ui.history.HistoryScreen +import ua.acclorite.book_story.presentation.history.HistoryEvent +import ua.acclorite.book_story.presentation.history.HistoryScreen @Composable fun HistoryDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryEmptyPlaceholder.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEmptyPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryEmptyPlaceholder.kt index 81daeccb..683badf7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryEmptyPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.animation.core.tween import androidx.compose.animation.fadeOut @@ -15,9 +15,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.placeholder.EmptyPlaceholder -import ua.acclorite.book_story.ui.theme.Transitions +import ua.acclorite.book_story.presentation.theme.Transitions +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.placeholder.EmptyPlaceholder @Composable fun BoxScope.HistoryEmptyPlaceholder( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt index 8989e215..582201a5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -37,10 +37,10 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.history.History -import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.noRippleClickable import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt index 1603dadf..0a5d6899 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -17,13 +17,13 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle -import ua.acclorite.book_story.ui.history.HistoryEvent -import ua.acclorite.book_story.ui.history.model.GroupedHistory -import ua.acclorite.book_story.ui.theme.DefaultTransition +import ua.acclorite.book_story.presentation.history.HistoryEvent +import ua.acclorite.book_story.presentation.history.model.GroupedHistory +import ua.acclorite.book_story.presentation.theme.DefaultTransition +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle @Composable fun HistoryLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryRefreshIndicator.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryRefreshIndicator.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryRefreshIndicator.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryRefreshIndicator.kt index 0ff86ed1..b7ad05f7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryRefreshIndicator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryRefreshIndicator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.foundation.layout.BoxScope import androidx.compose.material.ExperimentalMaterialApi diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryScaffold.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryScaffold.kt index 0d91e723..a4871aca 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize @@ -19,9 +19,9 @@ import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.presentation.common.components.common.Snackbar -import ua.acclorite.book_story.ui.history.HistoryEvent -import ua.acclorite.book_story.ui.history.model.GroupedHistory +import ua.acclorite.book_story.presentation.history.HistoryEvent +import ua.acclorite.book_story.presentation.history.model.GroupedHistory +import ua.acclorite.book_story.ui.common.components.common.Snackbar @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryTopBar.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/history/HistoryTopBar.kt index 0bd8e819..fccfc084 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.history +package ua.acclorite.book_story.ui.history import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack @@ -18,13 +18,13 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.SearchTextField -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData -import ua.acclorite.book_story.presentation.navigator.NavigatorIconButton -import ua.acclorite.book_story.ui.history.HistoryEvent +import ua.acclorite.book_story.presentation.history.HistoryEvent +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.SearchTextField +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBarData +import ua.acclorite.book_story.ui.navigator.NavigatorIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBackHandler.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBackHandler.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBackHandler.kt index 50931fd0..4cba5d20 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBackHandler.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.activity.compose.BackHandler import androidx.compose.foundation.pager.PagerState @@ -14,9 +14,9 @@ import androidx.compose.runtime.saveable.rememberSaveable import kotlinx.coroutines.delay import kotlinx.coroutines.launch import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.common.util.showToast -import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.util.showToast @Composable fun LibraryBackHandler( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBottomSheet.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBottomSheet.kt index f46213d4..9c038893 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBottomSheet.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.pager.PagerState import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.LibraryScreen -import ua.acclorite.book_story.ui.library.model.LibrarySortOrder -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.settings.SettingsEvent +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.LibraryScreen +import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.settings.SettingsEvent @Composable fun LibraryBottomSheet( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryContent.kt index b27cfa9d..05a932b2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.pager.PagerState import androidx.compose.material.ExperimentalMaterialApi @@ -15,13 +15,13 @@ import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.library.model.LibrarySortOrder -import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition -import ua.acclorite.book_story.ui.library.model.SelectableBook -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.settings.SettingsEvent +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder +import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.settings.SettingsEvent @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDeleteDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDeleteDialog.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDeleteDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDeleteDialog.kt index 7616edf0..e7c0ea90 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDeleteDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDeleteDialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.DeleteOutline @@ -12,8 +12,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.dialog.Dialog -import ua.acclorite.book_story.ui.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.ui.common.components.dialog.Dialog @Composable fun LibraryDeleteDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDialog.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDialog.kt index 37e5696b..bf01e7ff 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDialog.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.LibraryScreen -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.LibraryScreen +import ua.acclorite.book_story.presentation.library.model.SelectableBook @Composable fun LibraryDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEmptyPlaceholder.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEmptyPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEmptyPlaceholder.kt index 87376563..6820d963 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEmptyPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.tween @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.placeholder.EmptyPlaceholder -import ua.acclorite.book_story.ui.theme.Transitions +import ua.acclorite.book_story.presentation.theme.Transitions +import ua.acclorite.book_story.ui.common.components.placeholder.EmptyPlaceholder @Composable fun BoxScope.LibraryEmptyPlaceholder( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheet.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheet.kt index 6deaa11a..6571c8f5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxHeight @@ -24,15 +24,15 @@ import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.presentation.settings.library.display.LibraryDisplaySubcategory -import ua.acclorite.book_story.presentation.settings.library.sort.components.LibrarySortOption -import ua.acclorite.book_story.presentation.settings.library.tabs.LibraryTabsSubcategory -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.model.LibrarySortOrder -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.settings.SettingsEvent +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.settings.SettingsEvent +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.ui.settings.library.display.LibraryDisplaySubcategory +import ua.acclorite.book_story.ui.settings.library.sort.components.LibrarySortOption +import ua.acclorite.book_story.ui.settings.library.tabs.LibraryTabsSubcategory private var initialPage = 0 diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheetTabRow.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheetTabRow.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheetTabRow.kt index fa25bb27..a6137384 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryFilterBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheetTabRow.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheetTabRow +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheetTabRow @Composable fun LibraryFilterBottomSheetTabRow( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridItem.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridItem.kt index b451d448..5e1d2538 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable @@ -39,11 +39,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.calculateProgress -import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.calculateProgress @Composable fun LibraryGridItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridLayout.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridLayout.kt index 11c483c4..12ccdd85 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryGridLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues @@ -14,9 +14,9 @@ import androidx.compose.foundation.lazy.grid.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.LazyVerticalGridWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.ui.common.components.common.LazyVerticalGridWithScrollbar +import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar @Composable fun LibraryGridLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryItem.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryItem.kt index ad6e1b4e..e62ebc37 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryItem.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.runtime.Composable -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.library.model.SelectableBook @Composable fun LibraryItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryLayout.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryLayout.kt index 9a72ee89..695187ce 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryLayout.kt @@ -4,11 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.runtime.Composable -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.library.model.SelectableBook @Composable fun LibraryLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListItem.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListItem.kt index c29cdd69..926dc8be 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable @@ -33,10 +33,10 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.AsyncCoverImage -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.calculateProgress -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.calculateProgress @Composable fun LibraryListItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListLayout.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListLayout.kt index 0ebdd8fd..222bae43 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryListLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues @@ -13,9 +13,9 @@ import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar @Composable fun LibraryListLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryMoveDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryMoveDialog.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt index fd23d79d..61712c51 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryMoveDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.items @@ -19,11 +19,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.dialog.CheckboxDialogItem -import ua.acclorite.book_story.presentation.common.components.dialog.Dialog -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.dialog.CheckboxDialogItem +import ua.acclorite.book_story.ui.common.components.dialog.Dialog @Composable fun LibraryMoveDialog( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryPager.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryPager.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt index 8a5fdc53..cbfcdc35 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryPager.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize @@ -16,13 +16,13 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.presentation.common.util.compareByWithOrder -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.library.model.LibrarySortOrder -import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition -import ua.acclorite.book_story.ui.library.model.SelectableBook -import ua.acclorite.book_story.ui.theme.DefaultTransition +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder +import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.presentation.theme.DefaultTransition +import ua.acclorite.book_story.ui.common.util.compareByWithOrder @Composable fun LibraryPager( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryRefreshIndicator.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryRefreshIndicator.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryRefreshIndicator.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryRefreshIndicator.kt index a8bbc650..04baaa75 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryRefreshIndicator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryRefreshIndicator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.layout.BoxScope import androidx.compose.material.ExperimentalMaterialApi diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScaffold.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScaffold.kt index 20649e52..a26c736e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize @@ -20,11 +20,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.library.model.LibrarySortOrder -import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder +import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.library.model.SelectableBook @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTabs.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTabs.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTabs.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTabs.kt index a4e0ec83..9cde6e16 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTabs.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTabs.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.animation.core.animateDpAsState import androidx.compose.foundation.background @@ -30,7 +30,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun LibraryTabs( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTopBar.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTopBar.kt index eead481c..a3f8762f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.library +package ua.acclorite.book_story.ui.library import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.Spring @@ -41,15 +41,15 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.SearchTextField -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData -import ua.acclorite.book_story.presentation.navigator.NavigatorIconButton -import ua.acclorite.book_story.ui.library.LibraryEvent -import ua.acclorite.book_story.ui.library.model.SelectableBook +import ua.acclorite.book_story.presentation.library.LibraryEvent +import ua.acclorite.book_story.presentation.library.model.SelectableBook +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.SearchTextField +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBarData +import ua.acclorite.book_story.ui.navigator.NavigatorIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoContent.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoContent.kt index 9920e87a..84024a68 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoContent.kt @@ -4,14 +4,14 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.license_info +package ua.acclorite.book_story.ui.license_info import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import com.mikepenz.aboutlibraries.entity.Library -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoItem.kt index 2aa2a6f6..b6e8a67c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.license_info +package ua.acclorite.book_story.ui.license_info import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.License -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.theme.SlidingTransition +import ua.acclorite.book_story.presentation.theme.SlidingTransition +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun LazyItemScope.LicenseInfoItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoLayout.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoLayout.kt index 991ca632..5b03c8e0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.license_info +package ua.acclorite.book_story.ui.license_info import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.PaddingValues @@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.Library -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun LicenseInfoLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScaffold.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScaffold.kt index b05047cc..79e8c54f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.license_info +package ua.acclorite.book_story.ui.license_info import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize @@ -19,8 +19,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll import com.mikepenz.aboutlibraries.entity.Library -import ua.acclorite.book_story.ui.about.AboutEvent -import ua.acclorite.book_story.ui.theme.DefaultTransition +import ua.acclorite.book_story.presentation.about.AboutEvent +import ua.acclorite.book_story.presentation.theme.DefaultTransition @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoTopBar.kt similarity index 85% rename from app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoTopBar.kt index 38aea410..805e68e4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/license_info/LicenseInfoTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.license_info +package ua.acclorite.book_story.ui.license_info import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Language @@ -17,10 +17,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import com.mikepenz.aboutlibraries.entity.Library import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton -import ua.acclorite.book_story.ui.about.AboutEvent +import ua.acclorite.book_story.presentation.about.AboutEvent +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesContent.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesContent.kt index cc4de6a1..2152c15d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.licenses +package ua.acclorite.book_story.ui.licenses import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesItem.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesItem.kt index 9b1a9c47..049ea6b9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.licenses +package ua.acclorite.book_story.ui.licenses import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -29,7 +29,7 @@ import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.Library import com.mikepenz.aboutlibraries.ui.compose.m3.util.author import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun LicensesItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesLayout.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesLayout.kt index d8f15fa5..044c352d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.licenses +package ua.acclorite.book_story.ui.licenses import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut @@ -17,8 +17,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.Library -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun LicensesLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesScaffold.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesScaffold.kt index 62db9ebc..432a6b5c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.licenses +package ua.acclorite.book_story.ui.licenses import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesTopBar.kt index fbdb180d..946c298f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/licenses/LicensesTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/licenses/LicensesTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.licenses +package ua.acclorite.book_story.ui.licenses import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainActivityKeyboardManager.kt b/app/src/main/java/ua/acclorite/book_story/ui/main/MainActivityKeyboardManager.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/main/MainActivityKeyboardManager.kt rename to app/src/main/java/ua/acclorite/book_story/ui/main/MainActivityKeyboardManager.kt index e9ebb3f3..faf65d2e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainActivityKeyboardManager.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/main/MainActivityKeyboardManager.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.main +package ua.acclorite.book_story.ui.main import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.ime diff --git a/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt index 49b6352d..ae5b165b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt @@ -6,76 +6,70 @@ package ua.acclorite.book_story.ui.navigator -import androidx.lifecycle.SavedStateHandle -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import dagger.assisted.Assisted -import dagger.assisted.AssistedFactory -import dagger.assisted.AssistedInject -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.stateIn +import androidx.activity.compose.BackHandler +import androidx.activity.viewModels +import androidx.compose.animation.AnimatedContent +import androidx.compose.animation.AnimatedContentTransitionScope +import androidx.compose.animation.ContentTransform +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.ui.Modifier +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import dagger.hilt.android.lifecycle.withCreationCallback +import kotlinx.coroutines.Dispatchers +import ua.acclorite.book_story.presentation.navigator.Navigator +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.StackEvent +import ua.acclorite.book_story.ui.common.util.LocalActivity -@HiltViewModel(assistedFactory = Navigator.Factory::class) -class Navigator @AssistedInject constructor( - private val savedStateHandle: SavedStateHandle, - @Assisted private val initialScreen: Screen -) : ViewModel() { +@Composable +fun rememberNavigator(initialScreen: Screen): Navigator { + val activity = LocalActivity.current + return activity.viewModels( + extrasProducer = { + activity.defaultViewModelCreationExtras + .withCreationCallback { factory -> + factory.create(initialScreen) + } + } + ).value +} - val items = savedStateHandle.getStateFlow("items", mutableListOf(initialScreen)) - private fun StateFlow>.removeLast() { - savedStateHandle["items"] = value.dropLast(1) - } - - private fun StateFlow>.add(item: Screen) { - savedStateHandle["items"] = value + item - } - - val lastItem = items.map { - it.lastOrNull() ?: initialScreen - }.stateIn( - scope = viewModelScope, - started = SharingStarted.Eagerly, - initialValue = initialScreen +@Composable +fun Navigator( + modifier: Modifier = Modifier, + initialScreen: Screen, + transitionSpec: AnimatedContentTransitionScope.(lastEvent: StackEvent) -> ContentTransform, + contentKey: (Screen) -> Any? = { it }, + backHandlerEnabled: (Screen) -> Boolean = { true }, + content: @Composable (currentScreen: Screen) -> Unit +) { + val navigator = rememberNavigator(initialScreen = initialScreen) + val currentScreen = navigator.lastItem.collectAsStateWithLifecycle( + context = Dispatchers.Main.immediate + ) + val lastEvent = navigator.lastEvent.collectAsStateWithLifecycle( + context = Dispatchers.Main.immediate ) - val lastEvent = savedStateHandle.getStateFlow("stack_event", StackEvent.Default) - private fun changeStackEvent(stackEvent: StackEvent) { - savedStateHandle["stack_event"] = stackEvent - } - - - fun push( - targetScreen: Screen, - popping: Boolean = false, - saveInBackStack: Boolean = true - ) { - if (lastItem.value::class == targetScreen::class) return - if (!saveInBackStack) items.removeLast() - - changeStackEvent( - if (popping) StackEvent.Pop - else StackEvent.Default + CompositionLocalProvider(LocalNavigator provides navigator) { + AnimatedContent( + modifier = modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.surface), + targetState = currentScreen.value, + transitionSpec = { + transitionSpec(this, lastEvent.value) + }, + contentKey = contentKey, + content = { content(it) } ) - - if (lastItem.value::class == targetScreen::class) items.removeLast() - items.add(targetScreen) } - fun pop(popping: Boolean = true) { - if (items.value.count() > 1) { - changeStackEvent( - if (popping) StackEvent.Pop - else StackEvent.Default - ) - items.removeLast() - } - } - - @AssistedFactory - interface Factory { - fun create(startScreen: Screen): Navigator + BackHandler(enabled = backHandlerEnabled.invoke(currentScreen.value)) { + navigator.pop() } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBackIconButton.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBackIconButton.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBackIconButton.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBackIconButton.kt index 228fded7..3ccf7889 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBackIconButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBackIconButton.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.navigator +package ua.acclorite.book_story.ui.navigator import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.runtime.Composable import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.IconButton @Composable fun NavigatorBackIconButton( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBottomSheet.kt similarity index 86% rename from app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBottomSheet.kt index cf7e430f..56253af7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.navigator +package ua.acclorite.book_story.ui.navigator import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth @@ -16,11 +16,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import kotlinx.coroutines.channels.Channel import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.presentation.common.model.Position -import ua.acclorite.book_story.ui.about.AboutScreen -import ua.acclorite.book_story.ui.help.HelpScreen -import ua.acclorite.book_story.ui.settings.SettingsScreen +import ua.acclorite.book_story.presentation.about.AboutScreen +import ua.acclorite.book_story.presentation.help.HelpScreen +import ua.acclorite.book_story.presentation.settings.SettingsScreen +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.ui.common.model.Position val navigatorBottomSheetChannel = Channel(Channel.CONFLATED) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheetItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBottomSheetItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheetItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBottomSheetItem.kt index de52b5aa..b728b759 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorBottomSheetItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorBottomSheetItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.navigator +package ua.acclorite.book_story.ui.navigator import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -21,8 +21,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.model.Position +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.model.Position @Composable fun NavigatorBottomSheetItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorComposition.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorComposition.kt similarity index 73% rename from app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorComposition.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorComposition.kt index fa3f731d..b89c2218 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorComposition.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorComposition.kt @@ -4,9 +4,9 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.navigator +package ua.acclorite.book_story.ui.navigator import androidx.compose.runtime.compositionLocalOf -import ua.acclorite.book_story.ui.navigator.Navigator +import ua.acclorite.book_story.presentation.navigator.Navigator val LocalNavigator = compositionLocalOf { error("Navigator was not passed.") } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorIconButton.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorIconButton.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorIconButton.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorIconButton.kt index 9e375062..42351d5f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorIconButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorIconButton.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.navigator +package ua.acclorite.book_story.ui.navigator import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.MoreVert import androidx.compose.runtime.Composable import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.IconButton @Composable fun NavigatorIconButton( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorTabs.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorTabs.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorTabs.kt rename to app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorTabs.kt index a31a2139..d181c2a8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/navigator/NavigatorTabs.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorTabs.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.navigator +package ua.acclorite.book_story.ui.navigator import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContentTransitionScope @@ -26,8 +26,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLayoutDirection import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.flow.receiveAsFlow -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.ui.navigator.Screen +import ua.acclorite.book_story.presentation.navigator.Screen +import ua.acclorite.book_story.ui.common.util.LocalActivity @OptIn(ExperimentalMaterial3WindowSizeClassApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBackHandler.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBackHandler.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBackHandler.kt index 1d52c3eb..f603c853 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBackHandler.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.ui.common.util.LocalActivity @Composable fun ReaderBackHandler( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt index c0c288ec..908102c0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -32,14 +32,14 @@ import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.model.Direction -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.model.Checkpoint -import ua.acclorite.book_story.ui.theme.HorizontalExpandingTransition -import ua.acclorite.book_story.ui.theme.readerBarsColor +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.model.Checkpoint +import ua.acclorite.book_story.presentation.theme.HorizontalExpandingTransition +import ua.acclorite.book_story.presentation.theme.readerBarsColor +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.model.Direction +import ua.acclorite.book_story.ui.common.util.noRippleClickable @Composable fun ReaderBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSlider.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSlider.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt index fddc0cc4..f7097f31 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSlider.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.MaterialTheme @@ -12,7 +12,7 @@ import androidx.compose.material3.Slider import androidx.compose.material3.SliderDefaults import androidx.compose.runtime.Composable import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.ReaderEvent @Composable fun ReaderBottomBarSlider( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSliderIndicator.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSliderIndicator.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSliderIndicator.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSliderIndicator.kt index bf8654b5..27504a6c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomBarSliderIndicator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSliderIndicator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomSheet.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomSheet.kt index a71e545b..3f472eae 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomSheet.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.BottomSheet -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.ReaderScreen +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.ReaderScreen @Composable fun ReaderBottomSheet( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderChaptersDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderChaptersDrawer.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt index 3ef2c33e..8c6c6a6f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderChaptersDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.layout.Spacer @@ -23,15 +23,15 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.modal_drawer.ModalDrawer -import ua.acclorite.book_story.presentation.common.components.modal_drawer.ModalDrawerSelectableItem -import ua.acclorite.book_story.presentation.common.components.modal_drawer.ModalDrawerTitleItem -import ua.acclorite.book_story.presentation.common.util.calculateProgress -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.presentation.reader.model.ExpandableChapter -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawer +import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawerSelectableItem +import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawerTitleItem +import ua.acclorite.book_story.ui.common.util.calculateProgress +import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.reader.model.ExpandableChapter @Composable fun ReaderChaptersDrawer( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderColorPresetChange.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderColorPresetChange.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderColorPresetChange.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderColorPresetChange.kt index 03a88de3..d3ed74ef 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderColorPresetChange.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderColorPresetChange.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.gestures.detectHorizontalDragGestures import androidx.compose.runtime.Composable @@ -13,7 +13,7 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.ui.settings.SettingsEvent +import ua.acclorite.book_story.presentation.settings.SettingsEvent @Composable fun Modifier.readerColorPresetChange( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderContent.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderContent.kt index c01ad57a..58369ae3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.lazy.LazyListState @@ -24,14 +24,14 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.reader.model.FontWithName -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.model.Checkpoint -import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.ui.settings.SettingsEvent +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.model.Checkpoint +import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.settings.SettingsEvent +import ua.acclorite.book_story.ui.reader.model.FontWithName @Composable fun ReaderContent( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderDrawer.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt index 8c9e48a2..c71e1450 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Drawer import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.ReaderScreen +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.ReaderScreen @Composable fun ReaderDrawer( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderErrorPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderErrorPlaceholder.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderErrorPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderErrorPlaceholder.kt index d4ae9479..3ceb5111 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderErrorPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderErrorPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import android.annotation.SuppressLint import androidx.compose.foundation.layout.Box @@ -20,12 +20,12 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.presentation.common.components.placeholder.ErrorPlaceholder -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBar -import ua.acclorite.book_story.presentation.common.components.top_bar.TopAppBarData -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton -import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.ui.common.components.placeholder.ErrorPlaceholder +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBar +import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBarData +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderHorizontalGesture.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderHorizontalGesture.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderHorizontalGesture.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderHorizontalGesture.kt index a90c5a1c..f632180f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderHorizontalGesture.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderHorizontalGesture.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.gestures.detectHorizontalDragGestures @@ -24,7 +24,7 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.IntOffset import kotlinx.coroutines.launch -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture import kotlin.math.abs import kotlin.math.roundToInt diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt index 7a4efc2b..aad18fdd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import android.os.Build import androidx.compose.animation.expandVertically @@ -34,19 +34,19 @@ import androidx.compose.ui.unit.coerceAtLeast import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.components.common.SelectionContainer -import ua.acclorite.book_story.presentation.common.components.common.SpacedItem -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.presentation.common.util.showToast -import ua.acclorite.book_story.presentation.reader.model.FontWithName -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.SelectionContainer +import ua.acclorite.book_story.ui.common.components.common.SpacedItem +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.reader.model.FontWithName @Composable fun ReaderLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutText.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutText.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt index 4fe647a2..68e29160 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutText.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.activity.ComponentActivity import androidx.compose.foundation.lazy.LazyItemScope @@ -17,11 +17,11 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.presentation.reader.model.FontWithName -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.ui.reader.model.FontWithName @Composable fun LazyItemScope.ReaderLayoutText( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextChapter.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextChapter.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextChapter.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextChapter.kt index 8da0d615..74f86661 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextChapter.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextChapter.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -22,8 +22,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun LazyItemScope.ReaderLayoutTextChapter( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextImage.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextImage.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt index 83c0e6f3..fefe373b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextImage.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Box @@ -19,7 +19,7 @@ import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.unit.Dp import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment @Composable fun LazyItemScope.ReaderLayoutTextImage( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextParagraph.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextParagraph.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt index 6e4d7cf1..1f9687bf 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextParagraph.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.activity.ComponentActivity import androidx.compose.foundation.layout.Arrangement @@ -24,12 +24,12 @@ import androidx.compose.ui.text.style.TextIndent import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit import ua.acclorite.book_story.domain.reader.ReaderText.Text -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.presentation.reader.model.FontWithName -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.reader.model.FontWithName @Composable fun LazyItemScope.ReaderLayoutTextParagraph( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextSeparator.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextSeparator.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextSeparator.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextSeparator.kt index d30206c9..72f24133 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLayoutTextSeparator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextSeparator.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyItemScope diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLoadingPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLoadingPlaceholder.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLoadingPlaceholder.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLoadingPlaceholder.kt index dd26d43b..1ba6229b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderLoadingPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLoadingPlaceholder.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -15,7 +15,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.common.components.progress_indicator.CircularProgressIndicator +import ua.acclorite.book_story.ui.common.components.progress_indicator.CircularProgressIndicator @Composable fun ReaderLoadingPlaceholder() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderPerceptionExpander.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderPerceptionExpander.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderPerceptionExpander.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderPerceptionExpander.kt index 4e0fcbb3..a490d1ba 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderPerceptionExpander.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderPerceptionExpander.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderProgressBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderProgressBar.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderProgressBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderProgressBar.kt index f0d0dc4a..2c4ea75b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderProgressBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderProgressBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun ReaderProgressBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScaffold.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScaffold.kt index 366b8dbd..cd7861ad 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import android.annotation.SuppressLint import androidx.compose.animation.slideInVertically @@ -29,15 +29,15 @@ import androidx.compose.ui.unit.TextUnit import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.reader.model.FontWithName -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.reader.model.Checkpoint -import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.ui.settings.SettingsEvent +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.model.Checkpoint +import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.settings.SettingsEvent +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.reader.model.FontWithName @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheet.kt similarity index 79% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheet.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheet.kt index c1c9ace5..1535988d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheet.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.animateFloatAsState @@ -25,22 +25,22 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import kotlinx.coroutines.launch -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.settings.appearance.colors.ColorsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.chapters.ChaptersSubcategory -import ua.acclorite.book_story.presentation.settings.reader.font.FontSubcategory -import ua.acclorite.book_story.presentation.settings.reader.images.ImagesSubcategory -import ua.acclorite.book_story.presentation.settings.reader.misc.MiscSubcategory -import ua.acclorite.book_story.presentation.settings.reader.padding.PaddingSubcategory -import ua.acclorite.book_story.presentation.settings.reader.progress.ProgressSubcategory -import ua.acclorite.book_story.presentation.settings.reader.reading_mode.ReadingModeSubcategory -import ua.acclorite.book_story.presentation.settings.reader.reading_speed.ReadingSpeedSubcategory -import ua.acclorite.book_story.presentation.settings.reader.system.SystemSubcategory -import ua.acclorite.book_story.presentation.settings.reader.text.TextSubcategory -import ua.acclorite.book_story.presentation.settings.reader.translator.TranslatorSubcategory -import ua.acclorite.book_story.ui.reader.ReaderEvent +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.settings.appearance.colors.ColorsSubcategory +import ua.acclorite.book_story.ui.settings.reader.chapters.ChaptersSubcategory +import ua.acclorite.book_story.ui.settings.reader.font.FontSubcategory +import ua.acclorite.book_story.ui.settings.reader.images.ImagesSubcategory +import ua.acclorite.book_story.ui.settings.reader.misc.MiscSubcategory +import ua.acclorite.book_story.ui.settings.reader.padding.PaddingSubcategory +import ua.acclorite.book_story.ui.settings.reader.progress.ProgressSubcategory +import ua.acclorite.book_story.ui.settings.reader.reading_mode.ReadingModeSubcategory +import ua.acclorite.book_story.ui.settings.reader.reading_speed.ReadingSpeedSubcategory +import ua.acclorite.book_story.ui.settings.reader.system.SystemSubcategory +import ua.acclorite.book_story.ui.settings.reader.text.TextSubcategory +import ua.acclorite.book_story.ui.settings.reader.translator.TranslatorSubcategory private var initialPage = 0 diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheetTabRow.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheetTabRow.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheetTabRow.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheetTabRow.kt index 7ba61fc4..fe497395 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderSettingsBottomSheetTabRow.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheetTabRow.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.modal_bottom_sheet.ModalBottomSheetTabRow +import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheetTabRow @Composable fun ReaderSettingsBottomSheetTabRow( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt index 7215daec..af7bdf4f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader +package ua.acclorite.book_story.ui.reader import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.background @@ -31,13 +31,13 @@ import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.LocalActivity -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.ui.reader.ReaderEvent -import ua.acclorite.book_story.ui.settings.SettingsEvent -import ua.acclorite.book_story.ui.theme.readerBarsColor +import ua.acclorite.book_story.presentation.reader.ReaderEvent +import ua.acclorite.book_story.presentation.settings.SettingsEvent +import ua.acclorite.book_story.presentation.theme.readerBarsColor +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.util.noRippleClickable @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ExpandableChapter.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ExpandableChapter.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ExpandableChapter.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/ExpandableChapter.kt index 3d4529ca..56995e46 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/ExpandableChapter.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ExpandableChapter.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader.model +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable import ua.acclorite.book_story.domain.reader.ReaderText diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/FontWithName.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/FontWithName.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/reader/model/FontWithName.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/model/FontWithName.kt index dbcdb6a2..aa320eed 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/model/FontWithName.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/FontWithName.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.reader.model +package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable import androidx.compose.ui.text.font.FontFamily diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsContent.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsContent.kt index 8ad91d9e..885e557b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings +package ua.acclorite.book_story.ui.settings import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayout.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayout.kt index 4574c597..57051489 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings +package ua.acclorite.book_story.ui.settings import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -21,7 +21,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun SettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayoutItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayoutItem.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayoutItem.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayoutItem.kt index 17b29de4..eb9b5a74 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsLayoutItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayoutItem.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings +package ua.acclorite.book_story.ui.settings import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -25,8 +25,8 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.theme.dynamicListItemColor +import ua.acclorite.book_story.presentation.theme.dynamicListItemColor +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun SettingsLayoutItem( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScaffold.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScaffold.kt index be3e798d..0f71c5c0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings +package ua.acclorite.book_story.ui.settings import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsTopBar.kt index 1fcd5280..ac141e63 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings +package ua.acclorite.book_story.ui.settings import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsCategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsCategory.kt similarity index 71% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsCategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsCategory.kt index a6acd123..80f56966 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsCategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsCategory.kt @@ -6,14 +6,14 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.appearance +package ua.acclorite.book_story.ui.settings.appearance import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.presentation.settings.appearance.colors.ColorsSubcategory -import ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.ThemePreferencesSubcategory +import ua.acclorite.book_story.ui.settings.appearance.colors.ColorsSubcategory +import ua.acclorite.book_story.ui.settings.appearance.theme_preferences.ThemePreferencesSubcategory fun LazyListScope.AppearanceSettingsCategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary } diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsContent.kt index 93474a73..57267dd7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance +package ua.acclorite.book_story.ui.settings.appearance import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsLayout.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsLayout.kt index 2b32cc22..534f899c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance +package ua.acclorite.book_story.ui.settings.appearance import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun AppearanceSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsScaffold.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsScaffold.kt index 0cbc22b9..097ed55c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance +package ua.acclorite.book_story.ui.settings.appearance import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsTopBar.kt index 2db30d54..58ccdead 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/AppearanceSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/AppearanceSettingsTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance +package ua.acclorite.book_story.ui.settings.appearance import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/ColorsSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/ColorsSubcategory.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/ColorsSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/ColorsSubcategory.kt index ce8eddcf..bfae4a47 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/ColorsSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/ColorsSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.appearance.colors +package ua.acclorite.book_story.ui.settings.appearance.colors import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,9 +14,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.appearance.colors.components.ColorPresetOption -import ua.acclorite.book_story.presentation.settings.appearance.colors.components.FastColorPresetChangeOption -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.appearance.colors.components.ColorPresetOption +import ua.acclorite.book_story.ui.settings.appearance.colors.components.FastColorPresetChangeOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory fun LazyListScope.ColorsSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/ColorPresetOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/ColorPresetOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt index c935e6cb..ed344b97 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/ColorPresetOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance.colors.components +package ua.acclorite.book_story.ui.settings.appearance.colors.components import androidx.compose.animation.animateColorAsState import androidx.compose.animation.expandHorizontally @@ -65,15 +65,15 @@ import sh.calvin.reorderable.rememberReorderableLazyListState import ua.acclorite.book_story.R import ua.acclorite.book_story.core.Selected import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.settings.ColorPickerWithTitle -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle -import ua.acclorite.book_story.ui.settings.SettingsEvent -import ua.acclorite.book_story.ui.settings.SettingsModel -import ua.acclorite.book_story.ui.theme.FadeTransitionPreservingSpace -import ua.acclorite.book_story.ui.theme.Transitions +import ua.acclorite.book_story.presentation.settings.SettingsEvent +import ua.acclorite.book_story.presentation.settings.SettingsModel +import ua.acclorite.book_story.presentation.theme.FadeTransitionPreservingSpace +import ua.acclorite.book_story.presentation.theme.Transitions +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.settings.ColorPickerWithTitle +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle @Composable fun ColorPresetOption(backgroundColor: Color) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/FastColorPresetChangeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/FastColorPresetChangeOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/FastColorPresetChangeOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/FastColorPresetChangeOption.kt index 98b5a4ca..8f57b8ac 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/colors/components/FastColorPresetChangeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/FastColorPresetChangeOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance.colors.components +package ua.acclorite.book_story.ui.settings.appearance.colors.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun FastColorPresetChangeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/ThemePreferencesSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/ThemePreferencesSubcategory.kt similarity index 62% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/ThemePreferencesSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/ThemePreferencesSubcategory.kt index 817b425d..c50861fb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/ThemePreferencesSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/ThemePreferencesSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.appearance.theme_preferences +package ua.acclorite.book_story.ui.settings.appearance.theme_preferences import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,12 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components.AbsoluteDarkOption -import ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components.AppThemeOption -import ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components.DarkThemeOption -import ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components.PureDarkOption -import ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components.ThemeContrastOption -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components.AbsoluteDarkOption +import ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components.AppThemeOption +import ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components.DarkThemeOption +import ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components.PureDarkOption +import ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components.ThemeContrastOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory fun LazyListScope.ThemePreferencesSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt similarity index 72% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt index a04dc5f1..57acfa26 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components +package ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext @@ -12,12 +12,12 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.main.model.isDark -import ua.acclorite.book_story.ui.main.model.isPureDark -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.main.model.isDark +import ua.acclorite.book_story.presentation.main.model.isPureDark +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun AbsoluteDarkOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AppThemeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AppThemeOption.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AppThemeOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AppThemeOption.kt index 80c74cc9..4c35ada9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/AppThemeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AppThemeOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components +package ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn @@ -42,16 +42,16 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.AnimatedVisibility -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.main.model.ThemeContrast -import ua.acclorite.book_story.ui.main.model.isDark -import ua.acclorite.book_story.ui.main.model.isPureDark -import ua.acclorite.book_story.ui.theme.Theme -import ua.acclorite.book_story.ui.theme.animatedColorScheme +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.isDark +import ua.acclorite.book_story.presentation.main.model.isPureDark +import ua.acclorite.book_story.presentation.theme.Theme +import ua.acclorite.book_story.presentation.theme.animatedColorScheme +import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle @Composable fun AppThemeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/DarkThemeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/DarkThemeOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/DarkThemeOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/DarkThemeOption.kt index 1921c586..d8bd17c5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/DarkThemeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/DarkThemeOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components +package ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.main.model.DarkTheme +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.main.model.DarkTheme +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun DarkThemeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/PureDarkOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/PureDarkOption.kt similarity index 73% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/PureDarkOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/PureDarkOption.kt index 6297a3e2..64b5ab1d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/PureDarkOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/PureDarkOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components +package ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,13 +12,13 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.main.model.PureDark -import ua.acclorite.book_story.ui.main.model.isDark -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.main.model.PureDark +import ua.acclorite.book_story.presentation.main.model.isDark +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun PureDarkOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/ThemeContrastOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/ThemeContrastOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/ThemeContrastOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/ThemeContrastOption.kt index 5fbee181..7d52d05e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/appearance/theme_preferences/components/ThemeContrastOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/ThemeContrastOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.components +package ua.acclorite.book_story.ui.settings.appearance.theme_preferences.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -16,15 +16,15 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.main.model.ThemeContrast -import ua.acclorite.book_story.ui.main.model.isDark -import ua.acclorite.book_story.ui.main.model.isPureDark -import ua.acclorite.book_story.ui.theme.BookStoryTheme -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.main.model.ThemeContrast +import ua.acclorite.book_story.presentation.main.model.isDark +import ua.acclorite.book_story.presentation.main.model.isPureDark +import ua.acclorite.book_story.presentation.theme.BookStoryTheme +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun ThemeContrastOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsCategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsCategory.kt similarity index 61% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsCategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsCategory.kt index ab3bd0cb..9ca4ca82 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsCategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsCategory.kt @@ -6,11 +6,11 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.browse +package ua.acclorite.book_story.ui.settings.browse import androidx.compose.foundation.lazy.LazyListScope -import ua.acclorite.book_story.presentation.settings.browse.display.BrowseDisplaySubcategory -import ua.acclorite.book_story.presentation.settings.browse.scan.BrowseScanSubcategory +import ua.acclorite.book_story.ui.settings.browse.display.BrowseDisplaySubcategory +import ua.acclorite.book_story.ui.settings.browse.scan.BrowseScanSubcategory fun LazyListScope.BrowseSettingsCategory() { BrowseScanSubcategory() diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsContent.kt index 3513982c..5cab1934 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse +package ua.acclorite.book_story.ui.settings.browse import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsLayout.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsLayout.kt index 7402931d..d23d3851 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse +package ua.acclorite.book_story.ui.settings.browse import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun BrowseSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsScaffold.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsScaffold.kt index 3791e98c..1a06796a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse +package ua.acclorite.book_story.ui.settings.browse import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsTopBar.kt index 0d0ec101..0174c336 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/BrowseSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/BrowseSettingsTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse +package ua.acclorite.book_story.ui.settings.browse import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/BrowseDisplaySubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/BrowseDisplaySubcategory.kt similarity index 74% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/BrowseDisplaySubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/BrowseDisplaySubcategory.kt index 82c4dbc7..20452108 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/BrowseDisplaySubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/BrowseDisplaySubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.browse.display +package ua.acclorite.book_story.ui.settings.browse.display import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,9 +14,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.browse.display.components.BrowseGridSizeOption -import ua.acclorite.book_story.presentation.settings.browse.display.components.BrowseLayoutOption -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.browse.display.components.BrowseGridSizeOption +import ua.acclorite.book_story.ui.settings.browse.display.components.BrowseLayoutOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory fun LazyListScope.BrowseDisplaySubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseGridSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseGridSizeOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseGridSizeOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseGridSizeOption.kt index cb7ae8cf..4d297eed 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseGridSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseGridSizeOption.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse.display.components +package ua.acclorite.book_story.ui.settings.browse.display.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.browse.model.BrowseLayout -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.browse.model.BrowseLayout +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun BrowseGridSizeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseLayoutOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseLayoutOption.kt similarity index 75% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseLayoutOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseLayoutOption.kt index ba709d83..9d259da6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/display/components/BrowseLayoutOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseLayoutOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse.display.components +package ua.acclorite.book_story.ui.settings.browse.display.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.browse.model.BrowseLayout -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.browse.model.BrowseLayout +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun BrowseLayoutOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/BrowseFilterSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/BrowseFilterSubcategory.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/BrowseFilterSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/BrowseFilterSubcategory.kt index 1aaaacb7..977aa740 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/BrowseFilterSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/BrowseFilterSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.browse.filter +package ua.acclorite.book_story.ui.settings.browse.filter import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,8 +14,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.browse.filter.components.BrowseFilterOption -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.browse.filter.components.BrowseFilterOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory fun LazyListScope.BrowseFilterSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/components/BrowseFilterOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/components/BrowseFilterOption.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/components/BrowseFilterOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/components/BrowseFilterOption.kt index 9fd1be16..74ea515c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/filter/components/BrowseFilterOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/components/BrowseFilterOption.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.browse.filter.components +package ua.acclorite.book_story.ui.settings.browse.filter.components import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row @@ -25,10 +25,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.constants.provideExtensions -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.constants.provideExtensions fun LazyListScope.BrowseFilterOption() { items(provideExtensions(), key = { it }) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/BrowseScanSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/BrowseScanSubcategory.kt similarity index 74% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/BrowseScanSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/BrowseScanSubcategory.kt index 20042ee9..96f56e41 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/BrowseScanSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/BrowseScanSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.browse.scan +package ua.acclorite.book_story.ui.settings.browse.scan import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,9 +14,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.browse.scan.components.BrowseScanOption -import ua.acclorite.book_story.presentation.settings.browse.scan.components.BrowseScanOptionNote -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.browse.scan.components.BrowseScanOption +import ua.acclorite.book_story.ui.settings.browse.scan.components.BrowseScanOptionNote +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory fun LazyListScope.BrowseScanSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt index f150bcc8..48e2a3fb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse.scan.components +package ua.acclorite.book_story.ui.settings.browse.scan.components import android.content.Context import android.content.UriPermission @@ -39,14 +39,14 @@ import com.anggrayudi.storage.file.DocumentFileCompat import com.anggrayudi.storage.file.getBasePath import com.anggrayudi.storage.file.getRootPath import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.presentation.common.util.showToast -import ua.acclorite.book_story.ui.browse.BrowseScreen -import ua.acclorite.book_story.ui.settings.SettingsEvent -import ua.acclorite.book_story.ui.settings.SettingsModel -import ua.acclorite.book_story.ui.theme.dynamicListItemColor +import ua.acclorite.book_story.presentation.browse.BrowseScreen +import ua.acclorite.book_story.presentation.settings.SettingsEvent +import ua.acclorite.book_story.presentation.settings.SettingsModel +import ua.acclorite.book_story.presentation.theme.dynamicListItemColor +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.util.showToast @Composable fun BrowseScanOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOptionNote.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOptionNote.kt similarity index 72% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOptionNote.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOptionNote.kt index b48c55e5..e7ba1c61 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOptionNote.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOptionNote.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.browse.scan.components +package ua.acclorite.book_story.ui.settings.browse.scan.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryNote +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryNote @Composable fun BrowseScanOptionNote() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/BrowseSortSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/sort/BrowseSortSubcategory.kt similarity index 79% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/BrowseSortSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/sort/BrowseSortSubcategory.kt index 4ad99871..e425423c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/BrowseSortSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/sort/BrowseSortSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.browse.sort +package ua.acclorite.book_story.ui.settings.browse.sort import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,8 +14,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.browse.sort.components.BrowseSortOption -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.browse.sort.components.BrowseSortOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory fun LazyListScope.BrowseSortSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/components/BrowseSortOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/sort/components/BrowseSortOption.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/components/BrowseSortOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/browse/sort/components/BrowseSortOption.kt index d1cd4acf..a287548c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/sort/components/BrowseSortOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/sort/components/BrowseSortOption.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.browse.sort.components +package ua.acclorite.book_story.ui.settings.browse.sort.components import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row @@ -31,10 +31,10 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.browse.model.BrowseSortOrder -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.common.StyledText fun LazyListScope.BrowseSortOption() { items(BrowseSortOrder.entries, key = { it.name }) { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategory.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategory.kt index 09cba886..96b567d5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.components +package ua.acclorite.book_story.ui.settings.components import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryNote.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategoryNote.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryNote.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategoryNote.kt index 301572f5..39305d36 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryNote.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategoryNote.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.components +package ua.acclorite.book_story.ui.settings.components import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -21,7 +21,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun SettingsSubcategoryNote( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategoryTitle.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryTitle.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategoryTitle.kt index a5fc52c2..89afe310 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/components/SettingsSubcategoryTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/components/SettingsSubcategoryTitle.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.components +package ua.acclorite.book_story.ui.settings.components import androidx.compose.foundation.layout.padding import androidx.compose.material3.MaterialTheme @@ -18,7 +18,7 @@ import androidx.compose.ui.text.style.LineBreak import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun SettingsSubcategoryTitle( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsCategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsCategory.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsCategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsCategory.kt index b642ca63..75f59c81 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsCategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsCategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.general +package ua.acclorite.book_story.ui.settings.general import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -15,8 +15,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.coerceAtLeast import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.presentation.settings.general.components.AppLanguageOption -import ua.acclorite.book_story.presentation.settings.general.components.DoublePressExitOption +import ua.acclorite.book_story.ui.settings.general.components.AppLanguageOption +import ua.acclorite.book_story.ui.settings.general.components.DoublePressExitOption fun LazyListScope.GeneralSettingsCategory( topPadding: Dp = 16.dp, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsContent.kt index 3e3e3578..b5cb2894 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.general +package ua.acclorite.book_story.ui.settings.general import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsLayout.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsLayout.kt index 856d5dd0..de3bd1f7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.general +package ua.acclorite.book_story.ui.settings.general import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun GeneralSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsScaffold.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsScaffold.kt index c9f10cc5..cec18528 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.general +package ua.acclorite.book_story.ui.settings.general import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsTopBar.kt index c96d5411..95a696ed 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/GeneralSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/GeneralSettingsTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.general +package ua.acclorite.book_story.ui.settings.general import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/AppLanguageOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/AppLanguageOption.kt similarity index 72% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/AppLanguageOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/AppLanguageOption.kt index 37e34de0..8d1dca70 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/AppLanguageOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/AppLanguageOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.general.components +package ua.acclorite.book_story.ui.settings.general.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.common.constants.provideLanguages -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.ui.common.constants.provideLanguages +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun AppLanguageOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/DoublePressExitOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/DoublePressExitOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/DoublePressExitOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/DoublePressExitOption.kt index e84c16b0..5a6dfbeb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/general/components/DoublePressExitOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/DoublePressExitOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.general.components +package ua.acclorite.book_story.ui.settings.general.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun DoublePressExitOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsCategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsCategory.kt similarity index 50% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsCategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsCategory.kt index 1aca1149..75d1d5b6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsCategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsCategory.kt @@ -6,13 +6,13 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.library +package ua.acclorite.book_story.ui.settings.library import androidx.compose.foundation.lazy.LazyListScope -import ua.acclorite.book_story.presentation.settings.library.categories.LibraryCategoriesSubcategory -import ua.acclorite.book_story.presentation.settings.library.display.LibraryDisplaySubcategory -import ua.acclorite.book_story.presentation.settings.library.sort.LibrarySortSubcategory -import ua.acclorite.book_story.presentation.settings.library.tabs.LibraryTabsSubcategory +import ua.acclorite.book_story.ui.settings.library.categories.LibraryCategoriesSubcategory +import ua.acclorite.book_story.ui.settings.library.display.LibraryDisplaySubcategory +import ua.acclorite.book_story.ui.settings.library.sort.LibrarySortSubcategory +import ua.acclorite.book_story.ui.settings.library.tabs.LibraryTabsSubcategory fun LazyListScope.LibrarySettingsCategory() { LibraryCategoriesSubcategory() diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsContent.kt index 7ad2fd53..53d1c9db 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library +package ua.acclorite.book_story.ui.settings.library import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsLayout.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsLayout.kt index fd9b40f0..d23a707d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library +package ua.acclorite.book_story.ui.settings.library import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun LibrarySettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsScaffold.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsScaffold.kt index 0a5c7a90..1da75dad 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library +package ua.acclorite.book_story.ui.settings.library import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsTopBar.kt index 2d939c93..e8312d6a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/LibrarySettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/LibrarySettingsTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library +package ua.acclorite.book_story.ui.settings.library import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/LibraryCategoriesSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/LibraryCategoriesSubcategory.kt similarity index 73% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/LibraryCategoriesSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/LibraryCategoriesSubcategory.kt index 305d8fe6..c7d150e5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/LibraryCategoriesSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/LibraryCategoriesSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.library.categories +package ua.acclorite.book_story.ui.settings.library.categories import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,9 +14,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.library.categories.components.LibraryCategoriesOption -import ua.acclorite.book_story.presentation.settings.library.categories.components.LibraryCategoriesOptionNote +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.library.categories.components.LibraryCategoriesOption +import ua.acclorite.book_story.ui.settings.library.categories.components.LibraryCategoriesOptionNote fun LazyListScope.LibraryCategoriesSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt index 0fc112fd..c9f2ebbd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.categories.components +package ua.acclorite.book_story.ui.settings.library.categories.components import androidx.compose.animation.animateContentSize import androidx.compose.foundation.background @@ -48,16 +48,16 @@ import sh.calvin.reorderable.ReorderableColumn import sh.calvin.reorderable.ReorderableScope import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.presentation.common.components.common.IconButton -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.common.components.dialog.Dialog -import ua.acclorite.book_story.presentation.common.components.dialog.DialogWithTextField -import ua.acclorite.book_story.presentation.common.util.noRippleClickable -import ua.acclorite.book_story.ui.library.LibraryScreen -import ua.acclorite.book_story.ui.settings.SettingsEvent -import ua.acclorite.book_story.ui.settings.SettingsModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition -import ua.acclorite.book_story.ui.theme.dynamicListItemColor +import ua.acclorite.book_story.presentation.library.LibraryScreen +import ua.acclorite.book_story.presentation.settings.SettingsEvent +import ua.acclorite.book_story.presentation.settings.SettingsModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.theme.dynamicListItemColor +import ua.acclorite.book_story.ui.common.components.common.IconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.dialog.Dialog +import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField +import ua.acclorite.book_story.ui.common.util.noRippleClickable private const val CREATE_DIALOG = "create_dialog" private const val EDIT_DIALOG = "edit_dialog" diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOptionNote.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOptionNote.kt similarity index 71% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOptionNote.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOptionNote.kt index d0bf5689..3938f0d0 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/categories/components/LibraryCategoriesOptionNote.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOptionNote.kt @@ -4,12 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.categories.components +package ua.acclorite.book_story.ui.settings.library.categories.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryNote +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryNote @Composable fun LibraryCategoriesOptionNote() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/LibraryDisplaySubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/LibraryDisplaySubcategory.kt similarity index 64% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/LibraryDisplaySubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/LibraryDisplaySubcategory.kt index 10c7e103..fd7d67a8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/LibraryDisplaySubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/LibraryDisplaySubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.library.display +package ua.acclorite.book_story.ui.settings.library.display import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,12 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.library.display.components.LibraryGridSizeOption -import ua.acclorite.book_story.presentation.settings.library.display.components.LibraryLayoutOption -import ua.acclorite.book_story.presentation.settings.library.display.components.LibraryReadButtonOption -import ua.acclorite.book_story.presentation.settings.library.display.components.LibraryShowProgressOption -import ua.acclorite.book_story.presentation.settings.library.display.components.LibraryTitlePositionOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.library.display.components.LibraryGridSizeOption +import ua.acclorite.book_story.ui.settings.library.display.components.LibraryLayoutOption +import ua.acclorite.book_story.ui.settings.library.display.components.LibraryReadButtonOption +import ua.acclorite.book_story.ui.settings.library.display.components.LibraryShowProgressOption +import ua.acclorite.book_story.ui.settings.library.display.components.LibraryTitlePositionOption fun LazyListScope.LibraryDisplaySubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryGridSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryGridSizeOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryGridSizeOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryGridSizeOption.kt index aef0a1fe..3fc4f3c5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryGridSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryGridSizeOption.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.display.components +package ua.acclorite.book_story.ui.settings.library.display.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun LibraryGridSizeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryLayoutOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryLayoutOption.kt similarity index 75% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryLayoutOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryLayoutOption.kt index e3177fdd..c2540783 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryLayoutOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryLayoutOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.display.components +package ua.acclorite.book_story.ui.settings.library.display.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun LibraryLayoutOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryReadButtonOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryReadButtonOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryReadButtonOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryReadButtonOption.kt index db30b36d..5be090e3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryReadButtonOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryReadButtonOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.display.components +package ua.acclorite.book_story.ui.settings.library.display.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun LibraryReadButtonOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryShowProgressOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryShowProgressOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryShowProgressOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryShowProgressOption.kt index 28efa9bc..7ac29d8c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryShowProgressOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryShowProgressOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.display.components +package ua.acclorite.book_story.ui.settings.library.display.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun LibraryShowProgressOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryTitlePositionOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryTitlePositionOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryTitlePositionOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryTitlePositionOption.kt index a37d605a..aa926e26 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/display/components/LibraryTitlePositionOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryTitlePositionOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.display.components +package ua.acclorite.book_story.ui.settings.library.display.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,13 +12,13 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.library.model.LibraryLayout -import ua.acclorite.book_story.ui.library.model.LibraryTitlePosition -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.library.model.LibraryLayout +import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun LibraryTitlePositionOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/LibrarySortSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/LibrarySortSubcategory.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/LibrarySortSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/LibrarySortSubcategory.kt index 74078ab5..c084f183 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/LibrarySortSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/LibrarySortSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.library.sort +package ua.acclorite.book_story.ui.settings.library.sort import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,8 +14,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.library.sort.components.LibraryPerCategorySortOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.library.sort.components.LibraryPerCategorySortOption fun LazyListScope.LibrarySortSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibraryPerCategorySortOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/components/LibraryPerCategorySortOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibraryPerCategorySortOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/components/LibraryPerCategorySortOption.kt index d425c680..adef17f3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibraryPerCategorySortOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/components/LibraryPerCategorySortOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.sort.components +package ua.acclorite.book_story.ui.settings.library.sort.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun LibraryPerCategorySortOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibrarySortOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/components/LibrarySortOption.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibrarySortOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/components/LibrarySortOption.kt index 8a48bb1f..e00e5fcb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/sort/components/LibrarySortOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/sort/components/LibrarySortOption.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.library.sort.components +package ua.acclorite.book_story.ui.settings.library.sort.components import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Row @@ -29,8 +29,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.ui.library.model.LibrarySortOrder +import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder +import ua.acclorite.book_story.ui.common.components.common.StyledText fun LazyListScope.LibrarySortOption( sortOrder: LibrarySortOrder, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/LibraryTabsSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/LibraryTabsSubcategory.kt similarity index 69% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/LibraryTabsSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/LibraryTabsSubcategory.kt index af7315e5..dc38a4af 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/LibraryTabsSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/LibraryTabsSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.library.tabs +package ua.acclorite.book_story.ui.settings.library.tabs import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,10 +14,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.library.tabs.components.LibraryAlwaysShowDefaultTabOption -import ua.acclorite.book_story.presentation.settings.library.tabs.components.LibraryShowBookCountOption -import ua.acclorite.book_story.presentation.settings.library.tabs.components.LibraryShowCategoryTabsOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.library.tabs.components.LibraryAlwaysShowDefaultTabOption +import ua.acclorite.book_story.ui.settings.library.tabs.components.LibraryShowBookCountOption +import ua.acclorite.book_story.ui.settings.library.tabs.components.LibraryShowCategoryTabsOption fun LazyListScope.LibraryTabsSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt index 8a6353be..6b3af0f3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryAlwaysShowDefaultTabOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.tabs.components +package ua.acclorite.book_story.ui.settings.library.tabs.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun LibraryAlwaysShowDefaultTabOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowBookCountOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryShowBookCountOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowBookCountOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryShowBookCountOption.kt index 3aa60fb3..d54d4c64 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowBookCountOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryShowBookCountOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.tabs.components +package ua.acclorite.book_story.ui.settings.library.tabs.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun LibraryShowBookCountOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt index e85f63e9..34a936a6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/tabs/components/LibraryShowCategoryTabsOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.library.tabs.components +package ua.acclorite.book_story.ui.settings.library.tabs.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun LibraryShowCategoryTabsOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsCategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsCategory.kt similarity index 54% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsCategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsCategory.kt index 64f0f1d5..b8a29259 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsCategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsCategory.kt @@ -6,23 +6,23 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader +package ua.acclorite.book_story.ui.settings.reader import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.presentation.settings.reader.chapters.ChaptersSubcategory -import ua.acclorite.book_story.presentation.settings.reader.font.FontSubcategory -import ua.acclorite.book_story.presentation.settings.reader.images.ImagesSubcategory -import ua.acclorite.book_story.presentation.settings.reader.misc.MiscSubcategory -import ua.acclorite.book_story.presentation.settings.reader.padding.PaddingSubcategory -import ua.acclorite.book_story.presentation.settings.reader.progress.ProgressSubcategory -import ua.acclorite.book_story.presentation.settings.reader.reading_mode.ReadingModeSubcategory -import ua.acclorite.book_story.presentation.settings.reader.reading_speed.ReadingSpeedSubcategory -import ua.acclorite.book_story.presentation.settings.reader.system.SystemSubcategory -import ua.acclorite.book_story.presentation.settings.reader.text.TextSubcategory -import ua.acclorite.book_story.presentation.settings.reader.translator.TranslatorSubcategory +import ua.acclorite.book_story.ui.settings.reader.chapters.ChaptersSubcategory +import ua.acclorite.book_story.ui.settings.reader.font.FontSubcategory +import ua.acclorite.book_story.ui.settings.reader.images.ImagesSubcategory +import ua.acclorite.book_story.ui.settings.reader.misc.MiscSubcategory +import ua.acclorite.book_story.ui.settings.reader.padding.PaddingSubcategory +import ua.acclorite.book_story.ui.settings.reader.progress.ProgressSubcategory +import ua.acclorite.book_story.ui.settings.reader.reading_mode.ReadingModeSubcategory +import ua.acclorite.book_story.ui.settings.reader.reading_speed.ReadingSpeedSubcategory +import ua.acclorite.book_story.ui.settings.reader.system.SystemSubcategory +import ua.acclorite.book_story.ui.settings.reader.text.TextSubcategory +import ua.acclorite.book_story.ui.settings.reader.translator.TranslatorSubcategory fun LazyListScope.ReaderSettingsCategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary } diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsContent.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsContent.kt index 5a5bb157..1b9371c3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsContent.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader +package ua.acclorite.book_story.ui.settings.reader import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material3.ExperimentalMaterial3Api diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsLayout.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsLayout.kt index b144e108..a081c6b9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader +package ua.acclorite.book_story.ui.settings.reader import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun ReaderSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsScaffold.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsScaffold.kt index 15d6bfec..62eb8e3a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader +package ua.acclorite.book_story.ui.settings.reader import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsTopBar.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsTopBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsTopBar.kt index 43ae6e4f..81eb33fc 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/ReaderSettingsTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/ReaderSettingsTopBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader +package ua.acclorite.book_story.ui.settings.reader import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar @@ -14,8 +14,8 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText -import ua.acclorite.book_story.presentation.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/ChaptersSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/chapters/ChaptersSubcategory.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/ChaptersSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/chapters/ChaptersSubcategory.kt index b92270c2..be733f7b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/ChaptersSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/chapters/ChaptersSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.chapters +package ua.acclorite.book_story.ui.settings.reader.chapters import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,8 +14,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.chapters.components.ChapterTitleAlignmentOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.chapters.components.ChapterTitleAlignmentOption fun LazyListScope.ChaptersSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt similarity index 79% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt index a166f01f..5993e681 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/chapters/components/ChapterTitleAlignmentOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.chapters.components +package ua.acclorite.book_story.ui.settings.reader.chapters.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun ChapterTitleAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/FontSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/FontSubcategory.kt similarity index 65% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/FontSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/FontSubcategory.kt index 7a570604..da24b5f2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/FontSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/FontSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.font +package ua.acclorite.book_story.ui.settings.reader.font import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,12 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.font.components.FontFamilyOption -import ua.acclorite.book_story.presentation.settings.reader.font.components.FontSizeOption -import ua.acclorite.book_story.presentation.settings.reader.font.components.FontStyleOption -import ua.acclorite.book_story.presentation.settings.reader.font.components.FontThicknessOption -import ua.acclorite.book_story.presentation.settings.reader.font.components.LetterSpacingOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.font.components.FontFamilyOption +import ua.acclorite.book_story.ui.settings.reader.font.components.FontSizeOption +import ua.acclorite.book_story.ui.settings.reader.font.components.FontStyleOption +import ua.acclorite.book_story.ui.settings.reader.font.components.FontThicknessOption +import ua.acclorite.book_story.ui.settings.reader.font.components.LetterSpacingOption fun LazyListScope.FontSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontFamilyOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontFamilyOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontFamilyOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontFamilyOption.kt index 01cdda94..b04726ea 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontFamilyOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontFamilyOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.font.components +package ua.acclorite.book_story.ui.settings.reader.font.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -13,11 +13,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.common.constants.provideFonts -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.ui.common.constants.provideFonts +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun FontFamilyOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontSizeOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontSizeOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontSizeOption.kt index 8f1590e7..67bc5432 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontSizeOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.font.components +package ua.acclorite.book_story.ui.settings.reader.font.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun FontSizeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontStyleOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontStyleOption.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontStyleOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontStyleOption.kt index 258403c6..c5aeaa79 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontStyleOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontStyleOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.font.components +package ua.acclorite.book_story.ui.settings.reader.font.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -14,11 +14,11 @@ import androidx.compose.ui.text.font.FontStyle import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.constants.provideFonts -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.constants.provideFonts +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun FontStyleOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontThicknessOption.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontThicknessOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontThicknessOption.kt index 1a696e91..447497c3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/FontThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontThicknessOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.font.components +package ua.acclorite.book_story.ui.settings.reader.font.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -13,12 +13,12 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.common.constants.provideFonts -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderFontThickness +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness +import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.ui.common.constants.provideFonts +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun FontThicknessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/LetterSpacingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/LetterSpacingOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/LetterSpacingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/LetterSpacingOption.kt index 43950460..0925d3f7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/font/components/LetterSpacingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/LetterSpacingOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.font.components +package ua.acclorite.book_story.ui.settings.reader.font.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun LetterSpacingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/ImagesSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/ImagesSubcategory.kt similarity index 64% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/ImagesSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/ImagesSubcategory.kt index 42499889..69f60e60 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/ImagesSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/ImagesSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.images +package ua.acclorite.book_story.ui.settings.reader.images import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,12 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.images.components.ImagesAlignmentOption -import ua.acclorite.book_story.presentation.settings.reader.images.components.ImagesColorEffectsOption -import ua.acclorite.book_story.presentation.settings.reader.images.components.ImagesCornersRoundnessOption -import ua.acclorite.book_story.presentation.settings.reader.images.components.ImagesOption -import ua.acclorite.book_story.presentation.settings.reader.images.components.ImagesWidthOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.images.components.ImagesAlignmentOption +import ua.acclorite.book_story.ui.settings.reader.images.components.ImagesColorEffectsOption +import ua.acclorite.book_story.ui.settings.reader.images.components.ImagesCornersRoundnessOption +import ua.acclorite.book_story.ui.settings.reader.images.components.ImagesOption +import ua.acclorite.book_story.ui.settings.reader.images.components.ImagesWidthOption fun LazyListScope.ImagesSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesAlignmentOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesAlignmentOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesAlignmentOption.kt index ee922120..4ddf0e61 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesAlignmentOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.images.components +package ua.acclorite.book_story.ui.settings.reader.images.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,12 +12,12 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun ImagesAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesColorEffectsOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesColorEffectsOption.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesColorEffectsOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesColorEffectsOption.kt index 7740241b..f597b76a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesColorEffectsOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesColorEffectsOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.images.components +package ua.acclorite.book_story.ui.settings.reader.images.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,12 +12,12 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderColorEffects -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderColorEffects +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun ImagesColorEffectsOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesCornersRoundnessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesCornersRoundnessOption.kt similarity index 75% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesCornersRoundnessOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesCornersRoundnessOption.kt index 214a8e67..34333ac9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesCornersRoundnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesCornersRoundnessOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.images.components +package ua.acclorite.book_story.ui.settings.reader.images.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun ImagesCornersRoundnessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesOption.kt index 3821b6ac..e8727907 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.images.components +package ua.acclorite.book_story.ui.settings.reader.images.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun ImagesOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesWidthOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesWidthOption.kt similarity index 73% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesWidthOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesWidthOption.kt index 6e81c4c7..53c2c5d8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/images/components/ImagesWidthOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesWidthOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.images.components +package ua.acclorite.book_story.ui.settings.reader.images.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun ImagesWidthOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/MiscSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/MiscSubcategory.kt similarity index 70% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/MiscSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/MiscSubcategory.kt index d71be456..be5f2d12 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/MiscSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/MiscSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.misc +package ua.acclorite.book_story.ui.settings.reader.misc import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,10 +14,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.misc.components.FullscreenOption -import ua.acclorite.book_story.presentation.settings.reader.misc.components.HideBarsOnFastScrollOption -import ua.acclorite.book_story.presentation.settings.reader.misc.components.KeepScreenOnOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.misc.components.FullscreenOption +import ua.acclorite.book_story.ui.settings.reader.misc.components.HideBarsOnFastScrollOption +import ua.acclorite.book_story.ui.settings.reader.misc.components.KeepScreenOnOption fun LazyListScope.MiscSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/FullscreenOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/FullscreenOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/FullscreenOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/FullscreenOption.kt index cf3c4641..29fcd838 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/FullscreenOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/FullscreenOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.misc.components +package ua.acclorite.book_story.ui.settings.reader.misc.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun FullscreenOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/HideBarsOnFastScrollOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/HideBarsOnFastScrollOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/HideBarsOnFastScrollOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/HideBarsOnFastScrollOption.kt index b20c1360..46e6d780 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/HideBarsOnFastScrollOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/HideBarsOnFastScrollOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.misc.components +package ua.acclorite.book_story.ui.settings.reader.misc.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun HideBarsOnFastScrollOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/KeepScreenOnOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/KeepScreenOnOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/KeepScreenOnOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/KeepScreenOnOption.kt index 0d9898a6..ce045704 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/misc/components/KeepScreenOnOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/misc/components/KeepScreenOnOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.misc.components +package ua.acclorite.book_story.ui.settings.reader.misc.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun KeepScreenOnOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/PaddingSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/PaddingSubcategory.kt similarity index 67% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/PaddingSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/PaddingSubcategory.kt index fa6dc7ca..7cc269e4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/PaddingSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/PaddingSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.padding +package ua.acclorite.book_story.ui.settings.reader.padding import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,11 +14,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.padding.components.BottomBarPaddingOption -import ua.acclorite.book_story.presentation.settings.reader.padding.components.CutoutPaddingOption -import ua.acclorite.book_story.presentation.settings.reader.padding.components.SidePaddingOption -import ua.acclorite.book_story.presentation.settings.reader.padding.components.VerticalPaddingOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.padding.components.BottomBarPaddingOption +import ua.acclorite.book_story.ui.settings.reader.padding.components.CutoutPaddingOption +import ua.acclorite.book_story.ui.settings.reader.padding.components.SidePaddingOption +import ua.acclorite.book_story.ui.settings.reader.padding.components.VerticalPaddingOption fun LazyListScope.PaddingSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/BottomBarPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/BottomBarPaddingOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/BottomBarPaddingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/BottomBarPaddingOption.kt index 7c892e06..925c61bb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/BottomBarPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/BottomBarPaddingOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.padding.components +package ua.acclorite.book_story.ui.settings.reader.padding.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun BottomBarPaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/CutoutPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/CutoutPaddingOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/CutoutPaddingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/CutoutPaddingOption.kt index 1c0b272d..f9da8be8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/CutoutPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/CutoutPaddingOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.padding.components +package ua.acclorite.book_story.ui.settings.reader.padding.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun CutoutPaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/SidePaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/SidePaddingOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/SidePaddingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/SidePaddingOption.kt index d219ca61..51abcdd8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/SidePaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/SidePaddingOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.padding.components +package ua.acclorite.book_story.ui.settings.reader.padding.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun SidePaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/VerticalPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/VerticalPaddingOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/VerticalPaddingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/VerticalPaddingOption.kt index 7a67c910..21fa45ba 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/padding/components/VerticalPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/padding/components/VerticalPaddingOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.padding.components +package ua.acclorite.book_story.ui.settings.reader.padding.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun VerticalPaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/ProgressSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/ProgressSubcategory.kt similarity index 64% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/ProgressSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/ProgressSubcategory.kt index fca1eb92..17881ee9 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/ProgressSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/ProgressSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.progress +package ua.acclorite.book_story.ui.settings.reader.progress import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,12 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.progress.components.ProgressBarAlignmentOption -import ua.acclorite.book_story.presentation.settings.reader.progress.components.ProgressBarFontSizeOption -import ua.acclorite.book_story.presentation.settings.reader.progress.components.ProgressBarOption -import ua.acclorite.book_story.presentation.settings.reader.progress.components.ProgressBarPaddingOption -import ua.acclorite.book_story.presentation.settings.reader.progress.components.ProgressCountOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.progress.components.ProgressBarAlignmentOption +import ua.acclorite.book_story.ui.settings.reader.progress.components.ProgressBarFontSizeOption +import ua.acclorite.book_story.ui.settings.reader.progress.components.ProgressBarOption +import ua.acclorite.book_story.ui.settings.reader.progress.components.ProgressBarPaddingOption +import ua.acclorite.book_story.ui.settings.reader.progress.components.ProgressCountOption fun LazyListScope.ProgressSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarAlignmentOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarAlignmentOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarAlignmentOption.kt index b33d5b2a..61a331eb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarAlignmentOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.progress.components +package ua.acclorite.book_story.ui.settings.reader.progress.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,12 +12,12 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.main.model.HorizontalAlignment -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun ProgressBarAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarFontSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarFontSizeOption.kt similarity index 74% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarFontSizeOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarFontSizeOption.kt index a137dc58..16ec5d34 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarFontSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarFontSizeOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.progress.components +package ua.acclorite.book_story.ui.settings.reader.progress.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun ProgressBarFontSizeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarOption.kt index acb93982..8e261a32 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.progress.components +package ua.acclorite.book_story.ui.settings.reader.progress.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun ProgressBarOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarPaddingOption.kt similarity index 74% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarPaddingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarPaddingOption.kt index ef00c68a..6ddca172 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressBarPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarPaddingOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.progress.components +package ua.acclorite.book_story.ui.settings.reader.progress.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun ProgressBarPaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressCountOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressCountOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressCountOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressCountOption.kt index a522e2aa..3fe52c5a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/progress/components/ProgressCountOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressCountOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.progress.components +package ua.acclorite.book_story.ui.settings.reader.progress.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderProgressCount +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun ProgressCountOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/ReadingModeSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/ReadingModeSubcategory.kt similarity index 63% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/ReadingModeSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/ReadingModeSubcategory.kt index 327b3e57..a2f657b8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/ReadingModeSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/ReadingModeSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.reading_mode +package ua.acclorite.book_story.ui.settings.reader.reading_mode import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,12 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.reading_mode.components.HorizontalGestureAlphaAnimOption -import ua.acclorite.book_story.presentation.settings.reader.reading_mode.components.HorizontalGestureOption -import ua.acclorite.book_story.presentation.settings.reader.reading_mode.components.HorizontalGesturePullAnimOption -import ua.acclorite.book_story.presentation.settings.reader.reading_mode.components.HorizontalGestureScrollOption -import ua.acclorite.book_story.presentation.settings.reader.reading_mode.components.HorizontalGestureSensitivityOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.reading_mode.components.HorizontalGestureAlphaAnimOption +import ua.acclorite.book_story.ui.settings.reader.reading_mode.components.HorizontalGestureOption +import ua.acclorite.book_story.ui.settings.reader.reading_mode.components.HorizontalGesturePullAnimOption +import ua.acclorite.book_story.ui.settings.reader.reading_mode.components.HorizontalGestureScrollOption +import ua.acclorite.book_story.ui.settings.reader.reading_mode.components.HorizontalGestureSensitivityOption fun LazyListScope.ReadingModeSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt similarity index 75% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt index 9fca7f6b..b6187324 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_mode.components +package ua.acclorite.book_story.ui.settings.reader.reading_mode.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun HorizontalGestureAlphaAnimOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureOption.kt similarity index 80% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureOption.kt index 5e0dc59c..49c9e9df 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_mode.components +package ua.acclorite.book_story.ui.settings.reader.reading_mode.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun HorizontalGestureOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt similarity index 74% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt index dd7c99b7..859b947b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_mode.components +package ua.acclorite.book_story.ui.settings.reader.reading_mode.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun HorizontalGesturePullAnimOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt similarity index 72% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt index 1e01f2e6..22fe9875 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_mode.components +package ua.acclorite.book_story.ui.settings.reader.reading_mode.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun HorizontalGestureScrollOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt similarity index 72% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt index 33eac541..6c114a87 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_mode.components +package ua.acclorite.book_story.ui.settings.reader.reading_mode.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun HorizontalGestureSensitivityOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/ReadingSpeedSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/ReadingSpeedSubcategory.kt similarity index 63% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/ReadingSpeedSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/ReadingSpeedSubcategory.kt index ac175962..f9f5f414 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/ReadingSpeedSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/ReadingSpeedSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.reading_speed +package ua.acclorite.book_story.ui.settings.reader.reading_speed import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,12 +14,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.reading_speed.components.HighlightedReadingOption -import ua.acclorite.book_story.presentation.settings.reader.reading_speed.components.HighlightedReadingThicknessOption -import ua.acclorite.book_story.presentation.settings.reader.reading_speed.components.PerceptionExpanderOption -import ua.acclorite.book_story.presentation.settings.reader.reading_speed.components.PerceptionExpanderPaddingOption -import ua.acclorite.book_story.presentation.settings.reader.reading_speed.components.PerceptionExpanderThicknessOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.reading_speed.components.HighlightedReadingOption +import ua.acclorite.book_story.ui.settings.reader.reading_speed.components.HighlightedReadingThicknessOption +import ua.acclorite.book_story.ui.settings.reader.reading_speed.components.PerceptionExpanderOption +import ua.acclorite.book_story.ui.settings.reader.reading_speed.components.PerceptionExpanderPaddingOption +import ua.acclorite.book_story.ui.settings.reader.reading_speed.components.PerceptionExpanderThicknessOption fun LazyListScope.ReadingSpeedSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingOption.kt index e188d223..fc79c390 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_speed.components +package ua.acclorite.book_story.ui.settings.reader.reading_speed.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun HighlightedReadingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt index 133e62bb..82e1b80f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_speed.components +package ua.acclorite.book_story.ui.settings.reader.reading_speed.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun HighlightedReadingThicknessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderOption.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderOption.kt index 4671cff9..63a1d6d8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_speed.components +package ua.acclorite.book_story.ui.settings.reader.reading_speed.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun PerceptionExpanderOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt similarity index 75% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt index b62c3b30..5ea59da7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_speed.components +package ua.acclorite.book_story.ui.settings.reader.reading_speed.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun PerceptionExpanderPaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt similarity index 75% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt index b3ede84f..bd76133b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.reading_speed.components +package ua.acclorite.book_story.ui.settings.reader.reading_speed.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun PerceptionExpanderThicknessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/SystemSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/SystemSubcategory.kt similarity index 70% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/SystemSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/SystemSubcategory.kt index e0ca2fea..9baa99d2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/SystemSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/SystemSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.system +package ua.acclorite.book_story.ui.settings.reader.system import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,10 +14,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.system.components.CustomScreenBrightnessOption -import ua.acclorite.book_story.presentation.settings.reader.system.components.ScreenBrightnessOption -import ua.acclorite.book_story.presentation.settings.reader.system.components.ScreenOrientationOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.system.components.CustomScreenBrightnessOption +import ua.acclorite.book_story.ui.settings.reader.system.components.ScreenBrightnessOption +import ua.acclorite.book_story.ui.settings.reader.system.components.ScreenOrientationOption fun LazyListScope.SystemSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/CustomScreenBrightnessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/CustomScreenBrightnessOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/CustomScreenBrightnessOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/CustomScreenBrightnessOption.kt index 3e8b41f9..7f3270f3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/CustomScreenBrightnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/CustomScreenBrightnessOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.system.components +package ua.acclorite.book_story.ui.settings.reader.system.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun CustomScreenBrightnessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenBrightnessOption.kt similarity index 74% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenBrightnessOption.kt index 069fa167..e9c5d856 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenBrightnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenBrightnessOption.kt @@ -4,17 +4,17 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.system.components +package ua.acclorite.book_story.ui.settings.reader.system.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun ScreenBrightnessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenOrientationOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenOrientationOption.kt similarity index 82% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenOrientationOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenOrientationOption.kt index 6f901477..90604fb6 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/system/components/ScreenOrientationOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenOrientationOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.system.components +package ua.acclorite.book_story.ui.settings.reader.system.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderScreenOrientation +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderScreenOrientation +import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun ScreenOrientationOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/TextSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/TextSubcategory.kt similarity index 67% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/TextSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/TextSubcategory.kt index 273678dc..042b473b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/TextSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/TextSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.text +package ua.acclorite.book_story.ui.settings.reader.text import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,11 +14,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.text.components.LineHeightOption -import ua.acclorite.book_story.presentation.settings.reader.text.components.ParagraphHeightOption -import ua.acclorite.book_story.presentation.settings.reader.text.components.ParagraphIndentationOption -import ua.acclorite.book_story.presentation.settings.reader.text.components.TextAlignmentOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.text.components.LineHeightOption +import ua.acclorite.book_story.ui.settings.reader.text.components.ParagraphHeightOption +import ua.acclorite.book_story.ui.settings.reader.text.components.ParagraphIndentationOption +import ua.acclorite.book_story.ui.settings.reader.text.components.TextAlignmentOption fun LazyListScope.TextSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/LineHeightOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/LineHeightOption.kt similarity index 76% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/LineHeightOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/LineHeightOption.kt index 7af599c1..f0eb1cda 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/LineHeightOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/LineHeightOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.text.components +package ua.acclorite.book_story.ui.settings.reader.text.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun LineHeightOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphHeightOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphHeightOption.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphHeightOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphHeightOption.kt index 7852ef13..86cbea00 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphHeightOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphHeightOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.text.components +package ua.acclorite.book_story.ui.settings.reader.text.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun ParagraphHeightOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphIndentationOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphIndentationOption.kt similarity index 73% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphIndentationOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphIndentationOption.kt index 4d9831f0..9440c911 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/ParagraphIndentationOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphIndentationOption.kt @@ -4,18 +4,18 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.text.components +package ua.acclorite.book_story.ui.settings.reader.text.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SliderWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.theme.ExpandingTransition +import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle @Composable fun ParagraphIndentationOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/TextAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/TextAlignmentOption.kt similarity index 79% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/TextAlignmentOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/TextAlignmentOption.kt index e86521bc..fbd7c4ee 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/text/components/TextAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/TextAlignmentOption.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.text.components +package ua.acclorite.book_story.ui.settings.reader.text.components import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -12,11 +12,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel -import ua.acclorite.book_story.ui.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment +import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun TextAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/TranslatorSubcategory.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/translator/TranslatorSubcategory.kt similarity index 78% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/TranslatorSubcategory.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/translator/TranslatorSubcategory.kt index fd89dc4e..7d87047a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/TranslatorSubcategory.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/translator/TranslatorSubcategory.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.settings.reader.translator +package ua.acclorite.book_story.ui.settings.reader.translator import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme @@ -14,8 +14,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategory -import ua.acclorite.book_story.presentation.settings.reader.translator.components.DoubleClickTranslationOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategory +import ua.acclorite.book_story.ui.settings.reader.translator.components.DoubleClickTranslationOption fun LazyListScope.TranslatorSubcategory( titleColor: @Composable () -> Color = { MaterialTheme.colorScheme.primary }, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/components/DoubleClickTranslationOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/translator/components/DoubleClickTranslationOption.kt similarity index 79% rename from app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/components/DoubleClickTranslationOption.kt rename to app/src/main/java/ua/acclorite/book_story/ui/settings/reader/translator/components/DoubleClickTranslationOption.kt index d2ac4e76..8945e2ee 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/reader/translator/components/DoubleClickTranslationOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/translator/components/DoubleClickTranslationOption.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.settings.reader.translator.components +package ua.acclorite.book_story.ui.settings.reader.translator.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.settings.SwitchWithTitle -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.main.MainModel +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainModel +import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle @Composable fun DoubleClickTranslationOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartBackHandler.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartBackHandler.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartBackHandler.kt index 3db543ea..0a9882bb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartBackHandler.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartContent.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartContent.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartContent.kt index 75caf364..13d7195f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartContent.kt @@ -4,16 +4,16 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.background import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.navigator.StackEvent -import ua.acclorite.book_story.ui.start.StartScreen +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.navigator.StackEvent +import ua.acclorite.book_story.presentation.start.StartScreen +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun StartContent( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContentTransition.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartContentTransition.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartContentTransition.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartContentTransition.kt index dc6fb804..cee0dbec 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartContentTransition.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartContentTransition.kt @@ -4,15 +4,15 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.animation.AnimatedContent import androidx.compose.animation.togetherWith import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.ui.navigator.StackEvent -import ua.acclorite.book_story.ui.theme.Transitions +import ua.acclorite.book_story.presentation.navigator.StackEvent +import ua.acclorite.book_story.presentation.theme.Transitions @Composable fun StartContentTransition( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDone.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDone.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartDone.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartDone.kt index aa5f100f..d9a13fce 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDone.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDone.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneBottomBar.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneBottomBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneBottomBar.kt index c98c09d4..c76882ce 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneBottomBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -25,7 +25,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun StartDoneBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneLayout.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneLayout.kt index 04984134..b7d36a4c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneLayout.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -26,7 +26,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun StartDoneLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneScaffold.kt similarity index 94% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneScaffold.kt index cbe21340..cbd0fcb2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartDoneScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartDoneScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettings.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettings.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettings.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartSettings.kt index 264d41be..b4784a25 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettings.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettings.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.runtime.Composable -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.ui.main.MainEvent -import ua.acclorite.book_story.ui.navigator.StackEvent -import ua.acclorite.book_story.ui.start.StartScreen +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.presentation.navigator.StackEvent +import ua.acclorite.book_story.presentation.start.StartScreen +import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable fun StartSettings( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsBottomBar.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsBottomBar.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsBottomBar.kt index 9575d986..726ce747 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsBottomBar.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun StartSettingsBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayout.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayout.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayout.kt index 653568ee..8e3ebc2b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayout.kt @@ -4,13 +4,13 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.presentation.common.components.common.LazyColumnWithScrollbar +import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar @Composable fun StartSettingsLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutAppearance.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutAppearance.kt similarity index 79% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutAppearance.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutAppearance.kt index 5cb1763e..0505672b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutAppearance.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutAppearance.kt @@ -6,13 +6,13 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.MaterialTheme import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.appearance.theme_preferences.ThemePreferencesSubcategory +import ua.acclorite.book_story.ui.settings.appearance.theme_preferences.ThemePreferencesSubcategory fun LazyListScope.StartSettingsLayoutAppearance() { ThemePreferencesSubcategory( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutGeneral.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutGeneral.kt similarity index 79% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutGeneral.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutGeneral.kt index ee822786..f7233de2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutGeneral.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutGeneral.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -17,10 +17,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.dialog.SelectableDialogItem -import ua.acclorite.book_story.presentation.common.model.ButtonItem -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle -import ua.acclorite.book_story.ui.main.MainEvent +import ua.acclorite.book_story.presentation.main.MainEvent +import ua.acclorite.book_story.ui.common.components.dialog.SelectableDialogItem +import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle fun LazyListScope.StartSettingsLayoutGeneral( languages: List, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutScan.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutScan.kt similarity index 81% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutScan.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutScan.kt index ebe9266a..254a1042 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsLayoutScan.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsLayoutScan.kt @@ -6,7 +6,7 @@ @file:Suppress("FunctionName") -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.settings.browse.scan.components.BrowseScanOption -import ua.acclorite.book_story.presentation.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.settings.browse.scan.components.BrowseScanOption +import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle fun LazyListScope.StartSettingsLayoutScan() { item { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsScaffold.kt similarity index 95% rename from app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsScaffold.kt rename to app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsScaffold.kt index 74aa9af3..e30e14b5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartSettingsScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartSettingsScaffold.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.start +package ua.acclorite.book_story.ui.start import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -25,7 +25,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable fun StartSettingsScaffold( From 72b032cabf9b458fc7e7b4424c3b475efe222b65 Mon Sep 17 00:00:00 2001 From: Acclorite <2ma0bhpk@anonaddy.com> Date: Mon, 2 Jun 2025 20:31:20 +0300 Subject: [PATCH 3/7] refactor: refactor use case & repository --- .../java/ua/acclorite/book_story/core/Log.kt | 25 ++ .../book_story/data/di/RepositoryModule.kt | 8 + .../book_story/data/di/ServiceModule.kt | 34 ++ .../book_story/data/local/room/BookDao.kt | 19 +- .../book_story/data/mapper/book/BookMapper.kt | 5 +- .../data/mapper/book/BookMapperImpl.kt | 4 +- .../data/mapper/category/CategoryMapper.kt | 5 +- .../mapper/category/CategoryMapperImpl.kt | 4 +- .../category_sort/CategorySortMapper.kt | 5 +- .../CategorySortSortMapperImpl.kt | 4 +- .../mapper/color_preset/ColorPresetMapper.kt | 5 +- .../color_preset/ColorPresetMapperImpl.kt | 4 +- .../book_story/data/mapper/file/FileMapper.kt | 15 + .../data/mapper/file/FileMapperImpl.kt | 43 ++ .../data/repository/BookRepositoryImpl.kt | 391 ++---------------- .../data/repository/CategoryRepositoryImpl.kt | 30 +- .../repository/ColorPresetRepositoryImpl.kt | 57 +-- .../repository/DataStoreRepositoryImpl.kt | 54 +-- .../repository/FileSystemRepositoryImpl.kt | 171 ++------ .../data/repository/HistoryRepositoryImpl.kt | 77 ++-- .../repository/PermissionRepositoryImpl.kt | 40 +- .../data/service/CoverImageHandlerImpl.kt | 68 +++ .../data/service/FileProviderImpl.kt | 58 +++ .../acclorite/book_story/domain/file/File.kt | 3 +- .../domain/repository/BookRepository.kt | 47 +-- .../domain/repository/CategoryRepository.kt | 26 +- .../repository/ColorPresetRepository.kt | 13 +- .../domain/repository/DataStoreRepository.kt | 12 +- .../domain/repository/FileSystemRepository.kt | 9 +- .../domain/repository/HistoryRepository.kt | 23 +- .../domain/repository/PermissionRepository.kt | 11 +- .../domain/service/CoverImageHandler.kt | 17 + .../book_story/domain/service/FileProvider.kt | 15 + .../domain/use_case/book/AddBookUseCase.kt | 49 +++ .../domain/use_case/book/CanResetCover.kt | 19 - .../book/CanResetCoverImageUseCase.kt | 57 +++ .../domain/use_case/book/DeleteBookUseCase.kt | 47 +++ .../domain/use_case/book/DeleteBooks.kt | 25 -- .../domain/use_case/book/GetBookById.kt | 20 - .../domain/use_case/book/GetBookUseCase.kt | 39 ++ .../domain/use_case/book/GetBooks.kt | 20 - .../domain/use_case/book/GetBooksById.kt | 20 - .../domain/use_case/book/GetText.kt | 20 - .../domain/use_case/book/GetTextUseCase.kt | 43 ++ .../domain/use_case/book/InsertBook.kt | 20 - .../domain/use_case/book/ResetCoverImage.kt | 19 - .../use_case/book/ResetCoverImageUseCase.kt | 56 +++ .../use_case/book/SearchBooksUseCase.kt | 41 ++ .../domain/use_case/book/UpdateBook.kt | 20 - .../domain/use_case/book/UpdateBookUseCase.kt | 31 ++ .../use_case/book/UpdateCoverImageOfBook.kt | 21 - .../use_case/book/UpdateCoverImageUseCase.kt | 49 +++ .../use_case/category/AddCategoryUseCase.kt | 31 ++ .../use_case/category/DeleteCategory.kt | 20 - .../category/DeleteCategoryUseCase.kt | 30 ++ .../domain/use_case/category/GetCategories.kt | 20 - .../use_case/category/GetCategoriesUseCase.kt | 33 ++ .../use_case/category/GetCategorySort.kt | 20 - .../category/GetCategorySortingUseCase.kt | 33 ++ .../use_case/category/InsertCategory.kt | 20 - .../category/UpdateCategoriesOrderUseCase.kt | 30 ++ .../use_case/category/UpdateCategoryOrder.kt | 20 - .../use_case/category/UpdateCategorySort.kt | 20 - .../category/UpdateCategorySortingUseCase.kt | 33 ++ .../use_case/category/UpdateCategoryTitle.kt | 19 - .../category/UpdateCategoryUseCase.kt | 30 ++ .../color_preset/DeleteColorPreset.kt | 20 - .../color_preset/DeleteColorPresetUseCase.kt | 31 ++ .../use_case/color_preset/GetColorPresets.kt | 20 - .../color_preset/GetColorPresetsUseCase.kt | 33 ++ .../color_preset/ReorderColorPresets.kt | 20 - .../ReorderColorPresetsUseCase.kt | 31 ++ .../color_preset/SelectColorPreset.kt | 20 - .../color_preset/SelectColorPresetUseCase.kt | 31 ++ .../color_preset/UpdateColorPreset.kt | 20 - .../color_preset/UpdateColorPresetUseCase.kt | 31 ++ .../use_case/data_store/ChangeLanguage.kt | 28 -- .../ChangeLanguagePreferenceUseCase.kt | 39 ++ .../use_case/data_store/GetAllSettings.kt | 20 - .../data_store/GetPreferencesUseCase.kt | 62 +++ .../data_store/PutPreferenceUseCase.kt | 31 ++ .../use_case/data_store/SetDatastore.kt | 20 - .../use_case/file_system/GetBookFromFile.kt | 21 - .../file_system/GetBookFromFileUseCase.kt | 41 ++ .../domain/use_case/file_system/GetFiles.kt | 20 - .../file_system/SearchFilesUseCase.kt | 33 ++ .../use_case/history/AddHistoryUseCase.kt | 31 ++ .../domain/use_case/history/DeleteHistory.kt | 20 - .../use_case/history/DeleteHistoryUseCase.kt | 31 ++ .../use_case/history/DeleteWholeHistory.kt | 19 - .../history/DeleteWholeHistoryUseCase.kt | 30 ++ .../domain/use_case/history/GetHistory.kt | 20 - .../history/GetHistoryForBookUseCase.kt | 33 ++ .../use_case/history/GetHistoryUseCase.kt | 33 ++ .../use_case/history/GetLatestHistory.kt | 20 - .../domain/use_case/history/InsertHistory.kt | 20 - .../GrantPersistableUriPermission.kt | 20 - .../GrantPersistableUriPermissionUseCase.kt | 30 ++ .../ReleasePersistableUriPermission.kt | 20 - .../ReleasePersistableUriPermissionUseCase.kt | 30 ++ .../presentation/book_info/BookInfoModel.kt | 63 ++- .../presentation/browse/BrowseModel.kt | 28 +- .../presentation/history/HistoryModel.kt | 36 +- .../presentation/library/LibraryModel.kt | 27 +- .../book_story/presentation/main/MainModel.kt | 21 +- .../presentation/reader/ReaderModel.kt | 30 +- .../presentation/settings/SettingsModel.kt | 148 +++---- 107 files changed, 1904 insertions(+), 1655 deletions(-) create mode 100644 app/src/main/java/ua/acclorite/book_story/core/Log.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/di/ServiceModule.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/service/CoverImageHandlerImpl.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/service/CoverImageHandler.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCover.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetText.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImage.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryTitle.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPreset.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresets.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresets.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPreset.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPreset.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetAllSettings.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/SetDatastore.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistory.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistory.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistory.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetLatestHistory.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/history/InsertHistory.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermission.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermission.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt diff --git a/app/src/main/java/ua/acclorite/book_story/core/Log.kt b/app/src/main/java/ua/acclorite/book_story/core/Log.kt new file mode 100644 index 00000000..ac43efd1 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/core/Log.kt @@ -0,0 +1,25 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.core + +import android.util.Log + +fun logI(message: String) { + Log.i("INFO", message) +} + +fun logD(message: String) { + Log.d("DEBUG", message) +} + +fun logW(message: String) { + Log.w("WARNING", message) +} + +fun logE(message: String) { + Log.e("ERROR", message) +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/di/RepositoryModule.kt b/app/src/main/java/ua/acclorite/book_story/data/di/RepositoryModule.kt index 130a9e70..f1ec15ae 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/di/RepositoryModule.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/di/RepositoryModule.kt @@ -20,6 +20,8 @@ import ua.acclorite.book_story.data.mapper.category_sort.CategorySortMapper import ua.acclorite.book_story.data.mapper.category_sort.CategorySortSortMapperImpl import ua.acclorite.book_story.data.mapper.color_preset.ColorPresetMapper import ua.acclorite.book_story.data.mapper.color_preset.ColorPresetMapperImpl +import ua.acclorite.book_story.data.mapper.file.FileMapper +import ua.acclorite.book_story.data.mapper.file.FileMapperImpl import ua.acclorite.book_story.data.mapper.history.HistoryMapper import ua.acclorite.book_story.data.mapper.history.HistoryMapperImpl import ua.acclorite.book_story.data.parser.FileParser @@ -123,6 +125,12 @@ abstract class RepositoryModule { categorySortSortMapperImpl: CategorySortSortMapperImpl ): CategorySortMapper + @Binds + @Singleton + abstract fun bindFileMapper( + fileMapperImpl: FileMapperImpl + ): FileMapper + @Binds @Singleton abstract fun bindFileParser( diff --git a/app/src/main/java/ua/acclorite/book_story/data/di/ServiceModule.kt b/app/src/main/java/ua/acclorite/book_story/data/di/ServiceModule.kt new file mode 100644 index 00000000..2db94b37 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/data/di/ServiceModule.kt @@ -0,0 +1,34 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.data.di + +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import ua.acclorite.book_story.data.service.CoverImageHandlerImpl +import ua.acclorite.book_story.data.service.FileProviderImpl +import ua.acclorite.book_story.domain.service.CoverImageHandler +import ua.acclorite.book_story.domain.service.FileProvider +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +abstract class ServiceModule { + + @Binds + @Singleton + abstract fun bindFileProvider( + fileProviderImpl: FileProviderImpl + ): FileProvider + + @Binds + @Singleton + abstract fun bindCoverImageHandler( + coverImageHandlerImpl: CoverImageHandlerImpl + ): CoverImageHandler +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDao.kt b/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDao.kt index 66740373..f510431f 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDao.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDao.kt @@ -40,16 +40,13 @@ interface BookDao { suspend fun searchBooks(query: String): List @Query("SELECT * FROM bookentity WHERE id=:id") - suspend fun findBookById(id: Int): BookEntity - - @Query("SELECT * FROM bookentity WHERE id IN (:ids)") - suspend fun findBooksById(ids: List): List + suspend fun findBookById(id: Int): BookEntity? @Delete - suspend fun deleteBooks(books: List) + suspend fun deleteBook(book: BookEntity): Int @Update - suspend fun updateBooks(books: List) + suspend fun updateBook(book: BookEntity): Int /* - - - - - - - - - - - - - - - - - - - - - - */ @@ -58,21 +55,21 @@ interface BookDao { suspend fun getHistory(): List @Query("SELECT * FROM historyentity WHERE bookId = :bookId ORDER BY time DESC LIMIT 1") - fun getLatestHistoryForBook(bookId: Int): HistoryEntity? + fun getHistoryForBook(bookId: Int): HistoryEntity? @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insertHistory( - history: List + history: HistoryEntity ) @Query("DELETE FROM historyentity") - suspend fun deleteWholeHistory() + suspend fun deleteWholeHistory(): Int @Query("DELETE FROM historyentity WHERE bookId = :bookId") - suspend fun deleteBookHistory(bookId: Int) + suspend fun deleteHistoryForBook(bookId: Int): Int @Delete - suspend fun deleteHistory(history: List) + suspend fun deleteHistory(history: HistoryEntity): Int /* - - - - - - - - - - - - - - - - - - - - - - */ diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt index 89c34397..76bf1369 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt @@ -10,7 +10,6 @@ import ua.acclorite.book_story.data.local.dto.BookEntity import ua.acclorite.book_story.domain.library.Book interface BookMapper { - suspend fun toBookEntity(book: Book): BookEntity - - suspend fun toBook(bookEntity: BookEntity): Book + fun toBookEntity(book: Book): BookEntity + fun toBook(bookEntity: BookEntity): Book } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt index f3a355bf..0a8a1328 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt @@ -14,7 +14,7 @@ import ua.acclorite.book_story.domain.library.Book import javax.inject.Inject class BookMapperImpl @Inject constructor() : BookMapper { - override suspend fun toBookEntity(book: Book): BookEntity { + override fun toBookEntity(book: Book): BookEntity { return BookEntity( id = book.id, title = book.title, @@ -29,7 +29,7 @@ class BookMapperImpl @Inject constructor() : BookMapper { ) } - override suspend fun toBook(bookEntity: BookEntity): Book { + override fun toBook(bookEntity: BookEntity): Book { return Book( id = bookEntity.id, title = bookEntity.title, diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt index 36031f8b..d635f34a 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt @@ -10,7 +10,6 @@ import ua.acclorite.book_story.data.local.dto.CategoryEntity import ua.acclorite.book_story.domain.library.Category interface CategoryMapper { - suspend fun toCategoryEntity(category: Category): CategoryEntity - - suspend fun toCategory(categoryEntity: CategoryEntity): Category + fun toCategoryEntity(category: Category): CategoryEntity + fun toCategory(categoryEntity: CategoryEntity): Category } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt index 85b27151..1426eec8 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt @@ -11,7 +11,7 @@ import ua.acclorite.book_story.domain.library.Category import javax.inject.Inject class CategoryMapperImpl @Inject constructor() : CategoryMapper { - override suspend fun toCategoryEntity(category: Category): CategoryEntity { + override fun toCategoryEntity(category: Category): CategoryEntity { return CategoryEntity( id = category.id, title = category.title, @@ -19,7 +19,7 @@ class CategoryMapperImpl @Inject constructor() : CategoryMapper { ) } - override suspend fun toCategory(categoryEntity: CategoryEntity): Category { + override fun toCategory(categoryEntity: CategoryEntity): Category { return Category( id = categoryEntity.id, title = categoryEntity.title, diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt index caa4b1ff..bbd97a84 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt @@ -10,7 +10,6 @@ import ua.acclorite.book_story.data.local.dto.CategorySortEntity import ua.acclorite.book_story.domain.library.CategorySort interface CategorySortMapper { - suspend fun toCategorySortEntity(categorySort: CategorySort): CategorySortEntity - - suspend fun toCategorySort(categorySortEntity: CategorySortEntity): CategorySort + fun toCategorySortEntity(categorySort: CategorySort): CategorySortEntity + fun toCategorySort(categorySortEntity: CategorySortEntity): CategorySort } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt index 0e3779e3..1a6e4170 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt @@ -11,7 +11,7 @@ import ua.acclorite.book_story.domain.library.CategorySort import javax.inject.Inject class CategorySortSortMapperImpl @Inject constructor() : CategorySortMapper { - override suspend fun toCategorySortEntity(categorySort: CategorySort): CategorySortEntity { + override fun toCategorySortEntity(categorySort: CategorySort): CategorySortEntity { return CategorySortEntity( categoryId = categorySort.categoryId, sortOrder = categorySort.sortOrder, @@ -19,7 +19,7 @@ class CategorySortSortMapperImpl @Inject constructor() : CategorySortMapper { ) } - override suspend fun toCategorySort(categorySortEntity: CategorySortEntity): CategorySort { + override fun toCategorySort(categorySortEntity: CategorySortEntity): CategorySort { return CategorySort( categoryId = categorySortEntity.categoryId, sortOrder = categorySortEntity.sortOrder, diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt index caa23bac..27247d05 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt @@ -10,7 +10,6 @@ import ua.acclorite.book_story.data.local.dto.ColorPresetEntity import ua.acclorite.book_story.domain.reader.ColorPreset interface ColorPresetMapper { - suspend fun toColorPresetEntity(colorPreset: ColorPreset, order: Int): ColorPresetEntity - - suspend fun toColorPreset(colorPresetEntity: ColorPresetEntity): ColorPreset + fun toColorPresetEntity(colorPreset: ColorPreset, order: Int): ColorPresetEntity + fun toColorPreset(colorPresetEntity: ColorPresetEntity): ColorPreset } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt index 566426a7..1db5a93b 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt @@ -12,7 +12,7 @@ import ua.acclorite.book_story.domain.reader.ColorPreset import javax.inject.Inject class ColorPresetMapperImpl @Inject constructor() : ColorPresetMapper { - override suspend fun toColorPresetEntity( + override fun toColorPresetEntity( colorPreset: ColorPreset, order: Int ): ColorPresetEntity { @@ -27,7 +27,7 @@ class ColorPresetMapperImpl @Inject constructor() : ColorPresetMapper { ) } - override suspend fun toColorPreset(colorPresetEntity: ColorPresetEntity): ColorPreset { + override fun toColorPreset(colorPresetEntity: ColorPresetEntity): ColorPreset { return ColorPreset( id = colorPresetEntity.id!!, name = colorPresetEntity.name, diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt new file mode 100644 index 00000000..03dfb1e3 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt @@ -0,0 +1,15 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.data.mapper.file + +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.domain.file.File + +interface FileMapper { + fun toCachedFile(file: File): CachedFile + fun toFile(cachedFile: CachedFile): File +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt new file mode 100644 index 00000000..18b55d1e --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt @@ -0,0 +1,43 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.data.mapper.file + +import android.app.Application +import androidx.core.net.toUri +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.file.CachedFileCompat +import ua.acclorite.book_story.domain.file.File +import javax.inject.Inject + +class FileMapperImpl @Inject constructor( + private val application: Application +) : FileMapper { + override fun toCachedFile(file: File): CachedFile { + return CachedFileCompat.fromUri( + context = application, + uri = file.uri.toUri(), + builder = CachedFileCompat.build( + name = file.name, + path = file.path, + size = file.size, + lastModified = file.lastModified, + isDirectory = file.isDirectory + ) + ) + } + + override fun toFile(cachedFile: CachedFile): File { + return File( + name = cachedFile.name, + uri = cachedFile.uri.toString(), + path = cachedFile.path, + size = cachedFile.size, + lastModified = cachedFile.lastModified, + isDirectory = cachedFile.isDirectory + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt index 1b7ab60a..ce66ee0c 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt @@ -6,399 +6,62 @@ package ua.acclorite.book_story.data.repository -import android.app.Application -import android.graphics.Bitmap -import android.graphics.BitmapFactory -import android.net.Uri -import android.provider.MediaStore -import android.util.Log -import androidx.core.net.toUri -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.withContext import ua.acclorite.book_story.core.CoverImage import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.book.BookMapper -import ua.acclorite.book_story.data.model.file.CachedFileCompat -import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser import ua.acclorite.book_story.data.parser.TextParser import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText import ua.acclorite.book_story.domain.repository.BookRepository -import java.io.BufferedOutputStream -import java.io.ByteArrayOutputStream -import java.io.File -import java.io.FileOutputStream -import java.util.UUID +import ua.acclorite.book_story.domain.service.FileProvider import javax.inject.Inject import javax.inject.Singleton -private const val GET_TEXT = "GET TEXT, REPO" -private const val GET_BOOKS = "GET BOOKS, REPO" -private const val GET_BOOKS_BY_ID = "GET BOOKS, REPO" -private const val INSERT_BOOK = "INSERT BOOK, REPO" -private const val UPDATE_BOOK = "UPDATE BOOK, REPO" -private const val DELETE_BOOKS = "DELETE BOOKS, REPO" -private const val CAN_RESET_COVER = "CAN RESET COVER, REPO" -private const val RESET_COVER = "RESET COVER, REPO" - -@Suppress("DEPRECATION") @Singleton class BookRepositoryImpl @Inject constructor( - private val application: Application, private val database: BookDao, - private val bookMapper: BookMapper, - private val fileParser: FileParser, - private val textParser: TextParser + private val textParser: TextParser, + private val fileProvider: FileProvider ) : BookRepository { - /** - * Get all books matching [query] from database. - * Empty [query] equals to all books. - */ - override suspend fun getBooks(query: String): List { - Log.i(GET_BOOKS, "Searching for books with query: \"$query\".") - val books = database.searchBooks(query) + override suspend fun searchBooks(query: String): Result> = runCatching { + database.searchBooks(query).map { bookMapper.toBook(it) } + } - Log.i(GET_BOOKS, "Found ${books.size} books.") - return books.map { entity -> - val book = bookMapper.toBook(entity) - val lastHistory = database.getLatestHistoryForBook( - book.id - ) - - book.copy( - lastOpened = lastHistory?.time - ) + override suspend fun getBook(bookId: Int): Result = runCatching { + database.findBookById(bookId).let { + if (it == null) throw NoSuchElementException("Couldn't get book [$bookId].") + else bookMapper.toBook(it) } } - /** - * Get all books that match given [ids]. - */ - override suspend fun getBooksById(ids: List): List { - Log.i(GET_BOOKS_BY_ID, "Getting books with ids: $ids.") - val books = database.findBooksById(ids) + override suspend fun getText(bookId: Int): Result> { + return getBook(bookId) + .mapCatching { fileProvider.getFileFromBook(it).getOrThrow() } + .mapCatching { textParser.parse(it) } + } - return books.map { entity -> - val book = bookMapper.toBook(entity) - val lastHistory = database.getLatestHistoryForBook( - book.id - ) + override suspend fun addBook(book: Book): Result = runCatching { + database.insertBook(bookMapper.toBookEntity(book)) + } - book.copy( - lastOpened = lastHistory?.time - ) + override suspend fun updateBook(book: Book): Result = runCatching { + database.updateBook(bookMapper.toBookEntity(book)).also { + if (it == 0) throw Exception("Could not update book in database.") } } - /** - * Loads text from the book. Already formatted. - */ - override suspend fun getBookText(bookId: Int): List { - if (bookId == -1) return emptyList() - - val book = database.findBookById(bookId) - val cachedFile = CachedFileCompat.fromFullPath( - context = application, - path = book.filePath, - builder = CachedFileCompat.build( - name = book.filePath.substringAfterLast(File.separator), - path = book.filePath, - isDirectory = false - ) - ) - - if (cachedFile == null || !cachedFile.canAccess()) { - Log.e(GET_TEXT, "File [$bookId] does not exist") - return emptyList() + override suspend fun deleteBook(book: Book): Result = runCatching { + database.deleteBook(bookMapper.toBookEntity(book)).also { + if (it == 0) throw Exception("Could not delete book in database.") } - - val readerText = textParser.parse(cachedFile) - - if ( - readerText.filterIsInstance().isEmpty() || - readerText.filterIsInstance().isEmpty() - ) { - Log.e(GET_TEXT, "Could not load text from [$bookId].") - return emptyList() - } - - Log.i(GET_TEXT, "Successfully loaded text of [$bookId] with markdown.") - return readerText } - /** - * Inserts book in database. - * Creates covers folder, which contains cover. - */ - override suspend fun insertBook( - bookWithCover: BookWithCover - ) { - Log.i(INSERT_BOOK, "Inserting ${bookWithCover.book.title}.") - - val filesDir = application.filesDir - val coversDir = File(filesDir, "covers") - - if (!coversDir.exists()) { - Log.i(INSERT_BOOK, "Created covers folder.") - coversDir.mkdirs() - } - - var coverUri = "" - - if (bookWithCover.coverImage != null) { - try { - coverUri = "${UUID.randomUUID()}.webp" - val cover = File(coversDir, coverUri) - - withContext(Dispatchers.IO) { - BufferedOutputStream(FileOutputStream(cover)).use { output -> - bookWithCover.coverImage - .copy(Bitmap.Config.RGB_565, false) - .compress(Bitmap.CompressFormat.WEBP, 20, output) - .let { success -> - if (success) return@let - throw Exception("Couldn't save cover image") - } - } - } - } catch (e: Exception) { - Log.e(INSERT_BOOK, "Could not save cover.") - coverUri = "" - e.printStackTrace() - } - } - - val updatedBook = bookWithCover.book.copy( - coverImage = if (coverUri.isNotBlank()) { - Uri.fromFile(File("$coversDir/$coverUri")) - } else null - ) - - val bookToInsert = bookMapper.toBookEntity(updatedBook) - database.insertBook(bookToInsert) - Log.i(INSERT_BOOK, "Successfully inserted book.") - } - - /** - * Update book without cover image. - */ - override suspend fun updateBook(book: Book) { - val entity = database.findBookById(book.id) - database.updateBooks( - listOf( - bookMapper.toBookEntity( - book.copy( - coverImage = entity.image?.toUri() - ) - ) - ) - ) - } - - /** - * Update cover image of the book. Deletes old cover and replaces with new. - */ - override suspend fun updateCoverImageOfBook( - bookWithOldCover: Book, - newCoverImage: CoverImage? - ) { - Log.i(UPDATE_BOOK, "Updating cover image: ${bookWithOldCover.title}.") - - val book = database.findBookById(bookWithOldCover.id) - var uri: String? = null - - val filesDir = application.filesDir - val coversDir = File(filesDir, "covers") - - if (!coversDir.exists()) { - Log.i(UPDATE_BOOK, "Created covers folder.") - coversDir.mkdirs() - } - - if (newCoverImage != null) { - try { - uri = "${UUID.randomUUID()}.webp" - val cover = File(coversDir, uri) - - withContext(Dispatchers.IO) { - BufferedOutputStream(FileOutputStream(cover)).use { output -> - newCoverImage - .copy(Bitmap.Config.RGB_565, false) - .compress(Bitmap.CompressFormat.WEBP, 20, output) - .let { success -> - if (success) return@let - throw Exception("Couldn't save cover image") - } - } - } - } catch (e: Exception) { - Log.e(UPDATE_BOOK, "Could not save new cover.") - e.printStackTrace() - return - } - } - - if (book.image != null) { - try { - val fileToDelete = File( - "$coversDir${File.separator}${book.image.substringAfterLast(File.separator)}" - ) - - if (fileToDelete.exists()) { - fileToDelete.delete() - } - } catch (e: Exception) { - Log.e(UPDATE_BOOK, "Could not delete old cover.") - e.printStackTrace() - } - } - - val newCoverImageUri = if (uri != null) { - Uri.fromFile(File("$coversDir/$uri")) - } else { - null - } - - val bookWithNewCover = bookWithOldCover.copy( - coverImage = newCoverImageUri - ) - - database.updateBooks( - listOf( - bookMapper.toBookEntity( - bookWithNewCover - ) - ) - ) - Log.i(UPDATE_BOOK, "Successfully updated cover image.") - } - - /** - * Delete books. - * Also deletes cover image and text from internal storage. - */ - override suspend fun deleteBooks(books: List) { - Log.i(DELETE_BOOKS, "Deleting books.") - - val filesDir = application.filesDir - val coversDir = File(filesDir, "covers") - - if (!coversDir.exists()) { - Log.i(DELETE_BOOKS, "Created covers folder.") - coversDir.mkdirs() - } - - database.deleteBooks( - books.map { - val book = database.findBookById(it.id) - - if (book.image != null) { - try { - val fileToDelete = File( - "$coversDir${File.separator}${book.image.substringAfterLast(File.separator)}" - ) - - if (fileToDelete.exists()) { - fileToDelete.delete() - } - } catch (e: Exception) { - Log.e(DELETE_BOOKS, "Could not delete cover image.") - e.printStackTrace() - } - } - - book - } - ) - - Log.i(DELETE_BOOKS, "Successfully deleted books.") - } - - /** - * @return Whether can reset cover image (restore default). - */ - override suspend fun canResetCover(bookId: Int): Boolean { - val book = database.findBookById(bookId) - - val cachedFile = CachedFileCompat.fromFullPath( - application, - book.filePath, - builder = CachedFileCompat.build( - name = book.filePath.substringAfterLast(File.separator), - path = book.filePath, - isDirectory = false - ) - ) - - if (cachedFile == null || !cachedFile.canAccess()) { - return false - } - - val defaultCoverUncompressed = fileParser.parse(cachedFile)?.coverImage - ?: return false - - if (book.image == null) { - Log.i(CAN_RESET_COVER, "Can reset cover image. (current is null)") - return true - } - - val stream = ByteArrayOutputStream() - defaultCoverUncompressed.copy(Bitmap.Config.RGB_565, false).compress( - Bitmap.CompressFormat.WEBP, - 20, - stream - ) - val byteArray = stream.toByteArray() - val defaultCover = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.size) - - val currentCover = try { - MediaStore.Images.Media.getBitmap( - application.contentResolver, - book.image.toUri() - ) - } catch (e: Exception) { - Log.i(CAN_RESET_COVER, "Can reset cover image. (could not get current)") - e.printStackTrace() - return true - } - - return !defaultCover.sameAs(currentCover) - } - - /** - * Reset cover image to default. - * If there is no default cover, returns false. - */ - override suspend fun resetCoverImage(bookId: Int): Boolean { - if (!canResetCover(bookId)) { - Log.w(RESET_COVER, "Cannot reset cover image.") - return false - } - - val book = database.findBookById(bookId) - val cachedFile = CachedFileCompat.fromFullPath( - application, - book.filePath, - builder = CachedFileCompat.build( - name = book.filePath.substringAfterLast(File.separator), - path = book.filePath, - isDirectory = false - ) - ) - - if (cachedFile == null || !cachedFile.canAccess()) { - return false - } - - val defaultCover = fileParser.parse(cachedFile)?.coverImage - ?: return false - updateCoverImageOfBook(bookMapper.toBook(book), defaultCover) - - Log.i(RESET_COVER, "Successfully reset cover image.") - return true + override suspend fun getDefaultCover(book: Book): Result = runCatching { + return fileProvider.getFileFromBook(book) + .mapCatching { fileParser.parse(it)?.coverImage } } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt index 9b0e74af..bbb54483 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt @@ -22,7 +22,7 @@ class CategoryRepositoryImpl @Inject constructor( private val categorySortMapper: CategorySortMapper, ) : CategoryRepository { - override suspend fun insertCategory(category: Category) { + override suspend fun addCategory(category: Category): Result = runCatching { database.insertCategory( categoryMapper.toCategoryEntity( category.copy( @@ -32,39 +32,41 @@ class CategoryRepositoryImpl @Inject constructor( ) } - override suspend fun getCategories(): List { - return database.getCategories().map { categoryMapper.toCategory(it) }.sortedBy { it.order } + override suspend fun getCategories(): Result> = runCatching { + database.getCategories().map { categoryMapper.toCategory(it) }.sortedBy { it.order } } - override suspend fun updateCategoryTitle(id: Int, title: String) { + override suspend fun updateCategory(category: Category): Result = runCatching { database.updateCategoryTitle( - id = id, - title = title + id = category.id, + title = category.title ) - updateCategoriesOrder(getCategories()) + updateOrder(getCategories().getOrThrow()) } - override suspend fun updateCategoriesOrder(categories: List) { - categories.mapIndexed { index, category -> + override suspend fun updateOrder(categories: List): Result = runCatching { + categories.forEachIndexed { index, category -> database.updateCategoryOrder(category.id, index) } } - override suspend fun deleteCategory(category: Category) { + override suspend fun deleteCategory(category: Category): Result = runCatching { database.deleteCategory(categoryMapper.toCategoryEntity(category)) database.deleteCategorySortEntity(category.id) - updateCategoriesOrder(getCategories()) + updateOrder(getCategories().getOrThrow()) } - override suspend fun updateCategorySortEntity(categorySort: CategorySort) { + override suspend fun updateCategorySorting( + categorySort: CategorySort + ): Result = runCatching { database.updateCategorySort( categorySortMapper.toCategorySortEntity(categorySort) ) } - override suspend fun getCategorySortEntities(): List { - return database.getCategorySortEntities().map { + override suspend fun getCategorySorting(): Result> = runCatching { + database.getCategorySortEntities().map { categorySortMapper.toCategorySort(it) } } diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt index a42ebab8..e803cce5 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt @@ -20,64 +20,51 @@ import javax.inject.Singleton @Singleton class ColorPresetRepositoryImpl @Inject constructor( private val database: BookDao, - private val colorPresetMapper: ColorPresetMapper ) : ColorPresetRepository { - /** - * Update color preset. - */ - override suspend fun updateColorPreset(colorPreset: ColorPreset) { + override suspend fun getColorPresets(): Result> = runCatching { + database.getColorPresets() + .sortedBy { it.order } + .map { colorPresetMapper.toColorPreset(it) } + } + + override suspend fun updateColorPreset( + colorPreset: ColorPreset + ): Result = runCatching { database.updateColorPreset( colorPresetMapper.toColorPresetEntity( - colorPreset, - if (colorPreset.id != -1) database.getColorPresetOrder(colorPreset.id) + colorPreset = colorPreset, + order = if (colorPreset.id != -1) database.getColorPresetOrder(colorPreset.id) else database.getColorPresetsSize() ) ) } - /** - * Select color preset. Only one can be selected at time. - */ - override suspend fun selectColorPreset(colorPreset: ColorPreset) { + override suspend fun selectColorPreset( + colorPreset: ColorPreset + ): Result = runCatching { database.getColorPresets().map { - it.copy( - isSelected = it.id == colorPreset.id - ) + it.copy(isSelected = it.id == colorPreset.id) }.forEach { database.updateColorPreset(it) } } - /** - * Get all color presets. - * Sorted by order (either manual or newest ones at the end). - */ - override suspend fun getColorPresets(): List { - return database.getColorPresets() - .sortedBy { it.order } - .map { colorPresetMapper.toColorPreset(it) } - } - - /** - * Reorder color presets. - * Changes the order of the color presets. - */ - override suspend fun reorderColorPresets(orderedColorPresets: List) { + override suspend fun reorderColorPresets( + colorPresets: List + ): Result = runCatching { database.deleteColorPresets() - - orderedColorPresets.forEachIndexed { index, colorPreset -> + colorPresets.forEachIndexed { index, colorPreset -> database.updateColorPreset( colorPresetMapper.toColorPresetEntity(colorPreset, order = index) ) } } - /** - * Delete color preset. - */ - override suspend fun deleteColorPreset(colorPreset: ColorPreset) { + override suspend fun deleteColorPreset( + colorPreset: ColorPreset + ): Result = runCatching { database.deleteColorPreset( colorPresetMapper.toColorPresetEntity( colorPreset, -1 diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/DataStoreRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/DataStoreRepositoryImpl.kt index 285a9207..501a38a8 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/DataStoreRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/DataStoreRepositoryImpl.kt @@ -6,22 +6,12 @@ package ua.acclorite.book_story.data.repository -import android.util.Log import androidx.datastore.preferences.core.Preferences -import kotlinx.coroutines.CompletableDeferred -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.async -import kotlinx.coroutines.awaitAll -import kotlinx.coroutines.withContext import ua.acclorite.book_story.data.local.data_store.DataStore import ua.acclorite.book_story.domain.repository.DataStoreRepository -import ua.acclorite.book_story.presentation.main.MainState -import java.util.concurrent.ConcurrentHashMap import javax.inject.Inject import javax.inject.Singleton -private const val GET_ALL_SETTINGS = "GET SETTINGS, REPO" - /** * Data Store repository. * Manages all [DataStore] related work. @@ -31,42 +21,20 @@ class DataStoreRepositoryImpl @Inject constructor( private val dataStore: DataStore ) : DataStoreRepository { - /** - * Puts DataStore constant to [DataStore]. - */ - override suspend fun putDataToDataStore(key: Preferences.Key, value: T) { + override suspend fun putPreference( + key: Preferences.Key, + value: T + ): Result = runCatching { dataStore.putData(key, value) } - /** - * Gets all settings from DataStore and returns [MainState]. - */ - override suspend fun getAllSettings(): MainState { - Log.i(GET_ALL_SETTINGS, "Getting all settings.") - val result = CompletableDeferred() + override suspend fun getPreference( + key: Preferences.Key + ): Result = runCatching { + dataStore.getNullableData(key) ?: throw NoSuchElementException("Could not get preference.") + } - withContext(Dispatchers.Default) { - val keys = dataStore.getAllData() - val data = ConcurrentHashMap() - - Log.i(GET_ALL_SETTINGS, "Got ${keys?.size} settings keys.") - - val jobs = keys?.map { key -> - async { - val nullableData = dataStore.getNullableData(key) - - if (nullableData == null) { - data.remove(key.name) - } else { - data[key.name] = nullableData - } - } - } - jobs?.awaitAll() - - result.complete(MainState.initialize(data)) - } - - return result.await() + override suspend fun getAllPreferences(): Result>> = runCatching { + dataStore.getAllData() ?: throw NoSuchElementException("Could not get all preferences.") } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt index 6d543bd0..9d335f7c 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt @@ -6,165 +6,68 @@ package ua.acclorite.book_story.data.repository -import android.app.Application -import android.util.Log -import ua.acclorite.book_story.R -import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.local.room.BookDao -import ua.acclorite.book_story.data.model.common.NullableBook -import ua.acclorite.book_story.data.model.common.NullableBook.NotNull -import ua.acclorite.book_story.data.model.common.NullableBook.Null +import ua.acclorite.book_story.data.mapper.file.FileMapper import ua.acclorite.book_story.data.model.file.CachedFile -import ua.acclorite.book_story.data.model.file.CachedFileCompat +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser import ua.acclorite.book_story.domain.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository +import ua.acclorite.book_story.domain.service.FileProvider import ua.acclorite.book_story.ui.common.constants.provideExtensions -import java.util.UUID import javax.inject.Inject import javax.inject.Singleton -private const val GET_BOOK_FROM_FILE = "BOOK FROM FILE, REPO" -private const val GET_FILES = "FILES, REPO" - /** * File System repository. * Manages all File System related work. */ @Singleton class FileSystemRepositoryImpl @Inject constructor( - private val application: Application, private val database: BookDao, - private val fileParser: FileParser + private val fileMapper: FileMapper, + private val fileParser: FileParser, + private val fileProvider: FileProvider ) : FileSystemRepository { - /** - * Gets all matching files from device. - * Filters by [query] and sorts out not supported file formats and already added files. - */ - override suspend fun getFiles(query: String): List { - Log.i(GET_FILES, "Getting files from device, query: \"$query\".") + override suspend fun searchFiles(query: String): Result> { + return fileProvider.getStorageFiles().mapCatching { storages -> + val existingFiles = database.searchBooks("").map { it.filePath } - val existingPaths = database - .searchBooks("") - .map { it.filePath } - val supportedExtensions = provideExtensions() - - /** - * Verify that [CachedFile] is valid and can be shown correctly. - */ - fun CachedFile.isValid(): Boolean { - // First: Ensuring supported extension - supportedExtensions.any { ext -> - name.endsWith(ext, ignoreCase = true) - }.let { if (!it) return false } - - // Second: Ensuring query to match - if (query.isNotBlank()) { - name.contains(query.trim(), ignoreCase = true).let { - if (!it) return false - } - } - - // Third: Ensuring that a file is not added already - existingPaths.none { existingPath -> - existingPath.equals(path, ignoreCase = true) - }.let { if (!it) return false } - - return true - } - - fun CachedFile.getSelectableFilesFromStorage(): List { - val files = mutableListOf() - - walk { file -> - if (!file.isValid()) return@walk - - files.add( - File( - name = file.name, - uri = file.uri, - path = file.path, - size = file.size, - lastModified = file.lastModified, - isDirectory = file.isDirectory - ) + storages.map { storage -> + storage.getFilesFromStorage( + query = query, + existingFiles = existingFiles ) - } - - return files - } - - fun getAllStorages(): List { - return application.contentResolver.persistedUriPermissions.mapNotNull { permission -> - val storage = CachedFileCompat.fromUri( - application, - permission.uri, - builder = CachedFileCompat.build( - name = UUID.randomUUID().toString(), - size = 0, - lastModified = 0 - ) - ) - if (!storage.isDirectory) return@mapNotNull null - - storage - }.let { storages -> - storages.filter { storage -> - storages.none { - it.path != storage.path && storage.path.startsWith( - it.path, - ignoreCase = true - ) - } - } - } - } - - return try { - val storages = getAllStorages() - val files = mutableListOf() - - for (storage in storages) { - files.addAll(storage.getSelectableFilesFromStorage()) - } - - Log.i(GET_FILES, "Successfully got all matching files.") - files - } catch (e: Exception) { - e.printStackTrace() - Log.e(GET_FILES, "Couldn't get all matching files.") - - emptyList() + }.flatten() } } - /** - * Gets book from given file. If error happened, returns [NullableBook.Null]. - */ - override suspend fun getBookFromFile(file: File): NullableBook { - val cachedFile = CachedFileCompat.fromUri( - context = application, - uri = file.uri, - builder = CachedFileCompat.build( - name = file.name, - path = file.path, - size = file.size, - lastModified = file.lastModified, - isDirectory = file.isDirectory - ) - ) + private fun CachedFile.isValid( + query: String, + existingFiles: List + ): Boolean { + if (provideExtensions().none { name.endsWith(it, ignoreCase = true) }) return false + if (query.isNotBlank() && !name.contains(query.trim(), ignoreCase = true)) return false + if (existingFiles.any { it.equals(path, ignoreCase = true) }) return false + return true + } - val parsedBook = fileParser.parse(cachedFile) - if (parsedBook == null) { - Log.e(GET_BOOK_FROM_FILE, "Parsed file(${cachedFile.name}) is null.") - return Null( - cachedFile.name, - UIText.StringResource(R.string.error_something_went_wrong) - ) + private fun CachedFile.getFilesFromStorage( + query: String, + existingFiles: List + ): List { + val files = mutableListOf() + walk { cachedFile -> + if (cachedFile.isValid(query, existingFiles)) { + files.add(fileMapper.toFile(cachedFile)) + } } + return files + } - Log.i(GET_BOOK_FROM_FILE, "Successfully got book from file.") - return NotNull(bookWithCover = parsedBook) + override suspend fun getBookFromFile(file: File): Result = runCatching { + fileParser.parse(fileMapper.toCachedFile(file)) + ?: throw Exception("Could not parse ${file.name}.") } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt index c35de84a..f7cad22a 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt @@ -13,73 +13,42 @@ import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject import javax.inject.Singleton -/** - * History repository. - * Manages all [History] related work. - */ @Singleton class HistoryRepositoryImpl @Inject constructor( private val database: BookDao, - - private val historyMapper: HistoryMapper, + private val historyMapper: HistoryMapper ) : HistoryRepository { - /** - * Insert history in database. - */ - override suspend fun insertHistory(history: History) { - database.insertHistory( - listOf( - historyMapper.toHistoryEntity( - history - ) - ) - ) - } - - /** - * Get all history from database. - */ - override suspend fun getHistory(): List { - return database.getHistory().map { - historyMapper.toHistory( - it - ) + override suspend fun getHistoryForBook(bookId: Int): Result = runCatching { + database.getHistoryForBook(bookId).let { + if (it == null) throw NoSuchElementException("Could not get history from [$bookId].") + else historyMapper.toHistory(it) } } - /** - * Get latest history of the matching [bookId]. - */ - override suspend fun getLatestBookHistory(bookId: Int): History? { - val history = database.getLatestHistoryForBook(bookId) - return history?.let { historyMapper.toHistory(it) } + override suspend fun addHistory(history: History): Result = runCatching { + database.insertHistory(historyMapper.toHistoryEntity(history)) } - /** - * Delete whole history. - */ - override suspend fun deleteWholeHistory() { - database.deleteWholeHistory() + override suspend fun getHistory(): Result> = runCatching { + database.getHistory().map { historyMapper.toHistory(it) } } - /** - * Delete all history of the matching [bookId]. - */ - override suspend fun deleteBookHistory(bookId: Int) { - database.deleteBookHistory(bookId) + override suspend fun deleteWholeHistory(): Result = runCatching { + database.deleteWholeHistory().also { + if (it == 0) throw Exception("Could not delete whole history in database.") + } } - /** - * Delete specific history item. - */ - override suspend fun deleteHistory(history: History) { - database.deleteHistory( - listOf( - historyMapper.toHistoryEntity( - history - ) - ) - ) + override suspend fun deleteHistoryForBook(bookId: Int): Result = runCatching { + database.deleteHistoryForBook(bookId = bookId).also { + if (it == 0) throw Exception("Could not delete history for book [$bookId] in database.") + } + } + + override suspend fun deleteHistory(history: History): Result = runCatching { + database.deleteHistory(historyMapper.toHistoryEntity(history)).also { + if (it == 0) throw Exception("Could not delete history in database.") + } } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/PermissionRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/PermissionRepositoryImpl.kt index 198ba4a5..1753665c 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/PermissionRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/PermissionRepositoryImpl.kt @@ -8,45 +8,27 @@ package ua.acclorite.book_story.data.repository import android.app.Application import android.content.Intent -import android.net.Uri -import android.util.Log +import androidx.core.net.toUri import ua.acclorite.book_story.domain.repository.PermissionRepository import javax.inject.Inject import javax.inject.Singleton -private const val GRANT_URI = "GRANT URI PERM, REPO" -private const val RELEASE_URI = "RELEASE URI PERM, REPO" - @Singleton class PermissionRepositoryImpl @Inject constructor( private val application: Application ) : PermissionRepository { - override suspend fun grantPersistableUriPermission(uri: Uri) { - Log.i(GRANT_URI, "Granting persistable uri permission to \"${uri.path}\" URI.") - - try { - application.contentResolver.takePersistableUriPermission( - uri, - Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION - ) - } catch (e: Exception) { - e.printStackTrace() - Log.e(GRANT_URI, "Could not grant URI permission.") - } + override suspend fun grantPersistableUriPermission(uri: String): Result = runCatching { + application.contentResolver.takePersistableUriPermission( + uri.toUri(), + Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION + ) } - override suspend fun releasePersistableUriPermission(uri: Uri) { - Log.i(RELEASE_URI, "Releasing persistable uri permission from \"${uri.path}\" URI.") - - try { - application.contentResolver.releasePersistableUriPermission( - uri, - Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION - ) - } catch (e: Exception) { - e.printStackTrace() - Log.w(RELEASE_URI, "No granted URI permission found.") - } + override suspend fun releasePersistableUriPermission(uri: String): Result = runCatching { + application.contentResolver.releasePersistableUriPermission( + uri.toUri(), + Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION + ) } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/service/CoverImageHandlerImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/service/CoverImageHandlerImpl.kt new file mode 100644 index 00000000..744650cf --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/data/service/CoverImageHandlerImpl.kt @@ -0,0 +1,68 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.data.service + +import android.app.Application +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.net.Uri +import androidx.core.net.toFile +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import ua.acclorite.book_story.core.CoverImage +import ua.acclorite.book_story.domain.service.CoverImageHandler +import java.io.BufferedOutputStream +import java.io.ByteArrayOutputStream +import java.io.File +import java.io.FileOutputStream +import java.util.UUID +import javax.inject.Inject + +class CoverImageHandlerImpl @Inject constructor( + application: Application +) : CoverImageHandler { + + private val filesDir: File = application.filesDir + private val coversDir = File(filesDir, "covers") + + override suspend fun saveCover(coverImage: CoverImage): Result = runCatching { + if (!coversDir.exists()) { + coversDir.mkdirs() + } + + val coverUri = "${UUID.randomUUID()}.webp" + val cover = File(coversDir, coverUri) + + withContext(Dispatchers.IO) { + BufferedOutputStream(FileOutputStream(cover)).use { output -> + coverImage + .copy(Bitmap.Config.RGB_565, false) + .compress(Bitmap.CompressFormat.WEBP, 20, output) + .let { success -> + if (success) return@let + throw Exception("Couldn't save cover image.") + } + } + } + + cover + } + + override suspend fun deleteCover(coverImage: Uri): Result = runCatching { + coverImage.toFile().apply { + if (exists() && !delete()) throw Exception("Couldn't delete cover image.") + } + } + + override suspend fun compressCover(coverImage: CoverImage): Result = runCatching { + val stream = ByteArrayOutputStream() + coverImage.copy(Bitmap.Config.RGB_565, false) + .compress(Bitmap.CompressFormat.WEBP, 20, stream) + val byteArray = stream.toByteArray() + BitmapFactory.decodeByteArray(byteArray, 0, byteArray.size) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt new file mode 100644 index 00000000..01da7ddf --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt @@ -0,0 +1,58 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.data.service + +import android.app.Application +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.data.model.file.CachedFileCompat +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.service.FileProvider +import javax.inject.Inject + +class FileProviderImpl @Inject constructor( + private val application: Application +) : FileProvider { + + override fun getFileFromBook(book: Book): Result = runCatching { + CachedFileCompat.fromFullPath( + context = application, + path = book.filePath, + builder = CachedFileCompat.build( + name = book.filePath.substringAfterLast(java.io.File.separator), + path = book.filePath, + isDirectory = false + ) + ).let { file -> + if (file == null || !file.canAccess()) { + throw NoSuchElementException("Could not load CachedFile.") + } + + file + } + } + + override fun getStorageFiles(): Result> = runCatching { + application.contentResolver.persistedUriPermissions.mapNotNull { permission -> + val storage = CachedFileCompat.fromUri( + application, + permission.uri + ) + if (!storage.isDirectory) return@mapNotNull null + + storage + }.let { storages -> + storages.filter { storage -> + storages.none { + it.path != storage.path && storage.path.startsWith( + it.path, + ignoreCase = true + ) + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt b/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt index 45c8e985..67e3a836 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt @@ -6,13 +6,12 @@ package ua.acclorite.book_story.domain.file -import android.net.Uri import androidx.compose.runtime.Immutable @Immutable data class File( val name: String, - val uri: Uri, + val uri: String, val path: String, val size: Long, val lastModified: Long, diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt index 988c8d27..0a9bc798 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt @@ -7,46 +7,35 @@ package ua.acclorite.book_story.domain.repository import ua.acclorite.book_story.core.CoverImage -import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.domain.library.Book import ua.acclorite.book_story.domain.reader.ReaderText interface BookRepository { - - suspend fun getBooks( + suspend fun searchBooks( query: String - ): List + ): Result> - suspend fun getBooksById( - ids: List - ): List - - suspend fun getBookText( + suspend fun getBook( bookId: Int - ): List + ): Result - suspend fun insertBook( - bookWithCover: BookWithCover - ) + suspend fun getText( + bookId: Int + ): Result> + + suspend fun addBook( + book: Book + ): Result suspend fun updateBook( book: Book - ) + ): Result - suspend fun updateCoverImageOfBook( - bookWithOldCover: Book, - newCoverImage: CoverImage? - ) + suspend fun deleteBook( + book: Book + ): Result - suspend fun deleteBooks( - books: List - ) - - suspend fun canResetCover( - bookId: Int - ): Boolean - - suspend fun resetCoverImage( - bookId: Int - ): Boolean + suspend fun getDefaultCover( + book: Book + ): Result } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt index e0d4dfbb..abb41e0a 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt @@ -10,29 +10,27 @@ import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort interface CategoryRepository { - - suspend fun insertCategory( + suspend fun addCategory( category: Category - ) + ): Result - suspend fun getCategories(): List + suspend fun getCategories(): Result> - suspend fun updateCategoryTitle( - id: Int, - title: String - ) + suspend fun updateCategory( + category: Category + ): Result - suspend fun updateCategoriesOrder( + suspend fun updateOrder( categories: List - ) + ): Result suspend fun deleteCategory( category: Category - ) + ): Result - suspend fun updateCategorySortEntity( + suspend fun updateCategorySorting( categorySort: CategorySort - ) + ): Result - suspend fun getCategorySortEntities(): List + suspend fun getCategorySorting(): Result> } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt index 57604a59..507ff8ce 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt @@ -9,22 +9,21 @@ package ua.acclorite.book_story.domain.repository import ua.acclorite.book_story.domain.reader.ColorPreset interface ColorPresetRepository { + suspend fun getColorPresets(): Result> suspend fun updateColorPreset( colorPreset: ColorPreset - ) + ): Result suspend fun selectColorPreset( colorPreset: ColorPreset - ) - - suspend fun getColorPresets(): List + ): Result suspend fun reorderColorPresets( - orderedColorPresets: List - ) + colorPresets: List + ): Result suspend fun deleteColorPreset( colorPreset: ColorPreset - ) + ): Result } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/DataStoreRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/DataStoreRepository.kt index aa71fe5d..17111b8b 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/DataStoreRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/DataStoreRepository.kt @@ -7,14 +7,16 @@ package ua.acclorite.book_story.domain.repository import androidx.datastore.preferences.core.Preferences -import ua.acclorite.book_story.presentation.main.MainState interface DataStoreRepository { - - suspend fun putDataToDataStore( + suspend fun putPreference( key: Preferences.Key, value: T - ) + ): Result - suspend fun getAllSettings(): MainState + suspend fun getPreference( + key: Preferences.Key, + ): Result + + suspend fun getAllPreferences(): Result>> } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt index 8e30a808..67d3606c 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt @@ -6,16 +6,15 @@ package ua.acclorite.book_story.domain.repository -import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.domain.file.File interface FileSystemRepository { - - suspend fun getFiles( + suspend fun searchFiles( query: String = "" - ): List + ): Result> suspend fun getBookFromFile( file: File - ): NullableBook + ): Result } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt index 09f5754f..c08cc2a5 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt @@ -9,24 +9,23 @@ package ua.acclorite.book_story.domain.repository import ua.acclorite.book_story.domain.history.History interface HistoryRepository { + suspend fun getHistoryForBook( + bookId: Int + ): Result - suspend fun insertHistory( + suspend fun addHistory( history: History - ) + ): Result - suspend fun getHistory(): List + suspend fun getHistory(): Result> - suspend fun getLatestBookHistory( + suspend fun deleteWholeHistory(): Result + + suspend fun deleteHistoryForBook( bookId: Int - ): History? - - suspend fun deleteWholeHistory() - - suspend fun deleteBookHistory( - bookId: Int - ) + ): Result suspend fun deleteHistory( history: History - ) + ): Result } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/PermissionRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/PermissionRepository.kt index 05014e9e..b3924be5 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/PermissionRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/PermissionRepository.kt @@ -6,15 +6,12 @@ package ua.acclorite.book_story.domain.repository -import android.net.Uri - interface PermissionRepository { - suspend fun grantPersistableUriPermission( - uri: Uri - ) + uri: String + ): Result suspend fun releasePersistableUriPermission( - uri: Uri - ) + uri: String + ): Result } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/service/CoverImageHandler.kt b/app/src/main/java/ua/acclorite/book_story/domain/service/CoverImageHandler.kt new file mode 100644 index 00000000..7268d413 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/service/CoverImageHandler.kt @@ -0,0 +1,17 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.service + +import android.net.Uri +import ua.acclorite.book_story.core.CoverImage +import java.io.File + +interface CoverImageHandler { + suspend fun saveCover(coverImage: CoverImage): Result + suspend fun deleteCover(coverImage: Uri): Result + suspend fun compressCover(coverImage: CoverImage): Result +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt b/app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt new file mode 100644 index 00000000..460f2cd1 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt @@ -0,0 +1,15 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.service + +import ua.acclorite.book_story.data.model.file.CachedFile +import ua.acclorite.book_story.domain.library.Book + +interface FileProvider { + fun getFileFromBook(book: Book): Result + fun getStorageFiles(): Result> +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt new file mode 100644 index 00000000..f1e17e9f --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt @@ -0,0 +1,49 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import androidx.core.net.toUri +import ua.acclorite.book_story.core.CoverImage +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.repository.BookRepository +import ua.acclorite.book_story.domain.service.CoverImageHandler +import javax.inject.Inject + +class AddBookUseCase @Inject constructor( + private val bookRepository: BookRepository, + private val coverImageHandler: CoverImageHandler +) { + + suspend operator fun invoke(book: Book, coverImage: CoverImage?) { + logI("Inserting [${book.title}].") + + val coverImageUri = coverImage?.let { + coverImageHandler.saveCover(it).fold( + onSuccess = { + logI("Successfully saved cover image of [${book.title}].") + it.toUri() + }, + onFailure = { + logW("Could not save cover image with error: ${it.message}") + null + } + ) + } + + bookRepository.addBook(book = book.copy(coverImage = coverImageUri)).fold( + onSuccess = { + logI("Successfully inserted [${book.title}].") + }, + onFailure = { + logE("Could not insert [${book.title}] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCover.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCover.kt deleted file mode 100644 index 209bf6be..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCover.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class CanResetCover @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(bookId: Int): Boolean { - return repository.canResetCover(bookId) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt new file mode 100644 index 00000000..1d2469fc --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt @@ -0,0 +1,57 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import android.app.Application +import android.graphics.BitmapFactory +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.repository.BookRepository +import ua.acclorite.book_story.domain.service.CoverImageHandler +import javax.inject.Inject + +class CanResetCoverImageUseCase @Inject constructor( + private val application: Application, + private val bookRepository: BookRepository, + private val coverImageHandler: CoverImageHandler +) { + + suspend operator fun invoke(bookId: Int): Boolean { + logI("Checking if can reset cover image of [$bookId].") + + bookRepository.getBook(bookId).mapCatching { book -> + // Getting default cover image + val defaultCoverImage = bookRepository.getDefaultCover(book).getOrThrow() + if (defaultCoverImage == null) { + return@mapCatching true + } + + // Return true if current cover is null (and default is not) + if (book.coverImage == null) { + return@mapCatching true + } + + // Getting compressed cover images + val compressedDefaultCoverImage = + coverImageHandler.compressCover(defaultCoverImage).getOrThrow() + val compressedCoverImage = application.contentResolver + .openInputStream(book.coverImage) + ?.use { BitmapFactory.decodeStream(it) } + + !compressedDefaultCoverImage.sameAs(compressedCoverImage) + }.fold( + onSuccess = { + logI("Can reset cover image of [$bookId]: $it.") + return it + }, + onFailure = { + logE("Could not check if can reset cover image of [$bookId] with error: ${it.message}") + return false + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt new file mode 100644 index 00000000..ff886204 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt @@ -0,0 +1,47 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.repository.BookRepository +import ua.acclorite.book_story.domain.repository.HistoryRepository +import ua.acclorite.book_story.domain.service.CoverImageHandler +import javax.inject.Inject + +class DeleteBookUseCase @Inject constructor( + private val bookRepository: BookRepository, + private val historyRepository: HistoryRepository, + private val coverImageHandler: CoverImageHandler +) { + + suspend operator fun invoke(book: Book) { + logI("Deleting [${book.title}].") + + // Deleting cover image + book.coverImage?.let { coverImageHandler.deleteCover(it) }?.onFailure { + logW("Could not delete cover image with error: ${it.message}") + } + + // Deleting history + historyRepository.deleteHistoryForBook(bookId = book.id).onFailure { + logW("Could not delete history for [${book.title}] with error: ${it.message}") + } + + // Deleting book + bookRepository.deleteBook(book).fold( + onSuccess = { + logI("Successfully deleted [${book.title}].") + }, + onFailure = { + logE("Could not delete [${book.title}] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt deleted file mode 100644 index a97c293c..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBooks.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.repository.BookRepository -import ua.acclorite.book_story.domain.repository.HistoryRepository -import javax.inject.Inject - -class DeleteBooks @Inject constructor( - private val bookRepository: BookRepository, - private val historyRepository: HistoryRepository -) { - - suspend fun execute(books: List) { - bookRepository.deleteBooks(books) - books.forEach { - historyRepository.deleteBookHistory(it.id) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt deleted file mode 100644 index 23b3e1d5..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookById.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class GetBookById @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(id: Int): Book? { - return repository.getBooksById(listOf(id)).firstOrNull() - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt new file mode 100644 index 00000000..3271e004 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt @@ -0,0 +1,39 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.repository.BookRepository +import ua.acclorite.book_story.domain.repository.HistoryRepository +import javax.inject.Inject + +class GetBookUseCase @Inject constructor( + private val bookRepository: BookRepository, + private val historyRepository: HistoryRepository +) { + + suspend operator fun invoke(bookId: Int): Book? { + logI("Getting book: [$bookId].") + + bookRepository.getBook(bookId).fold( + onSuccess = { book -> + val history = historyRepository.getHistoryForBook(book.id).getOrNull() + + logI("Successfully got book: [$bookId].") + return book.copy( + lastOpened = history?.time + ) + }, + onFailure = { + logE("Could not get book [$bookId] with error: ${it.message}") + return null + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt deleted file mode 100644 index cb12d117..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooks.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class GetBooks @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(query: String): List { - return repository.getBooks(query) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt deleted file mode 100644 index 03c5fcc9..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBooksById.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class GetBooksById @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(ids: List): List { - return repository.getBooksById(ids) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetText.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetText.kt deleted file mode 100644 index 1ad98d71..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetText.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class GetText @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(bookId: Int): List { - return repository.getBookText(bookId = bookId) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt new file mode 100644 index 00000000..e6cf44d8 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt @@ -0,0 +1,43 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.repository.BookRepository +import javax.inject.Inject + +class GetTextUseCase @Inject constructor( + private val bookRepository: BookRepository +) { + + suspend operator fun invoke(bookId: Int): List { + logI("Getting text from: [$bookId].") + if (bookId == -1) return emptyList() + + bookRepository.getText(bookId).mapCatching { readerText -> + if ( + readerText.filterIsInstance().isEmpty() || + readerText.filterIsInstance().isEmpty() + ) { + throw Exception("ReaderText is empty.") + } + + readerText + }.fold( + onSuccess = { + logI("Successfully loaded text from [$bookId] with markdown.") + return it + }, + onFailure = { + logE("Could not load text with exception: ${it.message}") + return emptyList() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt deleted file mode 100644 index d9c85d5d..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/InsertBook.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.data.model.library.BookWithCover -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class InsertBook @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(bookWithCover: BookWithCover) { - repository.insertBook(bookWithCover) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImage.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImage.kt deleted file mode 100644 index 88cdc4f6..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImage.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class ResetCoverImage @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(bookId: Int): Boolean { - return repository.resetCoverImage(bookId) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt new file mode 100644 index 00000000..77fe0af6 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt @@ -0,0 +1,56 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import androidx.core.net.toUri +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.domain.repository.BookRepository +import ua.acclorite.book_story.domain.service.CoverImageHandler +import javax.inject.Inject + +class ResetCoverImageUseCase @Inject constructor( + private val bookRepository: BookRepository, + private val coverImageHandler: CoverImageHandler +) { + + suspend operator fun invoke(bookId: Int): Boolean { + logI("Resetting cover image of [$bookId].") + + bookRepository.getBook(bookId).mapCatching { book -> + // Getting default cover image + val defaultCoverImage = bookRepository.getDefaultCover(book).getOrThrow() + if (defaultCoverImage == null) { + throw NoSuchElementException("Could not find default cover image") + } + + // Deleting old cover + book.coverImage?.let { coverImageHandler.deleteCover(it) }?.onFailure { + logW("Could not delete old cover image with error: ${it.message}") + } + + // Resetting cover + val newCoverImage = defaultCoverImage.let { + coverImageHandler.saveCover(it).getOrThrow() + } + + book.copy(coverImage = newCoverImage.toUri()) + }.mapCatching { newBook -> + bookRepository.updateBook(newBook).getOrThrow() + }.fold( + onSuccess = { + logI("Successfully reset cover image of [$bookId].") + return true + }, + onFailure = { + logE("Could not reset cover image of [$bookId] with error: ${it.message}") + return false + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt new file mode 100644 index 00000000..f77c3d2e --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt @@ -0,0 +1,41 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.repository.BookRepository +import ua.acclorite.book_story.domain.repository.HistoryRepository +import javax.inject.Inject + +class SearchBooksUseCase @Inject constructor( + private val bookRepository: BookRepository, + private val historyRepository: HistoryRepository +) { + + suspend operator fun invoke(query: String): List { + logI("Searching for books with query: \"$query\".") + + return bookRepository.searchBooks(query).fold( + onSuccess = { books -> + logI("Successfully found [${books.size}] books.") + books.map { book -> + val history = historyRepository.getHistoryForBook(book.id).getOrNull() + + book.copy( + lastOpened = history?.time + ) + } + }, + onFailure = { + logE("Could not find books with error: ${it.message}") + emptyList() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt deleted file mode 100644 index 23076651..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBook.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class UpdateBook @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(book: Book) { - repository.updateBook(book) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt new file mode 100644 index 00000000..fd8b3fde --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.repository.BookRepository +import javax.inject.Inject + +class UpdateBookUseCase @Inject constructor( + private val bookRepository: BookRepository +) { + + suspend operator fun invoke(book: Book) { + logI("Updating [${book.title}].") + + bookRepository.updateBook(book).fold( + onSuccess = { + logI("Successfully updated [${book.title}].") + }, + onFailure = { + logE("Could not update [${book.title}] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt deleted file mode 100644 index 2ea11a87..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageOfBook.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.book - -import ua.acclorite.book_story.core.CoverImage -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.repository.BookRepository -import javax.inject.Inject - -class UpdateCoverImageOfBook @Inject constructor( - private val repository: BookRepository -) { - - suspend fun execute(bookWithOldCover: Book, newCoverImage: CoverImage?) { - repository.updateCoverImageOfBook(bookWithOldCover, newCoverImage) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt new file mode 100644 index 00000000..7a0c4680 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt @@ -0,0 +1,49 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.book + +import androidx.core.net.toUri +import ua.acclorite.book_story.core.CoverImage +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.domain.repository.BookRepository +import ua.acclorite.book_story.domain.service.CoverImageHandler +import javax.inject.Inject + +class UpdateCoverImageUseCase @Inject constructor( + private val bookRepository: BookRepository, + private val coverImageHandler: CoverImageHandler +) { + + suspend operator fun invoke(bookId: Int, coverImage: CoverImage?) { + logI("Updating cover image of [$bookId].") + + bookRepository.getBook(bookId).mapCatching { book -> + // Deleting old cover + book.coverImage?.let { coverImageHandler.deleteCover(it) }?.onFailure { + logW("Could not delete old cover image with error: ${it.message}") + } + + // Saving new cover + val newCoverImage = coverImage?.let { + coverImageHandler.saveCover(it).getOrThrow() + } + + book.copy(coverImage = newCoverImage?.toUri()) + }.mapCatching { newBook -> + bookRepository.updateBook(newBook).getOrThrow() + }.fold( + onSuccess = { + logI("Successfully updated cover image of [$bookId].") + }, + onFailure = { + logE("Could not update cover image of [$bookId] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt new file mode 100644 index 00000000..cd4b1936 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.category + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.repository.CategoryRepository +import javax.inject.Inject + +class AddCategoryUseCase @Inject constructor( + private val categoryRepository: CategoryRepository +) { + + suspend operator fun invoke(title: String) { + logI("Inserting [${title}] category.") + + categoryRepository.addCategory(Category(title = title)).fold( + onSuccess = { + logI("Successfully inserted [${title}] category.") + }, + onFailure = { + logE("Could not insert [${title}] category with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt deleted file mode 100644 index 8b8810ac..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategory.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.category - -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.repository.CategoryRepository -import javax.inject.Inject - -class DeleteCategory @Inject constructor( - private val repository: CategoryRepository -) { - - suspend fun execute(category: Category) { - repository.deleteCategory(category) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt new file mode 100644 index 00000000..ed974300 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt @@ -0,0 +1,30 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.category + +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.repository.CategoryRepository +import javax.inject.Inject + +class DeleteCategoryUseCase @Inject constructor( + private val categoryRepository: CategoryRepository +) { + + suspend operator fun invoke(category: Category) { + logI("Deleting category [${category.id}].") + + categoryRepository.deleteCategory(category).fold( + onSuccess = { + logI("Successfully deleted category [${category.id}].") + }, + onFailure = { + logI("Could not delete category [${category.id}] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt deleted file mode 100644 index 7742db96..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategories.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.category - -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.repository.CategoryRepository -import javax.inject.Inject - -class GetCategories @Inject constructor( - private val repository: CategoryRepository -) { - - suspend fun execute(): List { - return repository.getCategories() - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt new file mode 100644 index 00000000..82d853c9 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.category + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.repository.CategoryRepository +import javax.inject.Inject + +class GetCategoriesUseCase @Inject constructor( + private val categoryRepository: CategoryRepository +) { + + suspend operator fun invoke(): List { + logI("Getting all categories.") + + return categoryRepository.getCategories().fold( + onSuccess = { + logI("Successfully got [${it.size}] categories.") + it + }, + onFailure = { + logE("Could not get categories with error: ${it.message}") + emptyList() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt deleted file mode 100644 index 83288641..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySort.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.category - -import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.domain.repository.CategoryRepository -import javax.inject.Inject - -class GetCategorySort @Inject constructor( - private val repository: CategoryRepository -) { - - suspend fun execute(): List { - return repository.getCategorySortEntities() - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt new file mode 100644 index 00000000..42c8288e --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.category + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.repository.CategoryRepository +import javax.inject.Inject + +class GetCategorySortingUseCase @Inject constructor( + private val categoryRepository: CategoryRepository +) { + + suspend operator fun invoke(): List { + logI("Getting category sorting.") + + return categoryRepository.getCategorySorting().fold( + onSuccess = { + logI("Successfully got category sorting.") + it + }, + onFailure = { + logE("Could not get category sorting with error: ${it.message}") + emptyList() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt deleted file mode 100644 index 6bfe963b..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/InsertCategory.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.category - -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.repository.CategoryRepository -import javax.inject.Inject - -class InsertCategory @Inject constructor( - private val repository: CategoryRepository -) { - - suspend fun execute(category: Category) { - repository.insertCategory(category) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt new file mode 100644 index 00000000..5a33cc1a --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt @@ -0,0 +1,30 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.category + +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.repository.CategoryRepository +import javax.inject.Inject + +class UpdateCategoriesOrderUseCase @Inject constructor( + private val categoryRepository: CategoryRepository +) { + + suspend operator fun invoke(categories: List) { + logI("Updating order of [${categories.size}] categories.") + + categoryRepository.updateOrder(categories).fold( + onSuccess = { + logI("Successfully updated order of [${categories.size}] categories.") + }, + onFailure = { + logI("Could not update order of [${categories.size}] categories with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt deleted file mode 100644 index 66946145..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryOrder.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.category - -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.repository.CategoryRepository -import javax.inject.Inject - -class UpdateCategoryOrder @Inject constructor( - private val repository: CategoryRepository -) { - - suspend fun execute(categories: List) { - repository.updateCategoriesOrder(categories) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt deleted file mode 100644 index 7c62af4b..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySort.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.category - -import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.domain.repository.CategoryRepository -import javax.inject.Inject - -class UpdateCategorySort @Inject constructor( - private val repository: CategoryRepository -) { - - suspend fun execute(categorySort: CategorySort) { - repository.updateCategorySortEntity(categorySort) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt new file mode 100644 index 00000000..966b5e59 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.category + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.repository.CategoryRepository +import javax.inject.Inject + +class UpdateCategorySortingUseCase @Inject constructor( + private val categoryRepository: CategoryRepository +) { + + suspend operator fun invoke(categorySort: CategorySort) { + logI("Updating category sorting of [${categorySort.categoryId}].") + + categoryRepository.updateCategorySorting(categorySort).fold( + onSuccess = { + logI("Successfully updated category sorting of [${categorySort.categoryId}].") + }, + onFailure = { + logE( + "Could not update category sorting of [${categorySort.categoryId}] with error: ${it.message}" + ) + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryTitle.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryTitle.kt deleted file mode 100644 index f16cf210..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryTitle.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.category - -import ua.acclorite.book_story.domain.repository.CategoryRepository -import javax.inject.Inject - -class UpdateCategoryTitle @Inject constructor( - private val repository: CategoryRepository -) { - - suspend fun execute(id: Int, title: String) { - repository.updateCategoryTitle(id, title) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt new file mode 100644 index 00000000..f34bdd3e --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt @@ -0,0 +1,30 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.category + +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.repository.CategoryRepository +import javax.inject.Inject + +class UpdateCategoryUseCase @Inject constructor( + private val categoryRepository: CategoryRepository +) { + + suspend operator fun invoke(categoryId: Int, newTitle: String) { + logI("Updating category [$categoryId].") + + categoryRepository.updateCategory(Category(id = categoryId, title = newTitle)).fold( + onSuccess = { + logI("Successfully updated [$categoryId].") + }, + onFailure = { + logI("Could not update [$categoryId] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPreset.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPreset.kt deleted file mode 100644 index 3b12db02..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPreset.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.color_preset - -import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.repository.ColorPresetRepository -import javax.inject.Inject - -class DeleteColorPreset @Inject constructor( - private val repository: ColorPresetRepository -) { - - suspend fun execute(colorPreset: ColorPreset) { - repository.deleteColorPreset(colorPreset) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt new file mode 100644 index 00000000..ac0ff5bd --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.color_preset + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.repository.ColorPresetRepository +import javax.inject.Inject + +class DeleteColorPresetUseCase @Inject constructor( + private val colorPresetRepository: ColorPresetRepository +) { + + suspend operator fun invoke(colorPreset: ColorPreset) { + logI("Deleting [${colorPreset.id}] color preset.") + + colorPresetRepository.deleteColorPreset(colorPreset).fold( + onSuccess = { + logI("Successfully deleted [${colorPreset.id}] color preset.") + }, + onFailure = { + logE("Could not delete [${colorPreset.id}] color preset with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresets.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresets.kt deleted file mode 100644 index f7e2f044..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresets.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.color_preset - -import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.repository.ColorPresetRepository -import javax.inject.Inject - -class GetColorPresets @Inject constructor( - private val repository: ColorPresetRepository -) { - - suspend fun execute(): List { - return repository.getColorPresets() - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt new file mode 100644 index 00000000..480aeddc --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.color_preset + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.repository.ColorPresetRepository +import javax.inject.Inject + +class GetColorPresetsUseCase @Inject constructor( + private val colorPresetRepository: ColorPresetRepository +) { + + suspend operator fun invoke(): List { + logI("Getting color presets.") + + return colorPresetRepository.getColorPresets().fold( + onSuccess = { + logI("Successfully got [${it.size}] color presets.") + it + }, + onFailure = { + logE("Could not get color presets with error: ${it.message}") + emptyList() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresets.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresets.kt deleted file mode 100644 index e81de1c9..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresets.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.color_preset - -import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.repository.ColorPresetRepository -import javax.inject.Inject - -class ReorderColorPresets @Inject constructor( - private val repository: ColorPresetRepository -) { - - suspend fun execute(reorderedColorPresets: List) { - repository.reorderColorPresets(reorderedColorPresets) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt new file mode 100644 index 00000000..f11d878d --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.color_preset + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.repository.ColorPresetRepository +import javax.inject.Inject + +class ReorderColorPresetsUseCase @Inject constructor( + private val colorPresetRepository: ColorPresetRepository +) { + + suspend operator fun invoke(colorPresets: List) { + logI("Reordering [${colorPresets.size}] color presets.") + + colorPresetRepository.reorderColorPresets(colorPresets).fold( + onSuccess = { + logI("Successfully reordered [${colorPresets.size}] color presets.") + }, + onFailure = { + logE("Could not reorder [${colorPresets.size}] color presets with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPreset.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPreset.kt deleted file mode 100644 index cfcee6a5..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPreset.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.color_preset - -import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.repository.ColorPresetRepository -import javax.inject.Inject - -class SelectColorPreset @Inject constructor( - private val repository: ColorPresetRepository -) { - - suspend fun execute(colorPreset: ColorPreset) { - repository.selectColorPreset(colorPreset) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt new file mode 100644 index 00000000..7099e495 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.color_preset + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.repository.ColorPresetRepository +import javax.inject.Inject + +class SelectColorPresetUseCase @Inject constructor( + private val colorPresetRepository: ColorPresetRepository +) { + + suspend operator fun invoke(colorPreset: ColorPreset) { + logI("Selecting [${colorPreset.id}] color preset.") + + colorPresetRepository.selectColorPreset(colorPreset).fold( + onSuccess = { + logI("Successfully selected [${colorPreset.id}] color preset.") + }, + onFailure = { + logE("Could not select [${colorPreset.id}] color preset with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPreset.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPreset.kt deleted file mode 100644 index 0eaa66b6..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPreset.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.color_preset - -import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.repository.ColorPresetRepository -import javax.inject.Inject - -class UpdateColorPreset @Inject constructor( - private val repository: ColorPresetRepository -) { - - suspend fun execute(colorPreset: ColorPreset) { - repository.updateColorPreset(colorPreset) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt new file mode 100644 index 00000000..a16488a0 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.color_preset + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.repository.ColorPresetRepository +import javax.inject.Inject + +class UpdateColorPresetUseCase @Inject constructor( + private val colorPresetRepository: ColorPresetRepository +) { + + suspend operator fun invoke(colorPreset: ColorPreset) { + logI("Updating [${colorPreset.id}] color preset.") + + colorPresetRepository.updateColorPreset(colorPreset).fold( + onSuccess = { + logI("Successfully updated [${colorPreset.id}] color preset.") + }, + onFailure = { + logE("Could not update [${colorPreset.id}] color preset with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt deleted file mode 100644 index 2d1c0925..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguage.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.data_store - -import androidx.appcompat.app.AppCompatDelegate -import androidx.core.os.LocaleListCompat -import ua.acclorite.book_story.domain.repository.DataStoreRepository -import ua.acclorite.book_story.ui.common.constants.DataStoreConstants -import javax.inject.Inject - -class ChangeLanguage @Inject constructor( - private val repository: DataStoreRepository -) { - - suspend fun execute(language: String) { - val appLocale = LocaleListCompat.forLanguageTags(language) - AppCompatDelegate.setApplicationLocales(appLocale) - - repository.putDataToDataStore( - DataStoreConstants.LANGUAGE, - language - ) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt new file mode 100644 index 00000000..2b9e88ea --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt @@ -0,0 +1,39 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.data_store + +import androidx.appcompat.app.AppCompatDelegate +import androidx.core.os.LocaleListCompat +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.repository.DataStoreRepository +import ua.acclorite.book_story.ui.common.constants.DataStoreConstants +import javax.inject.Inject + +class ChangeLanguagePreferenceUseCase @Inject constructor( + private val dataStoreRepository: DataStoreRepository +) { + + suspend operator fun invoke(language: String) { + logI("Changing language preference.") + + dataStoreRepository.putPreference( + DataStoreConstants.LANGUAGE, + language + ).fold( + onSuccess = { + logI("Successfully changed language preference.") + + val appLocale = LocaleListCompat.forLanguageTags(language) + AppCompatDelegate.setApplicationLocales(appLocale) + }, + onFailure = { + logE("Could not change language preference with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetAllSettings.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetAllSettings.kt deleted file mode 100644 index 4c4216c4..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetAllSettings.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.data_store - -import ua.acclorite.book_story.domain.repository.DataStoreRepository -import ua.acclorite.book_story.presentation.main.MainState -import javax.inject.Inject - -class GetAllSettings @Inject constructor( - private val repository: DataStoreRepository -) { - - suspend fun execute(): MainState { - return repository.getAllSettings() - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt new file mode 100644 index 00000000..418c6e4e --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt @@ -0,0 +1,62 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.data_store + +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async +import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.withContext +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.domain.repository.DataStoreRepository +import ua.acclorite.book_story.presentation.main.MainState +import java.util.concurrent.ConcurrentHashMap +import javax.inject.Inject + +class GetPreferencesUseCase @Inject constructor( + private val dataStoreRepository: DataStoreRepository +) { + + suspend operator fun invoke(): MainState { + logI("Getting all preferences (MainState).") + + return withContext(Dispatchers.Default) { + dataStoreRepository.getAllPreferences().mapCatching { keys -> + logI("Got [${keys.size}] preference keys.") + + val preferences = ConcurrentHashMap() + keys.map { key -> + async { + dataStoreRepository.getPreference(key).fold( + onSuccess = { + it?.let { preference -> + preferences[key.name] = preference + } + }, + onFailure = { + logW("Could not get [${key.name}] preference.") + preferences.remove(key.name) + } + ) + } + }.awaitAll() + + MainState.initialize(preferences) + }.fold( + onSuccess = { + logI("Successfully got all preferences (MainState).") + it + }, + onFailure = { + logE("Could not get all preferences (MainState) with error: ${it.message}") + MainState() + } + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt new file mode 100644 index 00000000..0fd17bf8 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.data_store + +import androidx.datastore.preferences.core.Preferences +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.repository.DataStoreRepository +import javax.inject.Inject + +class PutPreferenceUseCase @Inject constructor( + private val dataStoreRepository: DataStoreRepository +) { + + suspend operator fun invoke(key: Preferences.Key, value: T) { + logI("Putting preference [${key.name}].") + + dataStoreRepository.putPreference(key, value).fold( + onSuccess = { + logI("Successfully put preference [${key.name}].") + }, + onFailure = { + logE("Could not put preference [${key.name}] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/SetDatastore.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/SetDatastore.kt deleted file mode 100644 index 5defb507..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/SetDatastore.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.data_store - -import androidx.datastore.preferences.core.Preferences -import ua.acclorite.book_story.domain.repository.DataStoreRepository -import javax.inject.Inject - -class SetDatastore @Inject constructor( - private val repository: DataStoreRepository -) { - - suspend fun execute(key: Preferences.Key, value: T) { - repository.putDataToDataStore(key, value) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt deleted file mode 100644 index cd9ca4dd..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFile.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.file_system - -import ua.acclorite.book_story.data.model.common.NullableBook -import ua.acclorite.book_story.domain.file.File -import ua.acclorite.book_story.domain.repository.FileSystemRepository -import javax.inject.Inject - -class GetBookFromFile @Inject constructor( - private val repository: FileSystemRepository -) { - - suspend fun execute(file: File): NullableBook { - return repository.getBookFromFile(file) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt new file mode 100644 index 00000000..12325c35 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt @@ -0,0 +1,41 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.file_system + +import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.data.model.common.NullableBook +import ua.acclorite.book_story.data.model.common.NullableBook.NotNull +import ua.acclorite.book_story.data.model.common.NullableBook.Null +import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.repository.FileSystemRepository +import javax.inject.Inject + +class GetBookFromFileUseCase @Inject constructor( + private val fileSystemRepository: FileSystemRepository +) { + + suspend operator fun invoke(file: File): NullableBook { + logI("Getting book from [${file.name}] file.") + + return fileSystemRepository.getBookFromFile(file).fold( + onSuccess = { + logI("Successfully got [${it.book.title}] book from file.") + NotNull(it) + }, + onFailure = { + logE("Could not get book from file with error: ${it.message}") + Null( + file.name, + UIText.StringResource(R.string.error_something_went_wrong) + ) + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt deleted file mode 100644 index 39106233..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetFiles.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.file_system - -import ua.acclorite.book_story.domain.file.File -import ua.acclorite.book_story.domain.repository.FileSystemRepository -import javax.inject.Inject - -class GetFiles @Inject constructor( - private val repository: FileSystemRepository -) { - - suspend fun execute(query: String): List { - return repository.getFiles(query) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt new file mode 100644 index 00000000..6b55c857 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.file_system + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.repository.FileSystemRepository +import javax.inject.Inject + +class SearchFilesUseCase @Inject constructor( + private val fileSystemRepository: FileSystemRepository +) { + + suspend operator fun invoke(query: String = ""): List { + logI("Searching for files with query: \"$query\".") + + return fileSystemRepository.searchFiles(query).fold( + onSuccess = { + logI("Successfully found [${it.size}] files.") + it + }, + onFailure = { + logE("Could not find files with error: ${it.message}") + emptyList() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt new file mode 100644 index 00000000..8e5a8474 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.history + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.repository.HistoryRepository +import javax.inject.Inject + +class AddHistoryUseCase @Inject constructor( + private val historyRepository: HistoryRepository +) { + + suspend operator fun invoke(history: History) { + logI("Inserting history for [${history.bookId}].") + + historyRepository.addHistory(history = history).fold( + onSuccess = { + logI("Successfully inserted history for [${history.bookId}].") + }, + onFailure = { + logE("Could not insert history for [${history.bookId}] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistory.kt deleted file mode 100644 index 1ebda6f8..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistory.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.history - -import ua.acclorite.book_story.domain.history.History -import ua.acclorite.book_story.domain.repository.HistoryRepository -import javax.inject.Inject - -class DeleteHistory @Inject constructor( - private val repository: HistoryRepository -) { - - suspend fun execute(history: History) { - repository.deleteHistory(history) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt new file mode 100644 index 00000000..0d8983a4 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt @@ -0,0 +1,31 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.history + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.repository.HistoryRepository +import javax.inject.Inject + +class DeleteHistoryUseCase @Inject constructor( + private val historyRepository: HistoryRepository +) { + + suspend operator fun invoke(history: History) { + logI("Deleting history [${history.id}].") + + return historyRepository.deleteHistory(history).fold( + onSuccess = { + logI("Successfully deleted history [${history.id}].") + }, + onFailure = { + logE("Could not delete history [${history.id}] with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistory.kt deleted file mode 100644 index 8cf0d43b..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistory.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.history - -import ua.acclorite.book_story.domain.repository.HistoryRepository -import javax.inject.Inject - -class DeleteWholeHistory @Inject constructor( - private val repository: HistoryRepository -) { - - suspend fun execute() { - repository.deleteWholeHistory() - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt new file mode 100644 index 00000000..78df36aa --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt @@ -0,0 +1,30 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.history + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.repository.HistoryRepository +import javax.inject.Inject + +class DeleteWholeHistoryUseCase @Inject constructor( + private val historyRepository: HistoryRepository +) { + + suspend operator fun invoke() { + logI("Deleting whole history.") + + return historyRepository.deleteWholeHistory().fold( + onSuccess = { + logI("Successfully deleted whole history.") + }, + onFailure = { + logE("Could not delete whole history with error: ${it.message}") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistory.kt deleted file mode 100644 index c66a6dc9..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistory.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.history - -import ua.acclorite.book_story.domain.history.History -import ua.acclorite.book_story.domain.repository.HistoryRepository -import javax.inject.Inject - -class GetHistory @Inject constructor( - private val repository: HistoryRepository -) { - - suspend fun execute(): List { - return repository.getHistory() - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt new file mode 100644 index 00000000..8052b788 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.history + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.repository.HistoryRepository +import javax.inject.Inject + +class GetHistoryForBookUseCase @Inject constructor( + private val historyRepository: HistoryRepository +) { + + suspend operator fun invoke(bookId: Int): History? { + logI("Getting history for [$bookId].") + + return historyRepository.getHistoryForBook(bookId = bookId).fold( + onSuccess = { + logI("Successfully got history for [$bookId].") + it + }, + onFailure = { + logE("Could not get history for [$bookId] with error: ${it.message}") + null + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt new file mode 100644 index 00000000..bb38d9ae --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.history + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.repository.HistoryRepository +import javax.inject.Inject + +class GetHistoryUseCase @Inject constructor( + private val historyRepository: HistoryRepository +) { + + suspend operator fun invoke(): List { + logI("Getting all history.") + + return historyRepository.getHistory().fold( + onSuccess = { + logI("Successfully got ${it.size} history entries.") + it + }, + onFailure = { + logE("Could not get history entries with error: ${it.message}") + emptyList() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetLatestHistory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetLatestHistory.kt deleted file mode 100644 index 2ecb8aa5..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetLatestHistory.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.history - -import ua.acclorite.book_story.domain.history.History -import ua.acclorite.book_story.domain.repository.HistoryRepository -import javax.inject.Inject - -class GetLatestHistory @Inject constructor( - private val repository: HistoryRepository -) { - - suspend fun execute(bookId: Int): History? { - return repository.getLatestBookHistory(bookId) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/InsertHistory.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/InsertHistory.kt deleted file mode 100644 index 4db16edf..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/InsertHistory.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.history - -import ua.acclorite.book_story.domain.history.History -import ua.acclorite.book_story.domain.repository.HistoryRepository -import javax.inject.Inject - -class InsertHistory @Inject constructor( - private val repository: HistoryRepository -) { - - suspend fun execute(history: History) { - repository.insertHistory(history) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermission.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermission.kt deleted file mode 100644 index 2d802f50..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermission.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.permission - -import android.net.Uri -import ua.acclorite.book_story.domain.repository.PermissionRepository -import javax.inject.Inject - -class GrantPersistableUriPermission @Inject constructor( - private val repository: PermissionRepository -) { - - suspend fun execute(uri: Uri) { - repository.grantPersistableUriPermission(uri) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt new file mode 100644 index 00000000..06cbc534 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt @@ -0,0 +1,30 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.permission + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.repository.PermissionRepository +import javax.inject.Inject + +class GrantPersistableUriPermissionUseCase @Inject constructor( + private val permissionRepository: PermissionRepository +) { + + suspend operator fun invoke(uri: String) { + logI("Granting persistable URI permission to \"$uri\".") + + permissionRepository.grantPersistableUriPermission(uri).fold( + onSuccess = { + logI("Successfully granted persistable URI permission to \"$uri\".") + }, + onFailure = { + logE("Could not grant persistable URI permission to \"$uri\" with error: ${it.message}.") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermission.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermission.kt deleted file mode 100644 index b7c7c106..00000000 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermission.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.domain.use_case.permission - -import android.net.Uri -import ua.acclorite.book_story.domain.repository.PermissionRepository -import javax.inject.Inject - -class ReleasePersistableUriPermission @Inject constructor( - private val repository: PermissionRepository -) { - - suspend fun execute(uri: Uri) { - repository.releasePersistableUriPermission(uri) - } -} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt new file mode 100644 index 00000000..069d4238 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt @@ -0,0 +1,30 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.domain.use_case.permission + +import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.domain.repository.PermissionRepository +import javax.inject.Inject + +class ReleasePersistableUriPermissionUseCase @Inject constructor( + private val permissionRepository: PermissionRepository +) { + + suspend operator fun invoke(uri: String) { + logI("Releasing persistable URI permission from \"$uri\".") + + permissionRepository.releasePersistableUriPermission(uri).fold( + onSuccess = { + logI("Successfully released persistable URI permission from \"$uri\".") + }, + onFailure = { + logE("Could not release persistable URI permission from \"$uri\" with error: ${it.message}.") + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt index 70175b75..d502f7b3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt @@ -21,12 +21,12 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.use_case.book.CanResetCover -import ua.acclorite.book_story.domain.use_case.book.DeleteBooks -import ua.acclorite.book_story.domain.use_case.book.GetBookById -import ua.acclorite.book_story.domain.use_case.book.ResetCoverImage -import ua.acclorite.book_story.domain.use_case.book.UpdateBook -import ua.acclorite.book_story.domain.use_case.book.UpdateCoverImageOfBook +import ua.acclorite.book_story.domain.use_case.book.CanResetCoverImageUseCase +import ua.acclorite.book_story.domain.use_case.book.DeleteBookUseCase +import ua.acclorite.book_story.domain.use_case.book.GetBookUseCase +import ua.acclorite.book_story.domain.use_case.book.ResetCoverImageUseCase +import ua.acclorite.book_story.domain.use_case.book.UpdateBookUseCase +import ua.acclorite.book_story.domain.use_case.book.UpdateCoverImageUseCase import ua.acclorite.book_story.presentation.browse.BrowseScreen import ua.acclorite.book_story.presentation.history.HistoryScreen import ua.acclorite.book_story.presentation.library.LibraryScreen @@ -35,12 +35,12 @@ import javax.inject.Inject @HiltViewModel class BookInfoModel @Inject constructor( - private val getBookById: GetBookById, - private val updateBook: UpdateBook, - private val canResetCover: CanResetCover, - private val updateCoverImageOfBook: UpdateCoverImageOfBook, - private val resetCoverImage: ResetCoverImage, - private val deleteBooks: DeleteBooks + private val updateCoverImageUseCase: UpdateCoverImageUseCase, + private val updateBookUseCase: UpdateBookUseCase, + private val getBookUseCase: GetBookUseCase, + private val deleteBookUseCase: DeleteBookUseCase, + private val canResetCoverImageUseCase: CanResetCoverImageUseCase, + private val resetCoverImageUseCase: ResetCoverImageUseCase ) : ViewModel() { private val mutex = Mutex() @@ -76,14 +76,10 @@ class BookInfoModel @Inject constructor( BitmapFactory.decodeStream(it) } ?: return@launch - updateCoverImageOfBook.execute( - _state.value.book, - image - ) + updateCoverImageUseCase(_state.value.book.id, image) - val newCoverImage = getBookById.execute( - _state.value.book.id - )?.coverImage ?: return@launch + val newCoverImage = getBookUseCase(_state.value.book.id)?.coverImage + ?: return@launch _state.update { it.copy( @@ -91,7 +87,7 @@ class BookInfoModel @Inject constructor( coverImage = newCoverImage ), bottomSheet = null, - canResetCover = canResetCover.execute(bookId = it.book.id) + canResetCover = canResetCoverImageUseCase(it.book.id) ) } @@ -107,7 +103,7 @@ class BookInfoModel @Inject constructor( is BookInfoEvent.OnResetCover -> { launch { - val result = resetCoverImage.execute(_state.value.book.id) + val result = resetCoverImageUseCase(_state.value.book.id) if (!result) { withContext(Dispatchers.Main) { @@ -117,7 +113,7 @@ class BookInfoModel @Inject constructor( return@launch } - val book = getBookById.execute(_state.value.book.id) + val book = getBookUseCase(_state.value.book.id) if (book == null) { withContext(Dispatchers.Main) { @@ -151,17 +147,14 @@ class BookInfoModel @Inject constructor( return@launch } - updateCoverImageOfBook.execute( - bookWithOldCover = _state.value.book, - newCoverImage = null - ) + updateCoverImageUseCase(_state.value.book.id, null) _state.update { it.copy( book = it.book.copy( coverImage = null ), bottomSheet = null, - canResetCover = canResetCover.execute(bookId = it.book.id) + canResetCover = canResetCoverImageUseCase(it.book.id) ) } @@ -178,7 +171,7 @@ class BookInfoModel @Inject constructor( is BookInfoEvent.OnCheckCoverReset -> { launch(Dispatchers.IO) { if (_state.value.book.id == -1) return@launch - canResetCover.execute(_state.value.book.id).apply { + canResetCoverImageUseCase(_state.value.book.id).apply { _state.update { it.copy( canResetCover = this @@ -213,7 +206,7 @@ class BookInfoModel @Inject constructor( ) ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -242,7 +235,7 @@ class BookInfoModel @Inject constructor( ) ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -271,7 +264,7 @@ class BookInfoModel @Inject constructor( ) ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -300,7 +293,7 @@ class BookInfoModel @Inject constructor( ) ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -329,7 +322,7 @@ class BookInfoModel @Inject constructor( ) } - deleteBooks.execute(listOf(_state.value.book)) + deleteBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -363,7 +356,7 @@ class BookInfoModel @Inject constructor( bottomSheet = null ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -392,7 +385,7 @@ class BookInfoModel @Inject constructor( navigateBack: () -> Unit ) { viewModelScope.launch(Dispatchers.IO) { - val book = getBookById.execute(bookId) + val book = getBookUseCase(bookId) if (book == null) { navigateBack() diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt index 6f788bfe..1666c728 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt @@ -6,6 +6,7 @@ package ua.acclorite.book_story.presentation.browse +import androidx.core.net.toUri import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel @@ -24,9 +25,9 @@ import kotlinx.coroutines.yield import ua.acclorite.book_story.R import ua.acclorite.book_story.data.model.common.NullableBook import ua.acclorite.book_story.domain.file.File -import ua.acclorite.book_story.domain.use_case.book.InsertBook -import ua.acclorite.book_story.domain.use_case.file_system.GetBookFromFile -import ua.acclorite.book_story.domain.use_case.file_system.GetFiles +import ua.acclorite.book_story.domain.use_case.book.AddBookUseCase +import ua.acclorite.book_story.domain.use_case.file_system.GetBookFromFileUseCase +import ua.acclorite.book_story.domain.use_case.file_system.SearchFilesUseCase import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder import ua.acclorite.book_story.presentation.browse.model.SelectableFile import ua.acclorite.book_story.presentation.library.LibraryScreen @@ -37,9 +38,9 @@ import javax.inject.Inject @HiltViewModel class BrowseModel @Inject constructor( - private val getFiles: GetFiles, - private val getBookFromFile: GetBookFromFile, - private val insertBook: InsertBook + private val addBookUseCase: AddBookUseCase, + private val searchFilesUseCase: SearchFilesUseCase, + private val getBookFromFileUseCase: GetBookFromFileUseCase ) : ViewModel() { private val mutex = Mutex() @@ -296,10 +297,10 @@ class BrowseModel @Inject constructor( .forEach { yield() books.add( - getBookFromFile.execute( + getBookFromFileUseCase( File( name = it.name, - uri = it.uri, + uri = it.uri.toString(), path = it.path, size = it.size, lastModified = it.lastModified, @@ -347,7 +348,12 @@ class BrowseModel @Inject constructor( }.ifEmpty { return@launch } for (book in booksToInsert) { - insertBook.execute(book.bookWithCover!!) + book.bookWithCover?.let { + addBookUseCase( + it.book, + it.coverImage + ) + } } LibraryScreen.refreshListChannel.trySend(0) @@ -414,14 +420,14 @@ class BrowseModel @Inject constructor( private suspend fun getFilesFromDownloads( query: String = if (_state.value.showSearch) _state.value.searchQuery else "" ) { - getFiles.execute(query).apply { + searchFilesUseCase(query).apply { yield() _state.update { it.copy( files = map { SelectableFile( name = it.name, - uri = it.uri, + uri = it.uri.toUri(), path = it.path, size = it.size, lastModified = it.lastModified, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt index 976e9323..47a67e1e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt @@ -24,11 +24,11 @@ import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.history.History -import ua.acclorite.book_story.domain.use_case.book.GetBooksById -import ua.acclorite.book_story.domain.use_case.history.DeleteHistory -import ua.acclorite.book_story.domain.use_case.history.DeleteWholeHistory -import ua.acclorite.book_story.domain.use_case.history.GetHistory -import ua.acclorite.book_story.domain.use_case.history.InsertHistory +import ua.acclorite.book_story.domain.use_case.book.GetBookUseCase +import ua.acclorite.book_story.domain.use_case.history.AddHistoryUseCase +import ua.acclorite.book_story.domain.use_case.history.DeleteHistoryUseCase +import ua.acclorite.book_story.domain.use_case.history.DeleteWholeHistoryUseCase +import ua.acclorite.book_story.domain.use_case.history.GetHistoryUseCase import ua.acclorite.book_story.presentation.history.model.GroupedHistory import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.ui.common.util.showToast @@ -40,11 +40,11 @@ import javax.inject.Inject @HiltViewModel class HistoryModel @Inject constructor( - private val getHistory: GetHistory, - private val getBooksById: GetBooksById, - private val insertHistory: InsertHistory, - private val deleteHistory: DeleteHistory, - private val deleteWholeHistory: DeleteWholeHistory + private val getBookUseCase: GetBookUseCase, + private val getHistoryUseCase: GetHistoryUseCase, + private val addHistoryUseCase: AddHistoryUseCase, + private val deleteHistoryUseCase: DeleteHistoryUseCase, + private val deleteWholeHistoryUseCase: DeleteWholeHistoryUseCase ) : ViewModel() { private val mutex = Mutex() @@ -78,7 +78,7 @@ class HistoryModel @Inject constructor( } viewModelScope.launch(Dispatchers.IO) { HistoryScreen.insertHistoryChannel.receiveAsFlow().collectLatest { - insertHistory.execute( + addHistoryUseCase( History( bookId = it, book = null, @@ -199,7 +199,7 @@ class HistoryModel @Inject constructor( is HistoryEvent.OnDeleteHistoryEntry -> { viewModelScope.launch(Dispatchers.IO) { - deleteHistory.execute(event.history) + deleteHistoryUseCase(event.history) onEvent( HistoryEvent.OnRefreshList( @@ -229,7 +229,7 @@ class HistoryModel @Inject constructor( when (snackbarResult) { SnackbarResult.Dismissed -> Unit SnackbarResult.ActionPerformed -> { - insertHistory.execute(event.history) + addHistoryUseCase(event.history) LibraryScreen.refreshListChannel.trySend(0) onEvent( @@ -262,7 +262,7 @@ class HistoryModel @Inject constructor( ) } - deleteWholeHistory.execute() + deleteWholeHistoryUseCase() LibraryScreen.refreshListChannel.trySend(0) onEvent( HistoryEvent.OnRefreshList( @@ -307,12 +307,12 @@ class HistoryModel @Inject constructor( return maxElementsById.filterNotNull() } - val history = getHistory.execute().sortedByDescending { + val history = getHistoryUseCase().sortedByDescending { it.time }.run { - val books = getBooksById.execute( - this.map { it.bookId }.distinct() - ).toMutableList() + val books = map { it.bookId }.distinct().mapNotNull { + getBookUseCase(it) + }.toMutableList() mapNotNull { val book = books.find { book -> book.id == it.bookId } ?: return@mapNotNull null diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt index f819ce5e..4f6af2c1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt @@ -23,9 +23,9 @@ import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.use_case.book.DeleteBooks -import ua.acclorite.book_story.domain.use_case.book.GetBooks -import ua.acclorite.book_story.domain.use_case.book.UpdateBook +import ua.acclorite.book_story.domain.use_case.book.DeleteBookUseCase +import ua.acclorite.book_story.domain.use_case.book.SearchBooksUseCase +import ua.acclorite.book_story.domain.use_case.book.UpdateBookUseCase import ua.acclorite.book_story.presentation.browse.BrowseScreen import ua.acclorite.book_story.presentation.history.HistoryScreen import ua.acclorite.book_story.presentation.library.model.SelectableBook @@ -34,9 +34,9 @@ import javax.inject.Inject @HiltViewModel class LibraryModel @Inject constructor( - private val getBooks: GetBooks, - private val deleteBooks: DeleteBooks, - private val moveBooks: UpdateBook + private val updateBookUseCase: UpdateBookUseCase, + private val searchBooksUseCase: SearchBooksUseCase, + private val deleteBookUseCase: DeleteBookUseCase ) : ViewModel() { private val mutex = Mutex() @@ -208,7 +208,7 @@ class LibraryModel @Inject constructor( viewModelScope.launch { _state.value.books.forEach { book -> if (!book.selected) return@forEach - moveBooks.execute( + updateBookUseCase( book.data.copy( categories = event.selectedCategories.map { it.id } ) @@ -253,12 +253,10 @@ class LibraryModel @Inject constructor( is LibraryEvent.OnActionDeleteDialog -> { viewModelScope.launch { - deleteBooks.execute( - _state.value.books.mapNotNull { - if (!it.selected) return@mapNotNull null - it.data - } - ) + _state.value.books.forEach { + if (!it.selected) return@forEach + deleteBookUseCase(it.data) + } _state.update { it.copy( @@ -314,8 +312,7 @@ class LibraryModel @Inject constructor( private suspend fun getBooksFromDatabase( query: String = if (_state.value.showSearch) _state.value.searchQuery else "" ) { - val books = getBooks - .execute(query) + val books = searchBooksUseCase(query) .sortedWith(compareByDescending { it.lastOpened }.thenBy { it.title }) .map { book -> SelectableBook(book, false) } diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt index 7380fa9e..edfcb092 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt @@ -22,9 +22,9 @@ import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield -import ua.acclorite.book_story.domain.use_case.data_store.ChangeLanguage -import ua.acclorite.book_story.domain.use_case.data_store.GetAllSettings -import ua.acclorite.book_story.domain.use_case.data_store.SetDatastore +import ua.acclorite.book_story.domain.use_case.data_store.ChangeLanguagePreferenceUseCase +import ua.acclorite.book_story.domain.use_case.data_store.GetPreferencesUseCase +import ua.acclorite.book_story.domain.use_case.data_store.PutPreferenceUseCase import ua.acclorite.book_story.presentation.browse.model.BrowseLayout import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder import ua.acclorite.book_story.presentation.library.model.LibraryLayout @@ -50,10 +50,9 @@ import javax.inject.Inject @HiltViewModel class MainModel @Inject constructor( private val stateHandle: SavedStateHandle, - - private val setDatastore: SetDatastore, - private val changeLanguage: ChangeLanguage, - private val getAllSettings: GetAllSettings + private val putPreferenceUseCase: PutPreferenceUseCase, + private val changeLanguagePreferenceUseCase: ChangeLanguagePreferenceUseCase, + private val getPreferencesUseCase: GetPreferencesUseCase ) : ViewModel() { private val mutex = Mutex() @@ -618,10 +617,10 @@ class MainModel @Inject constructor( fun init(settingsModelReady: StateFlow) { viewModelScope.launch(Dispatchers.Main) { - val settings = getAllSettings.execute() + val settings = getPreferencesUseCase() /* All additional execution */ - changeLanguage.execute(settings.language) + changeLanguagePreferenceUseCase(settings.language) updateStateWithSavedHandle { settings } mainModelReady.update { true } @@ -648,7 +647,7 @@ class MainModel @Inject constructor( private fun handleLanguageUpdate(event: MainEvent.OnChangeLanguage) { viewModelScope.launch(Dispatchers.Main.immediate) { - changeLanguage.execute(event.value) + changeLanguagePreferenceUseCase(event.value) updateStateWithSavedHandle { it.copy(language = event.value) } @@ -696,7 +695,7 @@ class MainModel @Inject constructor( updateState: V.(MainState) -> MainState ) { viewModelScope.launch(Dispatchers.Main.immediate) { - setDatastore.execute(key = key, value = value) + putPreferenceUseCase(key = key, value = value) updateStateWithSavedHandle { value.updateState(it) } diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt index f400bdb0..fc3f8d03 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt @@ -37,10 +37,10 @@ import kotlinx.coroutines.yield import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.domain.reader.ReaderText.Chapter -import ua.acclorite.book_story.domain.use_case.book.GetBookById -import ua.acclorite.book_story.domain.use_case.book.GetText -import ua.acclorite.book_story.domain.use_case.book.UpdateBook -import ua.acclorite.book_story.domain.use_case.history.GetLatestHistory +import ua.acclorite.book_story.domain.use_case.book.GetBookUseCase +import ua.acclorite.book_story.domain.use_case.book.GetTextUseCase +import ua.acclorite.book_story.domain.use_case.book.UpdateBookUseCase +import ua.acclorite.book_story.domain.use_case.history.GetHistoryForBookUseCase import ua.acclorite.book_story.presentation.history.HistoryScreen import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.presentation.reader.model.Checkpoint @@ -55,10 +55,10 @@ private const val READER = "READER, MODEL" @HiltViewModel class ReaderModel @Inject constructor( - private val getBookById: GetBookById, - private val updateBook: UpdateBook, - private val getText: GetText, - private val getLatestHistory: GetLatestHistory + private val updateBookUseCase: UpdateBookUseCase, + private val getTextUseCase: GetTextUseCase, + private val getBookUseCase: GetBookUseCase, + private val getHistoryForBookUseCase: GetHistoryForBookUseCase ) : ViewModel() { private val mutex = Mutex() @@ -76,7 +76,7 @@ class ReaderModel @Inject constructor( when (event) { is ReaderEvent.OnLoadText -> { launch(Dispatchers.IO) { - val text = getText.execute(_state.value.book.id) + val text = getTextUseCase(_state.value.book.id) yield() if (text.isEmpty()) { @@ -95,7 +95,7 @@ class ReaderModel @Inject constructor( activity = event.activity ) - val lastOpened = getLatestHistory.execute(_state.value.book.id)?.time + val lastOpened = getHistoryForBookUseCase(_state.value.book.id)?.time yield() _state.update { @@ -110,7 +110,7 @@ class ReaderModel @Inject constructor( yield() - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -177,7 +177,7 @@ class ReaderModel @Inject constructor( ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(300) HistoryScreen.refreshListChannel.trySend(300) @@ -265,7 +265,7 @@ class ReaderModel @Inject constructor( ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) @@ -466,7 +466,7 @@ class ReaderModel @Inject constructor( navigateBack: () -> Unit ) { viewModelScope.launch(Dispatchers.IO) { - val book = getBookById.execute(bookId) + val book = getBookUseCase(bookId) if (book == null) { navigateBack() @@ -518,7 +518,7 @@ class ReaderModel @Inject constructor( ) } - updateBook.execute(_state.value.book) + updateBookUseCase(_state.value.book) LibraryScreen.refreshListChannel.trySend(0) HistoryScreen.refreshListChannel.trySend(0) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt index 881aafbf..38352824 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt @@ -20,23 +20,22 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Category import ua.acclorite.book_story.domain.library.CategorySort import ua.acclorite.book_story.domain.reader.ColorPreset -import ua.acclorite.book_story.domain.use_case.category.DeleteCategory -import ua.acclorite.book_story.domain.use_case.category.GetCategories -import ua.acclorite.book_story.domain.use_case.category.GetCategorySort -import ua.acclorite.book_story.domain.use_case.category.InsertCategory -import ua.acclorite.book_story.domain.use_case.category.UpdateCategoryOrder -import ua.acclorite.book_story.domain.use_case.category.UpdateCategorySort -import ua.acclorite.book_story.domain.use_case.category.UpdateCategoryTitle -import ua.acclorite.book_story.domain.use_case.color_preset.DeleteColorPreset -import ua.acclorite.book_story.domain.use_case.color_preset.GetColorPresets -import ua.acclorite.book_story.domain.use_case.color_preset.ReorderColorPresets -import ua.acclorite.book_story.domain.use_case.color_preset.SelectColorPreset -import ua.acclorite.book_story.domain.use_case.color_preset.UpdateColorPreset -import ua.acclorite.book_story.domain.use_case.permission.GrantPersistableUriPermission -import ua.acclorite.book_story.domain.use_case.permission.ReleasePersistableUriPermission +import ua.acclorite.book_story.domain.use_case.category.AddCategoryUseCase +import ua.acclorite.book_story.domain.use_case.category.DeleteCategoryUseCase +import ua.acclorite.book_story.domain.use_case.category.GetCategoriesUseCase +import ua.acclorite.book_story.domain.use_case.category.GetCategorySortingUseCase +import ua.acclorite.book_story.domain.use_case.category.UpdateCategoriesOrderUseCase +import ua.acclorite.book_story.domain.use_case.category.UpdateCategorySortingUseCase +import ua.acclorite.book_story.domain.use_case.category.UpdateCategoryUseCase +import ua.acclorite.book_story.domain.use_case.color_preset.DeleteColorPresetUseCase +import ua.acclorite.book_story.domain.use_case.color_preset.GetColorPresetsUseCase +import ua.acclorite.book_story.domain.use_case.color_preset.ReorderColorPresetsUseCase +import ua.acclorite.book_story.domain.use_case.color_preset.SelectColorPresetUseCase +import ua.acclorite.book_story.domain.use_case.color_preset.UpdateColorPresetUseCase +import ua.acclorite.book_story.domain.use_case.permission.GrantPersistableUriPermissionUseCase +import ua.acclorite.book_story.domain.use_case.permission.ReleasePersistableUriPermissionUseCase import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset import ua.acclorite.book_story.ui.common.util.showToast import javax.inject.Inject @@ -44,20 +43,20 @@ import kotlin.random.Random @HiltViewModel class SettingsModel @Inject constructor( - private val getColorPresets: GetColorPresets, - private val updateColorPreset: UpdateColorPreset, - private val selectColorPreset: SelectColorPreset, - private val reorderColorPresets: ReorderColorPresets, - private val deleteColorPreset: DeleteColorPreset, - private val grantPersistableUriPermission: GrantPersistableUriPermission, - private val releasePersistableUriPermission: ReleasePersistableUriPermission, - private val insertCategory: InsertCategory, - private val getCategories: GetCategories, - private val updateCategoryTitle: UpdateCategoryTitle, - private val updateCategoryOrder: UpdateCategoryOrder, - private val deleteCategory: DeleteCategory, - private val updateCategorySort: UpdateCategorySort, - private val getCategoriesSort: GetCategorySort, + private val getColorPresetsUseCase: GetColorPresetsUseCase, + private val updateColorPresetUseCase: UpdateColorPresetUseCase, + private val selectColorPresetUseCase: SelectColorPresetUseCase, + private val reorderColorPresetsUseCase: ReorderColorPresetsUseCase, + private val deleteColorPresetUseCase: DeleteColorPresetUseCase, + private val grantPersistableUriPermissionUseCase: GrantPersistableUriPermissionUseCase, + private val releasePersistableUriPermissionUseCase: ReleasePersistableUriPermissionUseCase, + private val addCategoryUseCase: AddCategoryUseCase, + private val getCategoriesUseCase: GetCategoriesUseCase, + private val updateCategoryUseCase: UpdateCategoryUseCase, + private val updateCategoriesOrderUseCase: UpdateCategoriesOrderUseCase, + private val deleteCategoryUseCase: DeleteCategoryUseCase, + private val updateCategorySortingUseCase: UpdateCategorySortingUseCase, + private val getCategorySortingUseCase: GetCategorySortingUseCase ) : ViewModel() { private val mutex = Mutex() @@ -77,12 +76,12 @@ class SettingsModel @Inject constructor( init { viewModelScope.launch(Dispatchers.IO) { - var colorPresets = getColorPresets.execute() + var colorPresets = getColorPresetsUseCase() if (colorPresets.isEmpty()) { - updateColorPreset.execute(provideDefaultColorPreset()) - getColorPresets.execute().first().select() - colorPresets = getColorPresets.execute() + updateColorPresetUseCase(provideDefaultColorPreset()) + getColorPresetsUseCase().first().select() + colorPresets = getColorPresetsUseCase() } val scrollIndex = colorPresets.indexOfFirst { @@ -102,8 +101,8 @@ class SettingsModel @Inject constructor( it.copy( selectedColorPreset = colorPresets.selected(), colorPresets = colorPresets, - categories = getCategories.execute(), // Getting categories - categoriesSort = getCategoriesSort.execute() + categories = getCategoriesUseCase(), // Getting categories + categoriesSort = getCategorySortingUseCase() ) } @@ -116,30 +115,26 @@ class SettingsModel @Inject constructor( when (event) { is SettingsEvent.OnGrantPersistableUriPermission -> { viewModelScope.launch { - grantPersistableUriPermission.execute( - event.uri + grantPersistableUriPermissionUseCase( + event.uri.toString() ) } } is SettingsEvent.OnReleasePersistableUriPermission -> { viewModelScope.launch { - releasePersistableUriPermission.execute( - event.uri + releasePersistableUriPermissionUseCase( + event.uri.toString() ) } } is SettingsEvent.OnCreateCategory -> { viewModelScope.launch { - insertCategory.execute( - category = Category( - title = event.title - ) - ) + addCategoryUseCase(event.title) _state.update { it.copy( - categories = getCategories.execute() + categories = getCategoriesUseCase() ) } } @@ -147,13 +142,13 @@ class SettingsModel @Inject constructor( is SettingsEvent.OnUpdateCategoryTitle -> { viewModelScope.launch { - updateCategoryTitle.execute( - id = event.id, - title = event.title + updateCategoryUseCase( + categoryId = event.id, + newTitle = event.title ) _state.update { it.copy( - categories = getCategories.execute() + categories = getCategoriesUseCase() ) } } @@ -161,12 +156,12 @@ class SettingsModel @Inject constructor( is SettingsEvent.OnUpdateCategoryOrder -> { viewModelScope.launch { - updateCategoryOrder.execute( + updateCategoriesOrderUseCase( categories = event.categories ) _state.update { it.copy( - categories = getCategories.execute() + categories = getCategoriesUseCase() ) } } @@ -174,12 +169,12 @@ class SettingsModel @Inject constructor( is SettingsEvent.OnRemoveCategory -> { viewModelScope.launch { - deleteCategory.execute( + deleteCategoryUseCase( category = event.category ) _state.update { it.copy( - categories = getCategories.execute() + categories = getCategoriesUseCase() ) } } @@ -187,7 +182,7 @@ class SettingsModel @Inject constructor( is SettingsEvent.OnUpdateCategorySort -> { viewModelScope.launch { - updateCategorySort.execute( + updateCategorySortingUseCase( categorySort = CategorySort( categoryId = event.categoryId, sortOrder = event.sortOrder, @@ -196,7 +191,7 @@ class SettingsModel @Inject constructor( ) _state.update { it.copy( - categoriesSort = getCategoriesSort.execute() + categoriesSort = getCategorySortingUseCase() ) } } @@ -206,7 +201,8 @@ class SettingsModel @Inject constructor( viewModelScope.launch { cancelColorPresetJobs() selectColorPresetJob = launch { - val colorPreset = event.id.getColorPresetById() ?: return@launch + val colorPreset = _state.value.colorPresets.getColorPresetById(event.id) + ?: return@launch yield() @@ -345,7 +341,8 @@ class SettingsModel @Inject constructor( cancelColorPresetJobs() deleteColorPresetJob = launch { if (_state.value.colorPresets.size == 1) return@launch - val colorPreset = event.id.getColorPresetById() ?: return@launch + val colorPreset = _state.value.colorPresets.getColorPresetById(event.id) + ?: return@launch yield() @@ -362,12 +359,12 @@ class SettingsModel @Inject constructor( yield() - deleteColorPreset.execute(colorPreset) - val nextColorPreset = getColorPresets.execute().getOrNull(nextPosition) + deleteColorPresetUseCase(colorPreset) + val nextColorPreset = getColorPresetsUseCase().getOrNull(nextPosition) ?: return@launch nextColorPreset.select() - val colorPresets = getColorPresets.execute() + val colorPresets = getColorPresetsUseCase() _state.update { it.copy( @@ -389,7 +386,8 @@ class SettingsModel @Inject constructor( viewModelScope.launch { cancelColorPresetJobs() updateTitleColorPresetJob = launch { - val colorPreset = event.id.getColorPresetById() ?: return@launch + val colorPreset = _state.value.colorPresets.getColorPresetById(event.id) + ?: return@launch yield() @@ -399,7 +397,7 @@ class SettingsModel @Inject constructor( yield() - updateColorPreset.execute(updatedColorPreset) + updateColorPresetUseCase(updatedColorPreset) _state.update { it.copy( selectedColorPreset = updatedColorPreset, @@ -416,7 +414,8 @@ class SettingsModel @Inject constructor( viewModelScope.launch { cancelColorPresetJobs() shuffleColorPresetJob = launch { - val colorPreset = event.id.getColorPresetById() ?: return@launch + val colorPreset = _state.value.colorPresets.getColorPresetById(event.id) + ?: return@launch yield() @@ -435,7 +434,7 @@ class SettingsModel @Inject constructor( yield() - updateColorPreset.execute(shuffledColorPreset) + updateColorPresetUseCase(shuffledColorPreset) _state.update { it.copy( selectedColorPreset = shuffledColorPreset, @@ -458,10 +457,10 @@ class SettingsModel @Inject constructor( backgroundColor = event.backgroundColor, fontColor = event.fontColor ) - updateColorPreset.execute(newColorPreset) + updateColorPresetUseCase(newColorPreset) - getColorPresets.execute().last().select() - val colorPresets = getColorPresets.execute() + getColorPresetsUseCase().last().select() + val colorPresets = getColorPresetsUseCase() _state.update { it.copy( @@ -479,7 +478,8 @@ class SettingsModel @Inject constructor( viewModelScope.launch { cancelColorPresetJobs() updateColorColorPresetJob = launch { - val colorPreset = event.id.getColorPresetById() ?: return@launch + val colorPreset = _state.value.colorPresets.getColorPresetById(event.id) + ?: return@launch yield() @@ -492,7 +492,7 @@ class SettingsModel @Inject constructor( yield() - updateColorPreset.execute(updatedColorPreset) + updateColorPresetUseCase(updatedColorPreset) _state.update { it.copy( selectedColorPreset = updatedColorPreset, @@ -528,7 +528,7 @@ class SettingsModel @Inject constructor( viewModelScope.launch { cancelColorPresetJobs() launch { - reorderColorPresets.execute(_state.value.colorPresets) + reorderColorPresetsUseCase(_state.value.colorPresets) } } } @@ -548,7 +548,7 @@ class SettingsModel @Inject constructor( } private suspend fun ColorPreset.select(animate: Boolean = false) { - selectColorPreset.execute(this) + selectColorPresetUseCase(this) _state.update { it.copy( animateColorPreset = animate @@ -556,9 +556,9 @@ class SettingsModel @Inject constructor( } } - private fun Int.getColorPresetById(): ColorPreset? { - return _state.value.colorPresets.firstOrNull { - it.id == this + private fun List.getColorPresetById(id: Int): ColorPreset? { + return firstOrNull { + it.id == id } } From 1d73fd8a91913cf3d7734a9fa56fca8ffcdb30d3 Mon Sep 17 00:00:00 2001 From: Acclorite <2ma0bhpk@anonaddy.com> Date: Mon, 2 Jun 2025 20:41:52 +0300 Subject: [PATCH 4/7] refactor(domain): move models in domain to model/ --- .../ua/acclorite/book_story/data/mapper/book/BookMapper.kt | 2 +- .../acclorite/book_story/data/mapper/book/BookMapperImpl.kt | 2 +- .../book_story/data/mapper/category/CategoryMapper.kt | 2 +- .../book_story/data/mapper/category/CategoryMapperImpl.kt | 2 +- .../data/mapper/category_sort/CategorySortMapper.kt | 2 +- .../data/mapper/category_sort/CategorySortSortMapperImpl.kt | 2 +- .../data/mapper/color_preset/ColorPresetMapper.kt | 2 +- .../data/mapper/color_preset/ColorPresetMapperImpl.kt | 2 +- .../ua/acclorite/book_story/data/mapper/file/FileMapper.kt | 2 +- .../acclorite/book_story/data/mapper/file/FileMapperImpl.kt | 2 +- .../book_story/data/mapper/history/HistoryMapper.kt | 2 +- .../book_story/data/mapper/history/HistoryMapperImpl.kt | 2 +- .../book_story/data/model/library/BookWithCover.kt | 2 +- .../ua/acclorite/book_story/data/parser/DocumentParser.kt | 2 +- .../java/ua/acclorite/book_story/data/parser/TextParser.kt | 2 +- .../ua/acclorite/book_story/data/parser/TextParserImpl.kt | 2 +- .../acclorite/book_story/data/parser/epub/EpubFileParser.kt | 2 +- .../acclorite/book_story/data/parser/epub/EpubTextParser.kt | 2 +- .../acclorite/book_story/data/parser/fb2/Fb2FileParser.kt | 2 +- .../acclorite/book_story/data/parser/html/HtmlFileParser.kt | 2 +- .../acclorite/book_story/data/parser/html/HtmlTextParser.kt | 2 +- .../acclorite/book_story/data/parser/pdf/PdfFileParser.kt | 2 +- .../acclorite/book_story/data/parser/pdf/PdfTextParser.kt | 2 +- .../acclorite/book_story/data/parser/txt/TxtFileParser.kt | 2 +- .../acclorite/book_story/data/parser/txt/TxtTextParser.kt | 2 +- .../acclorite/book_story/data/parser/xml/XmlTextParser.kt | 2 +- .../book_story/data/repository/BookRepositoryImpl.kt | 4 ++-- .../book_story/data/repository/CategoryRepositoryImpl.kt | 4 ++-- .../book_story/data/repository/ColorPresetRepositoryImpl.kt | 2 +- .../book_story/data/repository/FileSystemRepositoryImpl.kt | 2 +- .../book_story/data/repository/HistoryRepositoryImpl.kt | 2 +- .../acclorite/book_story/data/service/FileProviderImpl.kt | 2 +- .../ua/acclorite/book_story/domain/{ => model}/file/File.kt | 2 +- .../book_story/domain/{ => model}/history/History.kt | 4 ++-- .../acclorite/book_story/domain/{ => model}/library/Book.kt | 2 +- .../book_story/domain/{ => model}/library/Category.kt | 2 +- .../book_story/domain/{ => model}/library/CategorySort.kt | 2 +- .../book_story/domain/{ => model}/reader/ColorPreset.kt | 2 +- .../book_story/domain/{ => model}/reader/ReaderText.kt | 2 +- .../book_story/domain/repository/BookRepository.kt | 4 ++-- .../book_story/domain/repository/CategoryRepository.kt | 4 ++-- .../book_story/domain/repository/ColorPresetRepository.kt | 2 +- .../book_story/domain/repository/FileSystemRepository.kt | 2 +- .../book_story/domain/repository/HistoryRepository.kt | 2 +- .../ua/acclorite/book_story/domain/service/FileProvider.kt | 2 +- .../book_story/domain/use_case/book/AddBookUseCase.kt | 2 +- .../book_story/domain/use_case/book/DeleteBookUseCase.kt | 2 +- .../book_story/domain/use_case/book/GetBookUseCase.kt | 2 +- .../book_story/domain/use_case/book/GetTextUseCase.kt | 2 +- .../book_story/domain/use_case/book/SearchBooksUseCase.kt | 2 +- .../book_story/domain/use_case/book/UpdateBookUseCase.kt | 2 +- .../domain/use_case/category/AddCategoryUseCase.kt | 2 +- .../domain/use_case/category/DeleteCategoryUseCase.kt | 2 +- .../domain/use_case/category/GetCategoriesUseCase.kt | 2 +- .../domain/use_case/category/GetCategorySortingUseCase.kt | 2 +- .../use_case/category/UpdateCategoriesOrderUseCase.kt | 2 +- .../use_case/category/UpdateCategorySortingUseCase.kt | 2 +- .../domain/use_case/category/UpdateCategoryUseCase.kt | 2 +- .../use_case/color_preset/DeleteColorPresetUseCase.kt | 2 +- .../domain/use_case/color_preset/GetColorPresetsUseCase.kt | 2 +- .../use_case/color_preset/ReorderColorPresetsUseCase.kt | 2 +- .../use_case/color_preset/SelectColorPresetUseCase.kt | 2 +- .../use_case/color_preset/UpdateColorPresetUseCase.kt | 2 +- .../domain/use_case/file_system/GetBookFromFileUseCase.kt | 2 +- .../domain/use_case/file_system/SearchFilesUseCase.kt | 2 +- .../book_story/domain/use_case/history/AddHistoryUseCase.kt | 2 +- .../domain/use_case/history/DeleteHistoryUseCase.kt | 2 +- .../domain/use_case/history/GetHistoryForBookUseCase.kt | 2 +- .../book_story/domain/use_case/history/GetHistoryUseCase.kt | 2 +- .../book_story/presentation/book_info/BookInfoEvent.kt | 2 +- .../book_story/presentation/book_info/BookInfoState.kt | 2 +- .../acclorite/book_story/presentation/browse/BrowseModel.kt | 2 +- .../book_story/presentation/history/HistoryEvent.kt | 2 +- .../book_story/presentation/history/HistoryModel.kt | 2 +- .../book_story/presentation/history/model/GroupedHistory.kt | 2 +- .../book_story/presentation/library/LibraryEvent.kt | 2 +- .../book_story/presentation/library/LibraryModel.kt | 2 +- .../book_story/presentation/library/model/SelectableBook.kt | 2 +- .../acclorite/book_story/presentation/reader/ReaderEvent.kt | 2 +- .../acclorite/book_story/presentation/reader/ReaderModel.kt | 2 +- .../acclorite/book_story/presentation/reader/ReaderState.kt | 6 +++--- .../book_story/presentation/settings/SettingsEvent.kt | 2 +- .../book_story/presentation/settings/SettingsModel.kt | 4 ++-- .../book_story/presentation/settings/SettingsState.kt | 6 +++--- .../book_story/ui/book_info/BookInfoAuthorDialog.kt | 2 +- .../book_story/ui/book_info/BookInfoBottomSheet.kt | 2 +- .../ui/book_info/BookInfoChangeCoverBottomSheet.kt | 2 +- .../ua/acclorite/book_story/ui/book_info/BookInfoContent.kt | 4 ++-- .../book_story/ui/book_info/BookInfoDescriptionDialog.kt | 2 +- .../book_story/ui/book_info/BookInfoDetailsBottomSheet.kt | 2 +- .../ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt | 4 ++-- .../ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt | 2 +- .../book_story/ui/book_info/BookInfoLayoutButton.kt | 2 +- .../book_story/ui/book_info/BookInfoLayoutDescription.kt | 2 +- .../acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt | 2 +- .../book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt | 2 +- .../book_story/ui/book_info/BookInfoLayoutInfoCover.kt | 2 +- .../book_story/ui/book_info/BookInfoLayoutInfoProgress.kt | 2 +- .../book_story/ui/book_info/BookInfoLayoutInfoTitle.kt | 2 +- .../acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt | 4 ++-- .../acclorite/book_story/ui/book_info/BookInfoPathDialog.kt | 2 +- .../acclorite/book_story/ui/book_info/BookInfoScaffold.kt | 2 +- .../book_story/ui/book_info/BookInfoTitleDialog.kt | 2 +- .../ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt | 2 +- .../book_story/ui/common/constants/CommonConstants.kt | 4 ++-- .../java/ua/acclorite/book_story/ui/history/HistoryItem.kt | 2 +- .../acclorite/book_story/ui/library/LibraryBottomSheet.kt | 4 ++-- .../ua/acclorite/book_story/ui/library/LibraryContent.kt | 4 ++-- .../ua/acclorite/book_story/ui/library/LibraryDialog.kt | 2 +- .../book_story/ui/library/LibraryFilterBottomSheet.kt | 4 ++-- .../ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt | 2 +- .../java/ua/acclorite/book_story/ui/library/LibraryPager.kt | 4 ++-- .../ua/acclorite/book_story/ui/library/LibraryScaffold.kt | 4 ++-- .../java/ua/acclorite/book_story/ui/library/LibraryTabs.kt | 2 +- .../ua/acclorite/book_story/ui/library/LibraryTopBar.kt | 2 +- .../ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt | 4 ++-- .../acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt | 2 +- .../acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt | 2 +- .../java/ua/acclorite/book_story/ui/reader/ReaderContent.kt | 6 +++--- .../java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt | 2 +- .../java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt | 2 +- .../ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt | 2 +- .../book_story/ui/reader/ReaderLayoutTextChapter.kt | 2 +- .../acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt | 2 +- .../book_story/ui/reader/ReaderLayoutTextParagraph.kt | 2 +- .../ua/acclorite/book_story/ui/reader/ReaderScaffold.kt | 6 +++--- .../java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt | 4 ++-- .../book_story/ui/reader/model/ExpandableChapter.kt | 2 +- .../appearance/colors/components/ColorPresetOption.kt | 2 +- .../categories/components/LibraryCategoriesOption.kt | 2 +- 130 files changed, 155 insertions(+), 155 deletions(-) rename app/src/main/java/ua/acclorite/book_story/domain/{ => model}/file/File.kt (88%) rename app/src/main/java/ua/acclorite/book_story/domain/{ => model}/history/History.kt (73%) rename app/src/main/java/ua/acclorite/book_story/domain/{ => model}/library/Book.kt (92%) rename app/src/main/java/ua/acclorite/book_story/domain/{ => model}/library/Category.kt (84%) rename app/src/main/java/ua/acclorite/book_story/domain/{ => model}/library/CategorySort.kt (88%) rename app/src/main/java/ua/acclorite/book_story/domain/{ => model}/reader/ColorPreset.kt (89%) rename app/src/main/java/ua/acclorite/book_story/domain/{ => model}/reader/ReaderText.kt (93%) diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt index 76bf1369..c6c31b75 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.book import ua.acclorite.book_story.data.local.dto.BookEntity -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book interface BookMapper { fun toBookEntity(book: Book): BookEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt index 0a8a1328..911620eb 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/book/BookMapperImpl.kt @@ -10,7 +10,7 @@ import androidx.core.net.toUri import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.local.dto.BookEntity -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import javax.inject.Inject class BookMapperImpl @Inject constructor() : BookMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt index d635f34a..71de96da 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category import ua.acclorite.book_story.data.local.dto.CategoryEntity -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category interface CategoryMapper { fun toCategoryEntity(category: Category): CategoryEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt index 1426eec8..fd8f4f71 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category/CategoryMapperImpl.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category import ua.acclorite.book_story.data.local.dto.CategoryEntity -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import javax.inject.Inject class CategoryMapperImpl @Inject constructor() : CategoryMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt index bbd97a84..36a10ba9 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category_sort import ua.acclorite.book_story.data.local.dto.CategorySortEntity -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.CategorySort interface CategorySortMapper { fun toCategorySortEntity(categorySort: CategorySort): CategorySortEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt index 1a6e4170..069b44a1 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/category_sort/CategorySortSortMapperImpl.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.category_sort import ua.acclorite.book_story.data.local.dto.CategorySortEntity -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.CategorySort import javax.inject.Inject class CategorySortSortMapperImpl @Inject constructor() : CategorySortMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt index 27247d05..03a7915b 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.color_preset import ua.acclorite.book_story.data.local.dto.ColorPresetEntity -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset interface ColorPresetMapper { fun toColorPresetEntity(colorPreset: ColorPreset, order: Int): ColorPresetEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt index 1db5a93b..012038b0 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/color_preset/ColorPresetMapperImpl.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.data.mapper.color_preset import androidx.compose.ui.graphics.Color import ua.acclorite.book_story.data.local.dto.ColorPresetEntity -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import javax.inject.Inject class ColorPresetMapperImpl @Inject constructor() : ColorPresetMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt index 03dfb1e3..44d77443 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.file import ua.acclorite.book_story.data.model.file.CachedFile -import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.model.file.File interface FileMapper { fun toCachedFile(file: File): CachedFile diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt index 18b55d1e..161ca48c 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/file/FileMapperImpl.kt @@ -10,7 +10,7 @@ import android.app.Application import androidx.core.net.toUri import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.file.CachedFileCompat -import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.model.file.File import javax.inject.Inject class FileMapperImpl @Inject constructor( diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapper.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapper.kt index b2720343..aa606d4f 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapper.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapper.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.history import ua.acclorite.book_story.data.local.dto.HistoryEntity -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History interface HistoryMapper { suspend fun toHistoryEntity(history: History): HistoryEntity diff --git a/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapperImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapperImpl.kt index a0d00720..60736be8 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapperImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/mapper/history/HistoryMapperImpl.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.mapper.history import ua.acclorite.book_story.data.local.dto.HistoryEntity -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import javax.inject.Inject class HistoryMapperImpl @Inject constructor() : HistoryMapper { diff --git a/app/src/main/java/ua/acclorite/book_story/data/model/library/BookWithCover.kt b/app/src/main/java/ua/acclorite/book_story/data/model/library/BookWithCover.kt index 3172ec7d..b779c13a 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/model/library/BookWithCover.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/model/library/BookWithCover.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.data.model.library import androidx.compose.runtime.Immutable import ua.acclorite.book_story.core.CoverImage -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book @Immutable data class BookWithCover( diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt index 8688736a..ef5cb8d5 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt @@ -11,7 +11,7 @@ import android.graphics.BitmapFactory import androidx.compose.ui.graphics.asImageBitmap import kotlinx.coroutines.yield import org.jsoup.nodes.Document -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.ui.common.util.clearAllMarkdown import ua.acclorite.book_story.ui.common.util.clearMarkdown import ua.acclorite.book_story.ui.common.util.containsVisibleText diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt index ed1cae53..969a51f7 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParser.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.data.parser import ua.acclorite.book_story.data.model.file.CachedFile -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText interface TextParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt index 2fa9eb01..9f6916cd 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/TextParserImpl.kt @@ -15,7 +15,7 @@ import ua.acclorite.book_story.data.parser.html.HtmlTextParser import ua.acclorite.book_story.data.parser.pdf.PdfTextParser import ua.acclorite.book_story.data.parser.txt.TxtTextParser import ua.acclorite.book_story.data.parser.xml.XmlTextParser -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import javax.inject.Inject private const val TEXT_PARSER = "Text Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt index 1ba2a146..0093bae8 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubFileParser.kt @@ -16,7 +16,7 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import java.io.File import java.util.zip.ZipFile import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt index 27709890..8e589653 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt @@ -20,7 +20,7 @@ import org.jsoup.Jsoup import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.DocumentParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.ui.common.constants.provideImageExtensions import ua.acclorite.book_story.ui.common.util.addAll import ua.acclorite.book_story.ui.common.util.containsVisibleText diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt index 3ce3b457..ce50fd5f 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/fb2/Fb2FileParser.kt @@ -13,7 +13,7 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import javax.inject.Inject class Fb2FileParser @Inject constructor() : FileParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt index 2812e0e9..b51bbaba 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlFileParser.kt @@ -13,7 +13,7 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import javax.inject.Inject class HtmlFileParser @Inject constructor() : FileParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt index 036d6957..c8043c73 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/html/HtmlTextParser.kt @@ -13,7 +13,7 @@ import org.jsoup.parser.Parser import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.DocumentParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import javax.inject.Inject private const val HTML_TAG = "HTML Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt index 323ad4d4..bd13dd39 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfFileParser.kt @@ -14,7 +14,7 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import javax.inject.Inject class PdfFileParser @Inject constructor( diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt index 9b70647d..46c10a2c 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt @@ -15,7 +15,7 @@ import kotlinx.coroutines.yield import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.MarkdownParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.ui.common.util.clearAllMarkdown import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt index 82cbb5a5..17fc2883 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtFileParser.kt @@ -11,7 +11,7 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import javax.inject.Inject class TxtFileParser @Inject constructor() : FileParser { diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt index 4b06d567..57277004 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt @@ -13,7 +13,7 @@ import kotlinx.coroutines.yield import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.MarkdownParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.ui.common.util.clearAllMarkdown import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt index 6bc6a548..57a0625f 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/xml/XmlTextParser.kt @@ -13,7 +13,7 @@ import org.jsoup.parser.Parser import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.DocumentParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import javax.inject.Inject private const val XML_TAG = "XML Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt index ce66ee0c..cc973a36 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/BookRepositoryImpl.kt @@ -11,8 +11,8 @@ import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.book.BookMapper import ua.acclorite.book_story.data.parser.FileParser import ua.acclorite.book_story.data.parser.TextParser -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.service.FileProvider import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt index bbb54483..50dfce92 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/CategoryRepositoryImpl.kt @@ -9,8 +9,8 @@ package ua.acclorite.book_story.data.repository import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.category.CategoryMapper import ua.acclorite.book_story.data.mapper.category_sort.CategorySortMapper -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt index e803cce5..b8230bce 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/ColorPresetRepositoryImpl.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.data.repository import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.color_preset.ColorPresetMapper -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt index 9d335f7c..7670606b 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt @@ -11,7 +11,7 @@ import ua.acclorite.book_story.data.mapper.file.FileMapper import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.library.BookWithCover import ua.acclorite.book_story.data.parser.FileParser -import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.model.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository import ua.acclorite.book_story.domain.service.FileProvider import ua.acclorite.book_story.ui.common.constants.provideExtensions diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt index f7cad22a..5b0d7b6b 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/HistoryRepositoryImpl.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.data.repository import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.history.HistoryMapper -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt index 01da7ddf..70940e37 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/service/FileProviderImpl.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.data.service import android.app.Application import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.model.file.CachedFileCompat -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.service.FileProvider import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/file/File.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/domain/file/File.kt rename to app/src/main/java/ua/acclorite/book_story/domain/model/file/File.kt index 67e3a836..223add8f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/file/File.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/file/File.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.file +package ua.acclorite.book_story.domain.model.file import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/history/History.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/history/History.kt similarity index 73% rename from app/src/main/java/ua/acclorite/book_story/domain/history/History.kt rename to app/src/main/java/ua/acclorite/book_story/domain/model/history/History.kt index 6d8b3e4c..c997bc93 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/history/History.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/history/History.kt @@ -4,10 +4,10 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.history +package ua.acclorite.book_story.domain.model.history import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book @Immutable data class History( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/Book.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/library/Book.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/domain/library/Book.kt rename to app/src/main/java/ua/acclorite/book_story/domain/model/library/Book.kt index 0a370c4b..83b6e2b9 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/Book.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/library/Book.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library +package ua.acclorite.book_story.domain.model.library import android.net.Uri import android.os.Parcelable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/Category.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/library/Category.kt similarity index 84% rename from app/src/main/java/ua/acclorite/book_story/domain/library/Category.kt rename to app/src/main/java/ua/acclorite/book_story/domain/model/library/Category.kt index 4d243159..c8ab1cdb 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/Category.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/library/Category.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library +package ua.acclorite.book_story.domain.model.library import androidx.compose.runtime.Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/domain/library/CategorySort.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/library/CategorySort.kt similarity index 88% rename from app/src/main/java/ua/acclorite/book_story/domain/library/CategorySort.kt rename to app/src/main/java/ua/acclorite/book_story/domain/model/library/CategorySort.kt index abcfe0e2..bcb6d8e8 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/library/CategorySort.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/library/CategorySort.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.library +package ua.acclorite.book_story.domain.model.library import androidx.compose.runtime.Immutable import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ColorPreset.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ColorPreset.kt similarity index 89% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ColorPreset.kt rename to app/src/main/java/ua/acclorite/book_story/domain/model/reader/ColorPreset.kt index c7336937..d7d89074 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ColorPreset.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ColorPreset.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.domain.model.reader import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color diff --git a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderText.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ReaderText.kt similarity index 93% rename from app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderText.kt rename to app/src/main/java/ua/acclorite/book_story/domain/model/reader/ReaderText.kt index 0f18cd6d..dfbc0a56 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/reader/ReaderText.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ReaderText.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.domain.reader +package ua.acclorite.book_story.domain.model.reader import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.ImageBitmap diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt index 0a9bc798..f5cf5d3f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/BookRepository.kt @@ -7,8 +7,8 @@ package ua.acclorite.book_story.domain.repository import ua.acclorite.book_story.core.CoverImage -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ReaderText interface BookRepository { suspend fun searchBooks( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt index abb41e0a..3634682e 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/CategoryRepository.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.repository -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort interface CategoryRepository { suspend fun addCategory( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt index 507ff8ce..45f17bcb 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/ColorPresetRepository.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.repository -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset interface ColorPresetRepository { suspend fun getColorPresets(): Result> diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt index 67d3606c..b55ae026 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/FileSystemRepository.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.domain.repository import ua.acclorite.book_story.data.model.library.BookWithCover -import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.model.file.File interface FileSystemRepository { suspend fun searchFiles( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt b/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt index c08cc2a5..621ec8cd 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/repository/HistoryRepository.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.repository -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History interface HistoryRepository { suspend fun getHistoryForBook( diff --git a/app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt b/app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt index 460f2cd1..300e31d8 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/service/FileProvider.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.domain.service import ua.acclorite.book_story.data.model.file.CachedFile -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book interface FileProvider { fun getFileFromBook(book: Book): Result diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt index f1e17e9f..a97ddeab 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt @@ -11,7 +11,7 @@ import ua.acclorite.book_story.core.CoverImage import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI import ua.acclorite.book_story.core.logW -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.service.CoverImageHandler import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt index ff886204..88b49296 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.domain.use_case.book import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI import ua.acclorite.book_story.core.logW -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.repository.HistoryRepository import ua.acclorite.book_story.domain.service.CoverImageHandler diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt index 3271e004..74e1dc1d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.book import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt index e6cf44d8..54ccaa73 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.book import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt index f77c3d2e..3dfcdbe8 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.book import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt index fd8b3fde..970eb883 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.book import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt index cd4b1936..4226e377 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.category import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt index ed974300..13f66047 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.domain.use_case.category import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt index 82d853c9..274e7c84 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.category import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt index 42c8288e..03889afd 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.category import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt index 5a33cc1a..e81f8800 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.domain.use_case.category import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt index 966b5e59..439bcf5e 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.category import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt index f34bdd3e..0f2ced1a 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.domain.use_case.category import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt index ac0ff5bd..ff9a9d85 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.color_preset import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt index 480aeddc..601ab326 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.color_preset import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt index f11d878d..d7d97c53 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.color_preset import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt index 7099e495..c62a8f18 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.color_preset import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt index a16488a0..12987857 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.color_preset import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt index 12325c35..f3471423 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt @@ -13,7 +13,7 @@ import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.model.common.NullableBook import ua.acclorite.book_story.data.model.common.NullableBook.NotNull import ua.acclorite.book_story.data.model.common.NullableBook.Null -import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.model.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt index 6b55c857..86500e3f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.file_system import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.model.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt index 8e5a8474..fa27a8ba 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.history import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt index 0d8983a4..95b87178 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.history import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt index 8052b788..597af272 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.history import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt index bb38d9ae..890eba60 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.domain.use_case.history import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoEvent.kt index 66294c74..8ae17e60 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoEvent.kt @@ -10,7 +10,7 @@ import android.content.Context import android.net.Uri import androidx.compose.runtime.Immutable import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category @Immutable sealed class BookInfoEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt index b992ac02..23ab5541 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.presentation.book_info import androidx.compose.runtime.Immutable import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.ui.common.constants.provideEmptyBook @Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt index 1666c728..736b2fa4 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt @@ -24,7 +24,7 @@ import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R import ua.acclorite.book_story.data.model.common.NullableBook -import ua.acclorite.book_story.domain.file.File +import ua.acclorite.book_story.domain.model.file.File import ua.acclorite.book_story.domain.use_case.book.AddBookUseCase import ua.acclorite.book_story.domain.use_case.file_system.GetBookFromFileUseCase import ua.acclorite.book_story.domain.use_case.file_system.SearchFilesUseCase diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEvent.kt index 06846067..22d76397 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryEvent.kt @@ -10,7 +10,7 @@ import android.content.Context import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Immutable import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History @Immutable sealed class HistoryEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt index 47a67e1e..aa7c3ad3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt @@ -23,7 +23,7 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.use_case.book.GetBookUseCase import ua.acclorite.book_story.domain.use_case.history.AddHistoryUseCase import ua.acclorite.book_story.domain.use_case.history.DeleteHistoryUseCase diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/model/GroupedHistory.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/model/GroupedHistory.kt index 3af88b58..05dfd09b 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/model/GroupedHistory.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/model/GroupedHistory.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.presentation.history.model import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History @Immutable data class GroupedHistory( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEvent.kt index d0094105..c2799fec 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryEvent.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.presentation.library import android.content.Context import androidx.compose.runtime.Immutable import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category @Immutable sealed class LibraryEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt index 4f6af2c1..6f6481b7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt @@ -22,7 +22,7 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.use_case.book.DeleteBookUseCase import ua.acclorite.book_story.domain.use_case.book.SearchBooksUseCase import ua.acclorite.book_story.domain.use_case.book.UpdateBookUseCase diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/model/SelectableBook.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/model/SelectableBook.kt index efc24628..e57802e3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/model/SelectableBook.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/model/SelectableBook.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.presentation.library.model import androidx.compose.runtime.Immutable import ua.acclorite.book_story.core.Selected -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book @Immutable data class SelectableBook( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderEvent.kt index aa6c0a2b..8b328bd1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderEvent.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.presentation.reader import androidx.activity.ComponentActivity import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter @Immutable sealed class ReaderEvent { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt index fc3f8d03..fed3026c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt @@ -36,7 +36,7 @@ import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.domain.use_case.book.GetBookUseCase import ua.acclorite.book_story.domain.use_case.book.GetTextUseCase import ua.acclorite.book_story.domain.use_case.book.UpdateBookUseCase diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt index 01ae8c7b..e40abf03 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt @@ -11,9 +11,9 @@ import androidx.compose.runtime.Immutable import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Drawer import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.model.Checkpoint import ua.acclorite.book_story.ui.common.constants.provideEmptyBook diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsEvent.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsEvent.kt index 5918900e..d1d64ebb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsEvent.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsEvent.kt @@ -11,7 +11,7 @@ import android.net.Uri import androidx.compose.runtime.Immutable import androidx.compose.ui.graphics.Color import ua.acclorite.book_story.core.ID -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder @Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt index 38352824..da3250b8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt @@ -20,8 +20,8 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.library.CategorySort +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.use_case.category.AddCategoryUseCase import ua.acclorite.book_story.domain.use_case.category.DeleteCategoryUseCase import ua.acclorite.book_story.domain.use_case.category.GetCategoriesUseCase diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt index d4e5f06b..6cb95461 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt @@ -8,9 +8,9 @@ package ua.acclorite.book_story.presentation.settings import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset @Immutable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoAuthorDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoAuthorDialog.kt index cdf6e86e..8b3d8e3b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoAuthorDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoAuthorDialog.kt @@ -10,7 +10,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBottomSheet.kt index e84c1e5e..926748e5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoBottomSheet.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.BottomSheet -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.presentation.book_info.BookInfoScreen diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheet.kt index 74770704..2b94d85d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoChangeCoverBottomSheet.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoContent.kt index b5ff5840..8ff07ba5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoContent.kt @@ -10,8 +10,8 @@ import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDescriptionDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDescriptionDialog.kt index 0de0725b..c800edfe 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDescriptionDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDescriptionDialog.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt index 165f4827..c7f2fb3a 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt @@ -19,7 +19,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.data.model.file.CachedFileCompat -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt index de2de5e9..641faf2c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDialog.kt @@ -8,8 +8,8 @@ package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.presentation.book_info.BookInfoScreen diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt index 5a9815c8..77882f61 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt @@ -17,7 +17,7 @@ import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt index f2cbe0e1..314980f6 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt @@ -15,7 +15,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.util.calculateProgress diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt index 604f917b..6b09fcb0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt @@ -39,7 +39,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.util.noRippleClickable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt index fb7aa214..63007048 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfo.kt @@ -15,7 +15,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt index 5379e05c..c3730b95 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.util.noRippleClickable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt index 149e229a..fd24c0ff 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage import ua.acclorite.book_story.ui.common.util.noRippleClickable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt index d90ec1c2..4071f59e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.util.calculateProgress diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt index 3a1f30bb..ed92f3a6 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt @@ -10,7 +10,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.util.noRippleClickable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt index d6297a65..2540169f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoMoveDialog.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.components.dialog.CheckboxDialogItem diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoPathDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoPathDialog.kt index 995ee971..a5c7521e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoPathDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoPathDialog.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScaffold.kt index 8394b2e2..c323d266 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoScaffold.kt @@ -16,7 +16,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTitleDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTitleDialog.kt index 7a3972b3..8c1e20fc 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTitleDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTitleDialog.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.ui.book_info import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt index 9c838951..5c94c1cb 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt @@ -15,7 +15,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.presentation.theme.DefaultTransition import ua.acclorite.book_story.ui.common.components.common.IconButton diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt index 679787a6..8884853b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt @@ -10,8 +10,8 @@ package ua.acclorite.book_story.ui.common.constants import androidx.compose.ui.graphics.Color import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ColorPreset // Main State fun provideMainState() = "main_state" diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt index 582201a5..aac1c837 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt @@ -36,7 +36,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.history.History +import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBottomSheet.kt index 9c038893..267fb02e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBottomSheet.kt @@ -9,8 +9,8 @@ package ua.acclorite.book_story.ui.library import androidx.compose.foundation.pager.PagerState import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.BottomSheet -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryContent.kt index 05a932b2..9c53f569 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryContent.kt @@ -13,8 +13,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.focus.FocusRequester import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDialog.kt index bf01e7ff..1a092f8f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryDialog.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.ui.library import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Dialog -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.presentation.library.model.SelectableBook diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheet.kt index 6571c8f5..371fa6a8 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryFilterBottomSheet.kt @@ -22,8 +22,8 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder import ua.acclorite.book_story.presentation.main.MainEvent diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt index 61712c51..8b66c8d1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryMoveDialog.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.model.SelectableBook import ua.acclorite.book_story.ui.common.components.common.StyledText diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt index cbfcdc35..33acf03c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt @@ -14,8 +14,8 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScaffold.kt index a26c736e..798aaef0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryScaffold.kt @@ -18,8 +18,8 @@ import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester -import ua.acclorite.book_story.domain.library.Category -import ua.acclorite.book_story.domain.library.CategorySort +import ua.acclorite.book_story.domain.model.library.Category +import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTabs.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTabs.kt index 9cde6e16..9ea5a29b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTabs.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTabs.kt @@ -29,7 +29,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.ui.common.components.common.StyledText @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTopBar.kt index a3f8762f..9de12052 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryTopBar.kt @@ -40,7 +40,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.library.LibraryEvent import ua.acclorite.book_story.presentation.library.model.SelectableBook import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt index 908102c0..19f9f45d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt @@ -30,8 +30,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.Checkpoint import ua.acclorite.book_story.presentation.theme.HorizontalExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt index f7097f31..3095a99f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBarSlider.kt @@ -11,7 +11,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Slider import androidx.compose.material3.SliderDefaults import androidx.compose.runtime.Composable -import ua.acclorite.book_story.domain.library.Book +import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.reader.ReaderEvent @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt index 8c6c6a6f..1a609d32 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.draw.rotate import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.common.StyledText diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderContent.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderContent.kt index 58369ae3..cd368945 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderContent.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderContent.kt @@ -21,9 +21,9 @@ import androidx.compose.ui.unit.TextUnit import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Drawer import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.Checkpoint diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt index c71e1450..9e24408f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderDrawer.kt @@ -8,7 +8,7 @@ package ua.acclorite.book_story.ui.reader import androidx.compose.runtime.Composable import ua.acclorite.book_story.core.Drawer -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.ReaderScreen diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt index aad18fdd..c0d7b911 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt @@ -33,7 +33,7 @@ import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.coerceAtLeast import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt index 68e29160..07a71e94 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutText.kt @@ -16,7 +16,7 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextChapter.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextChapter.kt index 74f86661..88a56533 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextChapter.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextChapter.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.common.components.common.StyledText diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt index fefe373b..1775fbcc 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextImage.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.unit.Dp -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt index 1f9687bf..c3599a0f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.text.style.LineBreak import androidx.compose.ui.text.style.TextIndent import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.reader.ReaderText.Text +import ua.acclorite.book_story.domain.model.reader.ReaderText.Text import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScaffold.kt index cd7861ad..b937d4b0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScaffold.kt @@ -26,9 +26,9 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.TextUnit -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ReaderText -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.Checkpoint diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt index af7bdf4f..1e7c0fa8 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Book -import ua.acclorite.book_story.domain.reader.ReaderText.Chapter +import ua.acclorite.book_story.domain.model.library.Book +import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.presentation.theme.readerBarsColor diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ExpandableChapter.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ExpandableChapter.kt index 56995e46..80c51a07 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ExpandableChapter.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/model/ExpandableChapter.kt @@ -7,7 +7,7 @@ package ua.acclorite.book_story.ui.reader.model import androidx.compose.runtime.Immutable -import ua.acclorite.book_story.domain.reader.ReaderText +import ua.acclorite.book_story.domain.model.reader.ReaderText @Immutable data class ExpandableChapter( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt index ed344b97..ff051a27 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt @@ -64,7 +64,7 @@ import sh.calvin.reorderable.ReorderableItem import sh.calvin.reorderable.rememberReorderableLazyListState import ua.acclorite.book_story.R import ua.acclorite.book_story.core.Selected -import ua.acclorite.book_story.domain.reader.ColorPreset +import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.presentation.settings.SettingsModel import ua.acclorite.book_story.presentation.theme.FadeTransitionPreservingSpace diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt index c9f2ebbd..5b7c1187 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt @@ -47,7 +47,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import sh.calvin.reorderable.ReorderableColumn import sh.calvin.reorderable.ReorderableScope import ua.acclorite.book_story.R -import ua.acclorite.book_story.domain.library.Category +import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.presentation.settings.SettingsModel From d1b7376633a1e2ce9de05bee80333a9e7235c2d7 Mon Sep 17 00:00:00 2001 From: Acclorite <2ma0bhpk@anonaddy.com> Date: Tue, 3 Jun 2025 09:48:47 +0300 Subject: [PATCH 5/7] refactor: move presentation/theme to ui/theme --- .../presentation/crash/CrashActivity.kt | 4 +- .../presentation/main/MainActivity.kt | 8 ++-- .../book_story/presentation/main/MainModel.kt | 2 +- .../book_story/presentation/main/MainState.kt | 4 +- .../book_story/ui/book_info/BookInfoTopBar.kt | 2 +- .../ui/browse/BrowseEmptyPlaceholder.kt | 2 +- .../ui/browse/BrowseGridFileItem.kt | 2 +- .../book_story/ui/browse/BrowseListItem.kt | 2 +- .../book_story/ui/browse/BrowseScaffold.kt | 2 +- .../acclorite/book_story/ui/help/HelpItem.kt | 2 +- .../ui/history/HistoryEmptyPlaceholder.kt | 2 +- .../book_story/ui/history/HistoryLayout.kt | 2 +- .../ui/library/LibraryEmptyPlaceholder.kt | 2 +- .../book_story/ui/library/LibraryPager.kt | 2 +- .../ui/license_info/LicenseInfoItem.kt | 2 +- .../ui/license_info/LicenseInfoScaffold.kt | 2 +- .../book_story/ui/reader/ReaderBottomBar.kt | 4 +- .../ui/reader/ReaderChaptersDrawer.kt | 2 +- .../book_story/ui/reader/ReaderTopBar.kt | 2 +- .../ui/settings/SettingsLayoutItem.kt | 2 +- .../colors/components/ColorPresetOption.kt | 4 +- .../components/AbsoluteDarkOption.kt | 2 +- .../components/AppThemeOption.kt | 4 +- .../components/PureDarkOption.kt | 2 +- .../components/ThemeContrastOption.kt | 4 +- .../components/BrowseGridSizeOption.kt | 2 +- .../scan/components/BrowseScanOption.kt | 2 +- .../components/LibraryCategoriesOption.kt | 4 +- .../components/LibraryGridSizeOption.kt | 2 +- .../components/LibraryTitlePositionOption.kt | 2 +- .../components/ImagesAlignmentOption.kt | 2 +- .../components/ImagesColorEffectsOption.kt | 2 +- .../ImagesCornersRoundnessOption.kt | 2 +- .../images/components/ImagesWidthOption.kt | 2 +- .../components/ProgressBarAlignmentOption.kt | 2 +- .../components/ProgressBarFontSizeOption.kt | 2 +- .../components/ProgressBarPaddingOption.kt | 2 +- .../HorizontalGestureAlphaAnimOption.kt | 2 +- .../HorizontalGesturePullAnimOption.kt | 2 +- .../HorizontalGestureScrollOption.kt | 2 +- .../HorizontalGestureSensitivityOption.kt | 2 +- .../HighlightedReadingThicknessOption.kt | 2 +- .../PerceptionExpanderPaddingOption.kt | 2 +- .../PerceptionExpanderThicknessOption.kt | 2 +- .../components/ScreenBrightnessOption.kt | 2 +- .../components/ParagraphIndentationOption.kt | 2 +- .../ui/start/StartContentTransition.kt | 2 +- .../{presentation => ui}/theme/Animations.kt | 2 +- .../{presentation => ui}/theme/Color.kt | 40 +++++++++---------- .../{presentation => ui}/theme/Theme.kt | 2 +- .../theme/ThemeExtensions.kt | 2 +- .../{presentation => ui}/theme/ThemeLogger.kt | 2 +- .../{presentation => ui}/theme/Transitions.kt | 2 +- .../theme/color/AquaTheme.kt | 2 +- .../theme/color/BlackTheme.kt | 2 +- .../theme/color/BlueTheme.kt | 2 +- .../theme/color/DynamicTheme.kt | 2 +- .../theme/color/Green2Theme.kt | 2 +- .../theme/color/GreenGrayTheme.kt | 2 +- .../theme/color/GreenTheme.kt | 2 +- .../theme/color/LavenderTheme.kt | 2 +- .../theme/color/MarshTheme.kt | 2 +- .../theme/color/Pink2Theme.kt | 2 +- .../theme/color/PinkTheme.kt | 2 +- .../theme/color/PurpleGrayTheme.kt | 2 +- .../theme/color/PurpleTheme.kt | 2 +- .../theme/color/RedGrayTheme.kt | 2 +- .../theme/color/RedTheme.kt | 2 +- .../theme/color/Yellow2Theme.kt | 2 +- .../theme/color/YellowTheme.kt | 2 +- 70 files changed, 99 insertions(+), 99 deletions(-) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/Animations.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/Color.kt (77%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/Theme.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/ThemeExtensions.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/ThemeLogger.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/Transitions.kt (98%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/AquaTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/BlackTheme.kt (96%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/BlueTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/DynamicTheme.kt (97%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/Green2Theme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/GreenGrayTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/GreenTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/LavenderTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/MarshTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/Pink2Theme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/PinkTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/PurpleGrayTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/PurpleTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/RedGrayTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/RedTheme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/Yellow2Theme.kt (99%) rename app/src/main/java/ua/acclorite/book_story/{presentation => ui}/theme/color/YellowTheme.kt (99%) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashActivity.kt b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashActivity.kt index 85357319..e9ebadd3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashActivity.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashActivity.kt @@ -13,8 +13,8 @@ import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.isSystemInDarkTheme import androidx.core.view.WindowCompat import ua.acclorite.book_story.presentation.main.model.ThemeContrast -import ua.acclorite.book_story.presentation.theme.BookStoryTheme -import ua.acclorite.book_story.presentation.theme.Theme +import ua.acclorite.book_story.ui.theme.BookStoryTheme +import ua.acclorite.book_story.ui.theme.Theme class CrashActivity : AppCompatActivity() { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainActivity.kt b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainActivity.kt index 656327e0..6a08d1dd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainActivity.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainActivity.kt @@ -21,7 +21,7 @@ import androidx.core.view.WindowCompat import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import dagger.hilt.android.AndroidEntryPoint -import okhttp3.internal.immutableListOf +import kotlinx.collections.immutable.persistentListOf import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.browse.BrowseModel import ua.acclorite.book_story.presentation.browse.BrowseScreen @@ -35,13 +35,13 @@ import ua.acclorite.book_story.presentation.navigator.NavigatorItem import ua.acclorite.book_story.presentation.navigator.StackEvent import ua.acclorite.book_story.presentation.settings.SettingsModel import ua.acclorite.book_story.presentation.start.StartScreen -import ua.acclorite.book_story.presentation.theme.BookStoryTheme -import ua.acclorite.book_story.presentation.theme.Transitions import ua.acclorite.book_story.ui.common.components.navigation_bar.NavigationBar import ua.acclorite.book_story.ui.common.components.navigation_rail.NavigationRail import ua.acclorite.book_story.ui.main.MainActivityKeyboardManager import ua.acclorite.book_story.ui.navigator.Navigator import ua.acclorite.book_story.ui.navigator.NavigatorTabs +import ua.acclorite.book_story.ui.theme.BookStoryTheme +import ua.acclorite.book_story.ui.theme.Transitions import java.lang.reflect.Field @@ -88,7 +88,7 @@ class MainActivity : AppCompatActivity() { val state = mainModel.state.collectAsStateWithLifecycle() val isLoaded = mainModel.isReady.collectAsStateWithLifecycle() - val tabs = immutableListOf( + val tabs = persistentListOf( NavigatorItem( screen = LibraryScreen, title = R.string.library_screen, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt index edfcb092..6122f1e1 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt @@ -40,10 +40,10 @@ import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount import ua.acclorite.book_story.presentation.reader.model.ReaderScreenOrientation import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.presentation.theme.toTheme import ua.acclorite.book_story.ui.common.constants.DataStoreConstants import ua.acclorite.book_story.ui.common.constants.provideFonts import ua.acclorite.book_story.ui.common.constants.provideMainState +import ua.acclorite.book_story.ui.theme.toTheme import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt index 6d034d55..956c250e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt @@ -28,11 +28,11 @@ import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount import ua.acclorite.book_story.presentation.reader.model.ReaderScreenOrientation import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.presentation.theme.Theme -import ua.acclorite.book_story.presentation.theme.toTheme import ua.acclorite.book_story.ui.common.constants.DataStoreConstants import ua.acclorite.book_story.ui.common.constants.provideFonts import ua.acclorite.book_story.ui.common.constants.provideLanguages +import ua.acclorite.book_story.ui.theme.Theme +import ua.acclorite.book_story.ui.theme.toTheme import java.util.Locale /** diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt index 5c94c1cb..84054847 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoTopBar.kt @@ -17,12 +17,12 @@ import androidx.compose.runtime.remember import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent -import ua.acclorite.book_story.presentation.theme.DefaultTransition import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBar import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBarData import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton +import ua.acclorite.book_story.ui.theme.DefaultTransition @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEmptyPlaceholder.kt index 5f0ba6fb..fd688bb0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseEmptyPlaceholder.kt @@ -13,9 +13,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.theme.Transitions import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility import ua.acclorite.book_story.ui.common.components.placeholder.EmptyPlaceholder +import ua.acclorite.book_story.ui.theme.Transitions @Composable fun BoxScope.BrowseEmptyPlaceholder( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridFileItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridFileItem.kt index ce8a958e..e29b5fe4 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridFileItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridFileItem.kt @@ -29,9 +29,9 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.browse.model.SelectableFile -import ua.acclorite.book_story.presentation.theme.DefaultTransition import ua.acclorite.book_story.ui.common.components.common.CircularCheckbox import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.theme.DefaultTransition import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListItem.kt index f9d9327c..b3c8fd2e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListItem.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import ua.acclorite.book_story.presentation.browse.model.SelectableFile -import ua.acclorite.book_story.presentation.theme.FadeTransitionPreservingSpace import ua.acclorite.book_story.ui.common.components.common.CircularCheckbox +import ua.acclorite.book_story.ui.theme.FadeTransitionPreservingSpace @Composable fun BrowseListItem( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScaffold.kt index bab29ae4..aa7ae5a2 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseScaffold.kt @@ -23,7 +23,7 @@ import ua.acclorite.book_story.presentation.browse.BrowseEvent import ua.acclorite.book_story.presentation.browse.model.BrowseLayout import ua.acclorite.book_story.presentation.browse.model.SelectableFile import ua.acclorite.book_story.presentation.main.MainEvent -import ua.acclorite.book_story.presentation.theme.DefaultTransition +import ua.acclorite.book_story.ui.theme.DefaultTransition @OptIn(ExperimentalMaterialApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt index 6ec84580..32db97d9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt @@ -38,11 +38,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.model.Position import ua.acclorite.book_story.ui.common.util.noRippleClickable import ua.acclorite.book_story.ui.help.model.HelpTip +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun HelpItem( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryEmptyPlaceholder.kt index 683badf7..52e890b7 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryEmptyPlaceholder.kt @@ -15,9 +15,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.theme.Transitions import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility import ua.acclorite.book_story.ui.common.components.placeholder.EmptyPlaceholder +import ua.acclorite.book_story.ui.theme.Transitions @Composable fun BoxScope.HistoryEmptyPlaceholder( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt index 0a5d6899..47e13c52 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt @@ -19,11 +19,11 @@ import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.history.HistoryEvent import ua.acclorite.book_story.presentation.history.model.GroupedHistory -import ua.acclorite.book_story.presentation.theme.DefaultTransition import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar import ua.acclorite.book_story.ui.common.util.LocalActivity import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.theme.DefaultTransition @Composable fun HistoryLayout( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEmptyPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEmptyPlaceholder.kt index 6820d963..c555d342 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEmptyPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryEmptyPlaceholder.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import ua.acclorite.book_story.R -import ua.acclorite.book_story.presentation.theme.Transitions import ua.acclorite.book_story.ui.common.components.placeholder.EmptyPlaceholder +import ua.acclorite.book_story.ui.theme.Transitions @Composable fun BoxScope.LibraryEmptyPlaceholder( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt index 33acf03c..7844073e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt @@ -21,8 +21,8 @@ import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition import ua.acclorite.book_story.presentation.library.model.SelectableBook -import ua.acclorite.book_story.presentation.theme.DefaultTransition import ua.acclorite.book_story.ui.common.util.compareByWithOrder +import ua.acclorite.book_story.ui.theme.DefaultTransition @Composable fun LibraryPager( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoItem.kt index b6e8a67c..5f5b104c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoItem.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp import com.mikepenz.aboutlibraries.entity.License -import ua.acclorite.book_story.presentation.theme.SlidingTransition import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.theme.SlidingTransition @Composable fun LazyItemScope.LicenseInfoItem( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScaffold.kt b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScaffold.kt index 79e8c54f..0c490071 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScaffold.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/license_info/LicenseInfoScaffold.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll import com.mikepenz.aboutlibraries.entity.Library import ua.acclorite.book_story.presentation.about.AboutEvent -import ua.acclorite.book_story.presentation.theme.DefaultTransition +import ua.acclorite.book_story.ui.theme.DefaultTransition @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt index 19f9f45d..17ae28d5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt @@ -34,12 +34,12 @@ import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.Checkpoint -import ua.acclorite.book_story.presentation.theme.HorizontalExpandingTransition -import ua.acclorite.book_story.presentation.theme.readerBarsColor import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.model.Direction import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.theme.HorizontalExpandingTransition +import ua.acclorite.book_story.ui.theme.readerBarsColor @Composable fun ReaderBottomBar( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt index 1a609d32..549bf213 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt @@ -24,7 +24,6 @@ import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.ReaderEvent -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawer import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawerSelectableItem @@ -32,6 +31,7 @@ import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawerTitl import ua.acclorite.book_story.ui.common.util.calculateProgress import ua.acclorite.book_story.ui.common.util.noRippleClickable import ua.acclorite.book_story.ui.reader.model.ExpandableChapter +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ReaderChaptersDrawer( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt index 1e7c0fa8..74d09ce1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt @@ -33,11 +33,11 @@ import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.settings.SettingsEvent -import ua.acclorite.book_story.presentation.theme.readerBarsColor import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.util.LocalActivity import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.theme.readerBarsColor @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayoutItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayoutItem.kt index eb9b5a74..720ea296 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayoutItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/SettingsLayoutItem.kt @@ -25,8 +25,8 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import ua.acclorite.book_story.presentation.theme.dynamicListItemColor import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.theme.dynamicListItemColor @Composable fun SettingsLayoutItem( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt index ff051a27..83b257ca 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/colors/components/ColorPresetOption.kt @@ -67,13 +67,13 @@ import ua.acclorite.book_story.core.Selected import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.presentation.settings.SettingsModel -import ua.acclorite.book_story.presentation.theme.FadeTransitionPreservingSpace -import ua.acclorite.book_story.presentation.theme.Transitions import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.components.settings.ColorPickerWithTitle import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.theme.FadeTransitionPreservingSpace +import ua.acclorite.book_story.ui.theme.Transitions @Composable fun ColorPresetOption(backgroundColor: Color) { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt index 57acfa26..4123d93e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AbsoluteDarkOption.kt @@ -16,8 +16,8 @@ import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.main.model.isDark import ua.acclorite.book_story.presentation.main.model.isPureDark -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun AbsoluteDarkOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AppThemeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AppThemeOption.kt index 4c35ada9..b5f25c61 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AppThemeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/AppThemeOption.kt @@ -47,11 +47,11 @@ import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.main.model.ThemeContrast import ua.acclorite.book_story.presentation.main.model.isDark import ua.acclorite.book_story.presentation.main.model.isPureDark -import ua.acclorite.book_story.presentation.theme.Theme -import ua.acclorite.book_story.presentation.theme.animatedColorScheme import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle +import ua.acclorite.book_story.ui.theme.Theme +import ua.acclorite.book_story.ui.theme.animatedColorScheme @Composable fun AppThemeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/PureDarkOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/PureDarkOption.kt index 64b5ab1d..d081007f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/PureDarkOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/PureDarkOption.kt @@ -16,9 +16,9 @@ import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.main.model.PureDark import ua.acclorite.book_story.presentation.main.model.isDark -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun PureDarkOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/ThemeContrastOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/ThemeContrastOption.kt index 7d52d05e..39227bcf 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/ThemeContrastOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/appearance/theme_preferences/components/ThemeContrastOption.kt @@ -21,10 +21,10 @@ import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.main.model.ThemeContrast import ua.acclorite.book_story.presentation.main.model.isDark import ua.acclorite.book_story.presentation.main.model.isPureDark -import ua.acclorite.book_story.presentation.theme.BookStoryTheme -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.theme.BookStoryTheme +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ThemeContrastOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseGridSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseGridSizeOption.kt index 4d297eed..a6d681e5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseGridSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/display/components/BrowseGridSizeOption.kt @@ -14,8 +14,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.browse.model.BrowseLayout import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun BrowseGridSizeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt index 48e2a3fb..b31ec76e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt @@ -42,11 +42,11 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.browse.BrowseScreen import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.presentation.settings.SettingsModel -import ua.acclorite.book_story.presentation.theme.dynamicListItemColor import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.util.noRippleClickable import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.theme.dynamicListItemColor @Composable fun BrowseScanOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt index 5b7c1187..decdd88c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt @@ -51,13 +51,13 @@ import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.presentation.settings.SettingsModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition -import ua.acclorite.book_story.presentation.theme.dynamicListItemColor import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.components.dialog.Dialog import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.theme.ExpandingTransition +import ua.acclorite.book_story.ui.theme.dynamicListItemColor private const val CREATE_DIALOG = "create_dialog" private const val EDIT_DIALOG = "edit_dialog" diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryGridSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryGridSizeOption.kt index 3fc4f3c5..6a991b11 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryGridSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryGridSizeOption.kt @@ -14,8 +14,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun LibraryGridSizeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryTitlePositionOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryTitlePositionOption.kt index aa926e26..1a8ab0ef 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryTitlePositionOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/display/components/LibraryTitlePositionOption.kt @@ -16,9 +16,9 @@ import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun LibraryTitlePositionOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesAlignmentOption.kt index 4ddf0e61..f0f96554 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesAlignmentOption.kt @@ -15,9 +15,9 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ImagesAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesColorEffectsOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesColorEffectsOption.kt index f597b76a..f1a7365d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesColorEffectsOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesColorEffectsOption.kt @@ -15,9 +15,9 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.reader.model.ReaderColorEffects -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ImagesColorEffectsOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesCornersRoundnessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesCornersRoundnessOption.kt index 34333ac9..e8760ca5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesCornersRoundnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesCornersRoundnessOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ImagesCornersRoundnessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesWidthOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesWidthOption.kt index 53c2c5d8..d7901b6e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesWidthOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/images/components/ImagesWidthOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ImagesWidthOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarAlignmentOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarAlignmentOption.kt index 61a331eb..f8603cd5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarAlignmentOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarAlignmentOption.kt @@ -15,9 +15,9 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ProgressBarAlignmentOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarFontSizeOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarFontSizeOption.kt index 16ec5d34..ac5e39b5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarFontSizeOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarFontSizeOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ProgressBarFontSizeOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarPaddingOption.kt index 6ddca172..9fdf14f7 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/progress/components/ProgressBarPaddingOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ProgressBarPaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt index b6187324..2149107e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureAlphaAnimOption.kt @@ -14,8 +14,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun HorizontalGestureAlphaAnimOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt index 859b947b..2b27e3e5 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGesturePullAnimOption.kt @@ -14,8 +14,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SwitchWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun HorizontalGesturePullAnimOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt index 22fe9875..2c434d2e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureScrollOption.kt @@ -14,8 +14,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun HorizontalGestureScrollOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt index 6c114a87..56b42296 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_mode/components/HorizontalGestureSensitivityOption.kt @@ -14,8 +14,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun HorizontalGestureSensitivityOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt index 82e1b80f..118d8a42 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/HighlightedReadingThicknessOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun HighlightedReadingThicknessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt index 5ea59da7..21283fbc 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderPaddingOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun PerceptionExpanderPaddingOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt index bd76133b..ed672440 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/reading_speed/components/PerceptionExpanderThicknessOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun PerceptionExpanderThicknessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenBrightnessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenBrightnessOption.kt index e9c5d856..27f422ba 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenBrightnessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/system/components/ScreenBrightnessOption.kt @@ -13,8 +13,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ScreenBrightnessOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphIndentationOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphIndentationOption.kt index 9440c911..61933358 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphIndentationOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/text/components/ParagraphIndentationOption.kt @@ -14,8 +14,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.presentation.theme.ExpandingTransition import ua.acclorite.book_story.ui.common.components.settings.SliderWithTitle +import ua.acclorite.book_story.ui.theme.ExpandingTransition @Composable fun ParagraphIndentationOption() { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/start/StartContentTransition.kt b/app/src/main/java/ua/acclorite/book_story/ui/start/StartContentTransition.kt index cee0dbec..d7647555 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/start/StartContentTransition.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/start/StartContentTransition.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import ua.acclorite.book_story.presentation.navigator.StackEvent -import ua.acclorite.book_story.presentation.theme.Transitions +import ua.acclorite.book_story.ui.theme.Transitions @Composable fun StartContentTransition( diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Animations.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/Animations.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt index 5fb76ddc..20825e89 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Animations.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Animations.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme +package ua.acclorite.book_story.ui.theme import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.tween diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Color.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt similarity index 77% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/Color.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt index df450833..beb006fb 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Color.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme +package ua.acclorite.book_story.ui.theme import android.os.Build import androidx.annotation.StringRes @@ -13,23 +13,23 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.model.ThemeContrast -import ua.acclorite.book_story.presentation.theme.color.aquaTheme -import ua.acclorite.book_story.presentation.theme.color.blackTheme -import ua.acclorite.book_story.presentation.theme.color.blueTheme -import ua.acclorite.book_story.presentation.theme.color.dynamicTheme -import ua.acclorite.book_story.presentation.theme.color.green2Theme -import ua.acclorite.book_story.presentation.theme.color.greenGrayTheme -import ua.acclorite.book_story.presentation.theme.color.greenTheme -import ua.acclorite.book_story.presentation.theme.color.lavenderTheme -import ua.acclorite.book_story.presentation.theme.color.marshTheme -import ua.acclorite.book_story.presentation.theme.color.pink2Theme -import ua.acclorite.book_story.presentation.theme.color.pinkTheme -import ua.acclorite.book_story.presentation.theme.color.purpleGrayTheme -import ua.acclorite.book_story.presentation.theme.color.purpleTheme -import ua.acclorite.book_story.presentation.theme.color.redGrayTheme -import ua.acclorite.book_story.presentation.theme.color.redTheme -import ua.acclorite.book_story.presentation.theme.color.yellow2Theme -import ua.acclorite.book_story.presentation.theme.color.yellowTheme +import ua.acclorite.book_story.ui.theme.color.aquaTheme +import ua.acclorite.book_story.ui.theme.color.blackTheme +import ua.acclorite.book_story.ui.theme.color.blueTheme +import ua.acclorite.book_story.ui.theme.color.dynamicTheme +import ua.acclorite.book_story.ui.theme.color.green2Theme +import ua.acclorite.book_story.ui.theme.color.greenGrayTheme +import ua.acclorite.book_story.ui.theme.color.greenTheme +import ua.acclorite.book_story.ui.theme.color.lavenderTheme +import ua.acclorite.book_story.ui.theme.color.marshTheme +import ua.acclorite.book_story.ui.theme.color.pink2Theme +import ua.acclorite.book_story.ui.theme.color.pinkTheme +import ua.acclorite.book_story.ui.theme.color.purpleGrayTheme +import ua.acclorite.book_story.ui.theme.color.purpleTheme +import ua.acclorite.book_story.ui.theme.color.redGrayTheme +import ua.acclorite.book_story.ui.theme.color.redTheme +import ua.acclorite.book_story.ui.theme.color.yellow2Theme +import ua.acclorite.book_story.ui.theme.color.yellowTheme @Immutable @@ -57,8 +57,8 @@ enum class Theme( companion object { fun entries(): List { return when { - Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> Theme.entries - else -> Theme.entries.dropWhile { it == DYNAMIC } + Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> entries + else -> entries.dropWhile { it == DYNAMIC } } } } diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Theme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/Theme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt index 29a621b9..28e89f25 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme +package ua.acclorite.book_story.ui.theme import android.app.Activity import android.os.Build diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeExtensions.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeExtensions.kt index 26119f28..4a6e62ee 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeExtensions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme +package ua.acclorite.book_story.ui.theme import androidx.compose.material3.ColorScheme import androidx.compose.ui.graphics.Color diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeLogger.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeLogger.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt index ae8063be..c1d00151 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/ThemeLogger.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt @@ -6,7 +6,7 @@ @file:Suppress("unused") -package ua.acclorite.book_story.presentation.theme +package ua.acclorite.book_story.ui.theme import android.util.Log import androidx.compose.material3.ColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Transitions.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/Transitions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt index 2a999857..6dd4eb0e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/Transitions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Transitions.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme +package ua.acclorite.book_story.ui.theme import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.EaseInOut diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/AquaTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/AquaTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt index 736c7f7f..ea9482a5 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/AquaTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/AquaTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlackTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlackTheme.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlackTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlackTheme.kt index d16e8039..8c8ee40e 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlackTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlackTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.runtime.Composable diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlueTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlueTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt index b1e5b436..46998191 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/BlueTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/BlueTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/DynamicTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/DynamicTheme.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/DynamicTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/DynamicTheme.kt index 19bb10c4..3e349ee8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/DynamicTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/DynamicTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import android.annotation.SuppressLint import androidx.compose.material3.ColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Green2Theme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Green2Theme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Green2Theme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/Green2Theme.kt index b08dc43c..ad9e10c7 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Green2Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Green2Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenGrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenGrayTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenGrayTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenGrayTheme.kt index 29c75439..f3c3d1da 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenGrayTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenGrayTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt index 553ba72d..dd08c049 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/GreenTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/GreenTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/LavenderTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/LavenderTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt index 936735f4..eee7d2d8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/LavenderTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/LavenderTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/MarshTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/MarshTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt index e9196473..5c813abc 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/MarshTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/MarshTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Pink2Theme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Pink2Theme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Pink2Theme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/Pink2Theme.kt index 62087274..0b15a9f2 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Pink2Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Pink2Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PinkTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PinkTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt index 4a12c4db..26f088fa 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PinkTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PinkTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleGrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleGrayTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt index 13760f1e..dbf26d70 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleGrayTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleGrayTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt index 1f59c330..05e9ab88 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/PurpleTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/PurpleTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedGrayTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedGrayTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt index 51b45f8e..79b240d8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedGrayTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedGrayTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt index ed9b52e8..d593368d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/RedTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/RedTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Yellow2Theme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Yellow2Theme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Yellow2Theme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/Yellow2Theme.kt index c13c822f..13eddd69 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/Yellow2Theme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/Yellow2Theme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/YellowTheme.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt similarity index 99% rename from app/src/main/java/ua/acclorite/book_story/presentation/theme/color/YellowTheme.kt rename to app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt index 2a81b705..81edb962 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/theme/color/YellowTheme.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/color/YellowTheme.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.presentation.theme.color +package ua.acclorite.book_story.ui.theme.color import androidx.compose.material3.ColorScheme import androidx.compose.material3.darkColorScheme From 731329879d508ddf887fb3b63595b6e69dec60b5 Mon Sep 17 00:00:00 2001 From: Acclorite <2ma0bhpk@anonaddy.com> Date: Tue, 3 Jun 2025 09:52:41 +0300 Subject: [PATCH 6/7] refactor: update log usages --- .../ua/acclorite/book_story/core/crash/CrashHandler.kt | 6 ++---- .../main/java/ua/acclorite/book_story/ui/theme/Color.kt | 7 ------- .../java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt | 7 ++----- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt b/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt index 2762197b..ebfb4963 100644 --- a/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt @@ -9,12 +9,10 @@ package ua.acclorite.book_story.core.crash import android.content.Context import android.content.Intent import android.os.Process -import android.util.Log +import ua.acclorite.book_story.core.logE import ua.acclorite.book_story.presentation.crash.CrashActivity import kotlin.system.exitProcess -private const val CRASH_TAG = "CRASH, APP" - class CrashHandler( private val context: Context ) : Thread.UncaughtExceptionHandler { @@ -22,7 +20,7 @@ class CrashHandler( override fun uncaughtException(thread: Thread, throwable: Throwable) { val crashLog = throwable.stackTraceToString() - Log.e(CRASH_TAG, crashLog) + logE(crashLog) if (!CrashUtils.saveCrashLog(context, crashLog)) return val intent = Intent(context, CrashActivity::class.java).apply { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt index beb006fb..a458ef2b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/Color.kt @@ -64,13 +64,6 @@ enum class Theme( } } -/** - * Converting [String] into [Theme]. - */ -fun String.toTheme(): Theme { - return Theme.valueOf(this) -} - /** * Creates a colorscheme based on [Theme]. * diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt index c1d00151..cbc29b14 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt @@ -8,12 +8,10 @@ package ua.acclorite.book_story.ui.theme -import android.util.Log import androidx.compose.material3.ColorScheme import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb - -private const val THEME = "THEME" +import ua.acclorite.book_story.core.logD /** * This function logs all the colors of the colorScheme. @@ -33,8 +31,7 @@ fun ColorScheme.logTheme(darkTheme: Boolean): ColorScheme { return "private val $variableName$suffix = Color(0x${this.convertToHex()})\n" } - Log.i( - THEME, + logD( "Theme $suffix:\n" + "------------------------\n" + primary.convertToVal("primary") + From eefcb4ef90e3be98625e463b348bea2c6a0ab34a Mon Sep 17 00:00:00 2001 From: Acclorite <2ma0bhpk@anonaddy.com> Date: Thu, 5 Jun 2025 22:40:27 +0300 Subject: [PATCH 7/7] refactor(ui): refactor ui layer --- .../book_story/core/crash/CrashHandler.kt | 2 +- .../book_story/core/data/CoreData.kt | 33 ++++ .../book_story/core/data/ExtensionsData.kt | 28 ++++ .../book_story/core/data/LinkData.kt | 15 ++ .../helpers/CollectionHelpers.kt} | 2 +- .../helpers/PrimitiveHelpers.kt} | 13 +- .../book_story/core/helpers/SortHelpers.kt | 18 ++ .../book_story/core/{ => log}/Log.kt | 2 +- .../book_story/data/parser/DocumentParser.kt | 6 +- .../book_story/data/parser/MarkdownParser.kt | 2 +- .../data/parser/epub/EpubTextParser.kt | 8 +- .../data/parser/pdf/PdfTextParser.kt | 2 +- .../data/parser/txt/TxtTextParser.kt | 2 +- .../repository/FileSystemRepositoryImpl.kt | 11 +- .../book_story/domain/model/library/Book.kt | 18 +- .../domain/model/reader/ColorPreset.kt | 12 +- .../domain/use_case/book/AddBookUseCase.kt | 6 +- .../book/CanResetCoverImageUseCase.kt | 4 +- .../domain/use_case/book/DeleteBookUseCase.kt | 6 +- .../domain/use_case/book/GetBookUseCase.kt | 4 +- .../domain/use_case/book/GetTextUseCase.kt | 4 +- .../use_case/book/ResetCoverImageUseCase.kt | 6 +- .../use_case/book/SearchBooksUseCase.kt | 4 +- .../domain/use_case/book/UpdateBookUseCase.kt | 4 +- .../use_case/book/UpdateCoverImageUseCase.kt | 6 +- .../use_case/category/AddCategoryUseCase.kt | 4 +- .../category/DeleteCategoryUseCase.kt | 2 +- .../use_case/category/GetCategoriesUseCase.kt | 4 +- .../category/GetCategorySortingUseCase.kt | 4 +- .../category/UpdateCategoriesOrderUseCase.kt | 2 +- .../category/UpdateCategorySortingUseCase.kt | 4 +- .../category/UpdateCategoryUseCase.kt | 2 +- .../color_preset/DeleteColorPresetUseCase.kt | 4 +- .../color_preset/GetColorPresetsUseCase.kt | 4 +- .../ReorderColorPresetsUseCase.kt | 4 +- .../color_preset/SelectColorPresetUseCase.kt | 4 +- .../color_preset/UpdateColorPresetUseCase.kt | 4 +- .../ChangeLanguagePreferenceUseCase.kt | 8 +- .../data_store/GetPreferencesUseCase.kt | 6 +- .../data_store/PutPreferenceUseCase.kt | 4 +- .../file_system/GetBookFromFileUseCase.kt | 4 +- .../file_system/SearchFilesUseCase.kt | 4 +- .../use_case/history/AddHistoryUseCase.kt | 4 +- .../use_case/history/DeleteHistoryUseCase.kt | 4 +- .../history/DeleteWholeHistoryUseCase.kt | 4 +- .../history/GetHistoryForBookUseCase.kt | 4 +- .../use_case/history/GetHistoryUseCase.kt | 4 +- .../GrantPersistableUriPermissionUseCase.kt | 4 +- .../ReleasePersistableUriPermissionUseCase.kt | 4 +- .../presentation/about/AboutModel.kt | 4 +- .../presentation/book_info/BookInfoModel.kt | 2 +- .../presentation/book_info/BookInfoState.kt | 3 +- .../presentation/browse/BrowseModel.kt | 4 +- .../presentation/crash/CrashScreen.kt | 6 +- .../presentation/history/HistoryModel.kt | 2 +- .../presentation/library/LibraryModel.kt | 2 +- .../book_story/presentation/main/MainModel.kt | 151 +++++++++-------- .../book_story/presentation/main/MainState.kt | 15 +- .../main/data/DataStoreData.kt} | 4 +- .../presentation/reader/ReaderModel.kt | 8 +- .../presentation/reader/ReaderScreen.kt | 10 +- .../presentation/reader/ReaderState.kt | 3 +- .../presentation/settings/SettingsModel.kt | 9 +- .../presentation/settings/SettingsState.kt | 3 +- .../presentation/start/StartScreen.kt | 6 +- .../book_story/ui/about/AboutBadges.kt | 6 +- .../book_story/ui/about/AboutLayout.kt | 16 +- .../book_story/ui/about/data/AboutData.kt | 51 ++++++ .../book_info/BookInfoDetailsBottomSheet.kt | 4 +- .../book_story/ui/book_info/BookInfoLayout.kt | 4 +- .../ui/book_info/BookInfoLayoutButton.kt | 2 +- .../ui/book_info/BookInfoLayoutDescription.kt | 2 +- .../ui/book_info/BookInfoLayoutInfoAuthor.kt | 2 +- .../ui/book_info/BookInfoLayoutInfoCover.kt | 2 +- .../book_info/BookInfoLayoutInfoProgress.kt | 2 +- .../ui/book_info/BookInfoLayoutInfoTitle.kt | 2 +- .../book_story/ui/browse/BrowseAddDialog.kt | 2 +- .../book_story/ui/browse/BrowseGridLayout.kt | 4 +- .../ui/browse/BrowseLayoutHeader.kt | 2 +- .../book_story/ui/browse/BrowseListLayout.kt | 4 +- .../common/LazyColumnWithScrollbar.kt | 4 +- .../common/LazyVerticalGridWithScrollbar.kt | 4 +- .../components/modal_drawer/ModalDrawer.kt | 6 +- .../common/constants/AboutBadgeConstants.kt | 48 ------ .../ui/common/constants/CommonConstants.kt | 41 ----- .../ui/common/constants/CreditConstants.kt | 98 ----------- .../ui/common/constants/HelpTipConstants.kt | 152 ----------------- .../ui/common/constants/LanguageConstants.kt | 29 ---- .../ui/common/constants/LinkConstants.kt | 24 --- .../ui/common/constants/ScrollbarConstants.kt | 38 ----- .../constants/SupportedExtensionConstants.kt | 24 --- .../ui/common/data/ScrollbarData.kt | 51 ++++++ .../LifecycleHelpers.kt} | 2 +- .../ModifierHelpers.kt} | 2 +- .../ToastHelpers.kt} | 2 +- .../book_story/ui/credits/CreditsLayout.kt | 4 +- .../book_story/ui/credits/data/CreditData.kt | 101 ++++++++++++ .../acclorite/book_story/ui/help/HelpItem.kt | 2 +- .../book_story/ui/help/HelpLayout.kt | 6 +- .../book_story/ui/help/data/HelpData.kt | 155 ++++++++++++++++++ .../book_story/ui/history/HistoryItem.kt | 2 +- .../book_story/ui/history/HistoryLayout.kt | 6 +- .../ui/library/LibraryBackHandler.kt | 4 +- .../book_story/ui/library/LibraryGridItem.kt | 2 +- .../ui/library/LibraryGridLayout.kt | 4 +- .../book_story/ui/library/LibraryListItem.kt | 2 +- .../ui/library/LibraryListLayout.kt | 4 +- .../book_story/ui/library/LibraryPager.kt | 2 +- .../book_story/ui/navigator/Navigator.kt | 2 +- .../book_story/ui/navigator/NavigatorTabs.kt | 2 +- .../book_story/ui/reader/ReaderBackHandler.kt | 2 +- .../book_story/ui/reader/ReaderBottomBar.kt | 2 +- .../ui/reader/ReaderChaptersDrawer.kt | 4 +- .../ui/reader/ReaderErrorPlaceholder.kt | 2 +- .../book_story/ui/reader/ReaderLayout.kt | 6 +- .../ui/reader/ReaderLayoutTextParagraph.kt | 2 +- .../ui/reader/ReaderSettingsBottomSheet.kt | 2 +- .../book_story/ui/reader/ReaderTopBar.kt | 4 +- .../data/ReaderData.kt} | 7 +- .../filter/components/BrowseFilterOption.kt | 4 +- .../scan/components/BrowseScanOption.kt | 4 +- .../general/components/AppLanguageOption.kt | 4 +- .../components/LibraryCategoriesOption.kt | 2 +- .../font/components/FontFamilyOption.kt | 6 +- .../reader/font/components/FontStyleOption.kt | 4 +- .../font/components/FontThicknessOption.kt | 4 +- .../book_story/ui/theme/ThemeLogger.kt | 2 +- 127 files changed, 773 insertions(+), 762 deletions(-) create mode 100644 app/src/main/java/ua/acclorite/book_story/core/data/CoreData.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/core/data/ExtensionsData.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/core/data/LinkData.kt rename app/src/main/java/ua/acclorite/book_story/{ui/common/util/CollectionExtensions.kt => core/helpers/CollectionHelpers.kt} (83%) rename app/src/main/java/ua/acclorite/book_story/{ui/common/util/PrimitiveExtensions.kt => core/helpers/PrimitiveHelpers.kt} (87%) create mode 100644 app/src/main/java/ua/acclorite/book_story/core/helpers/SortHelpers.kt rename app/src/main/java/ua/acclorite/book_story/core/{ => log}/Log.kt (91%) rename app/src/main/java/ua/acclorite/book_story/{ui/common/constants/DataStoreConstants.kt => presentation/main/data/DataStoreData.kt} (98%) create mode 100644 app/src/main/java/ua/acclorite/book_story/ui/about/data/AboutData.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/AboutBadgeConstants.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/CreditConstants.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/HelpTipConstants.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/LanguageConstants.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/LinkConstants.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/ScrollbarConstants.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/constants/SupportedExtensionConstants.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/ui/common/data/ScrollbarData.kt rename app/src/main/java/ua/acclorite/book_story/ui/common/{util/LifecycleExtensions.kt => helpers/LifecycleHelpers.kt} (96%) rename app/src/main/java/ua/acclorite/book_story/ui/common/{util/ModifierExtensions.kt => helpers/ModifierHelpers.kt} (92%) rename app/src/main/java/ua/acclorite/book_story/ui/common/{util/ToastExtensions.kt => helpers/ToastHelpers.kt} (90%) create mode 100644 app/src/main/java/ua/acclorite/book_story/ui/credits/data/CreditData.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/ui/help/data/HelpData.kt rename app/src/main/java/ua/acclorite/book_story/ui/{common/constants/FontConstants.kt => reader/data/ReaderData.kt} (97%) diff --git a/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt b/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt index ebfb4963..94258c11 100644 --- a/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/core/crash/CrashHandler.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.core.crash import android.content.Context import android.content.Intent import android.os.Process -import ua.acclorite.book_story.core.logE +import ua.acclorite.book_story.core.log.logE import ua.acclorite.book_story.presentation.crash.CrashActivity import kotlin.system.exitProcess diff --git a/app/src/main/java/ua/acclorite/book_story/core/data/CoreData.kt b/app/src/main/java/ua/acclorite/book_story/core/data/CoreData.kt new file mode 100644 index 00000000..d2d28808 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/core/data/CoreData.kt @@ -0,0 +1,33 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.core.data + +import kotlinx.collections.immutable.persistentListOf + +object CoreData { + val languages = persistentListOf( + Pair("en", "English"), + Pair("uk", "Українська"), + Pair("de", "Deutsch"), + Pair("ar", "اَلْعَرَبِيَّةُ"), + Pair("es", "Español"), + Pair("tr", "Türkçe"), + Pair("fr", "Français"), + Pair("pl", "Polski"), + Pair("it", "Italiano"), + Pair("zh", "汉语"), + Pair("hi", "हिन्दी"), + // Currently as "pt" (which is Portuguese) instead of "pt-BR" + Pair("pt", "Português (Brasil)"), + Pair("ta", "தமிழ்"), + Pair("ml", "മലയാളം"), + Pair("cs", "Čeština"), + Pair("ro", "Română"), + Pair("be", "Беларуская"), + Pair("ja", "日本語") + ) +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/core/data/ExtensionsData.kt b/app/src/main/java/ua/acclorite/book_story/core/data/ExtensionsData.kt new file mode 100644 index 00000000..0998b93c --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/core/data/ExtensionsData.kt @@ -0,0 +1,28 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.core.data + +import kotlinx.collections.immutable.persistentListOf + +object ExtensionsData { + val fileExtensions = persistentListOf( + ".epub", + ".pdf", + ".fb2", + ".txt", + ".html", + ".htm", + ".md" + ) + + val imageExtensions = persistentListOf( + ".png", + ".jpg", + ".jpeg", + ".gif" + ) +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/core/data/LinkData.kt b/app/src/main/java/ua/acclorite/book_story/core/data/LinkData.kt new file mode 100644 index 00000000..7b15ddcb --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/core/data/LinkData.kt @@ -0,0 +1,15 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.core.data + +object LinkData { + const val RELEASES = "https://www.github.com/Acclorite/book-story/releases/latest" + const val ISSUES = "https://www.github.com/Acclorite/book-story/issues" + const val CONTRIBUTORS = "https://github.com/Acclorite/book-story/graphs/contributors" + const val TRANSLATION = "https://hosted.weblate.org/projects/book-story" + const val SUPPORT = "https://patreon.com/Acclorite" +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/util/CollectionExtensions.kt b/app/src/main/java/ua/acclorite/book_story/core/helpers/CollectionHelpers.kt similarity index 83% rename from app/src/main/java/ua/acclorite/book_story/ui/common/util/CollectionExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/core/helpers/CollectionHelpers.kt index 81887970..248c1720 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/util/CollectionExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/core/helpers/CollectionHelpers.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.common.util +package ua.acclorite.book_story.core.helpers fun MutableList.addAll(calculation: () -> List) { addAll(calculation()) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/util/PrimitiveExtensions.kt b/app/src/main/java/ua/acclorite/book_story/core/helpers/PrimitiveHelpers.kt similarity index 87% rename from app/src/main/java/ua/acclorite/book_story/ui/common/util/PrimitiveExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/core/helpers/PrimitiveHelpers.kt index a1623622..bab1abf0 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/util/PrimitiveExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/core/helpers/PrimitiveHelpers.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.common.util +package ua.acclorite.book_story.core.helpers fun String.removeTrailingZero(): String { if (!this.contains('.')) @@ -65,15 +65,4 @@ fun Char.isVisibleCharacter(): Boolean { else -> false } -} - -fun compareByWithOrder( - descending: Boolean, - selector: (T) -> Comparable<*>? -): Comparator { - return if (descending) { - compareByDescending(selector) - } else { - compareBy(selector) - } } \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/core/helpers/SortHelpers.kt b/app/src/main/java/ua/acclorite/book_story/core/helpers/SortHelpers.kt new file mode 100644 index 00000000..80f97c32 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/core/helpers/SortHelpers.kt @@ -0,0 +1,18 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.core.helpers + +fun compareByWithOrder( + descending: Boolean, + selector: (T) -> Comparable<*>? +): Comparator { + return if (descending) { + compareByDescending(selector) + } else { + compareBy(selector) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/core/Log.kt b/app/src/main/java/ua/acclorite/book_story/core/log/Log.kt similarity index 91% rename from app/src/main/java/ua/acclorite/book_story/core/Log.kt rename to app/src/main/java/ua/acclorite/book_story/core/log/Log.kt index ac43efd1..b934bf5f 100644 --- a/app/src/main/java/ua/acclorite/book_story/core/Log.kt +++ b/app/src/main/java/ua/acclorite/book_story/core/log/Log.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.core +package ua.acclorite.book_story.core.log import android.util.Log diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt index ef5cb8d5..32f42095 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/DocumentParser.kt @@ -11,10 +11,10 @@ import android.graphics.BitmapFactory import androidx.compose.ui.graphics.asImageBitmap import kotlinx.coroutines.yield import org.jsoup.nodes.Document +import ua.acclorite.book_story.core.helpers.clearAllMarkdown +import ua.acclorite.book_story.core.helpers.clearMarkdown +import ua.acclorite.book_story.core.helpers.containsVisibleText import ua.acclorite.book_story.domain.model.reader.ReaderText -import ua.acclorite.book_story.ui.common.util.clearAllMarkdown -import ua.acclorite.book_story.ui.common.util.clearMarkdown -import ua.acclorite.book_story.ui.common.util.containsVisibleText import java.io.File import java.util.zip.ZipEntry import java.util.zip.ZipFile diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt index a03098c1..47394f0a 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/MarkdownParser.kt @@ -23,7 +23,7 @@ import org.commonmark.node.Node import org.commonmark.node.StrongEmphasis import org.commonmark.node.Text import org.commonmark.parser.Parser -import ua.acclorite.book_story.ui.common.util.clearMarkdown +import ua.acclorite.book_story.core.helpers.clearMarkdown import javax.inject.Inject class MarkdownParser @Inject constructor( diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt index 8e589653..8f41dd18 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/epub/EpubTextParser.kt @@ -17,13 +17,13 @@ import kotlinx.coroutines.awaitAll import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import org.jsoup.Jsoup +import ua.acclorite.book_story.core.data.ExtensionsData +import ua.acclorite.book_story.core.helpers.addAll +import ua.acclorite.book_story.core.helpers.containsVisibleText import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.DocumentParser import ua.acclorite.book_story.data.parser.TextParser import ua.acclorite.book_story.domain.model.reader.ReaderText -import ua.acclorite.book_story.ui.common.constants.provideImageExtensions -import ua.acclorite.book_story.ui.common.util.addAll -import ua.acclorite.book_story.ui.common.util.containsVisibleText import java.io.File import java.util.concurrent.ConcurrentLinkedQueue import java.util.zip.ZipEntry @@ -60,7 +60,7 @@ class EpubTextParser @Inject constructor( val chapterEntries = zip.getChapterEntries(opfEntry) val imageEntries = zip.entries().toList().filter { - provideImageExtensions().any { format -> + ExtensionsData.imageExtensions.any { format -> it.name.endsWith(format, ignoreCase = true) } } diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt index 46c10a2c..f5919651 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/pdf/PdfTextParser.kt @@ -12,11 +12,11 @@ import com.tom_roush.pdfbox.android.PDFBoxResourceLoader import com.tom_roush.pdfbox.pdmodel.PDDocument import com.tom_roush.pdfbox.text.PDFTextStripper import kotlinx.coroutines.yield +import ua.acclorite.book_story.core.helpers.clearAllMarkdown import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.MarkdownParser import ua.acclorite.book_story.data.parser.TextParser import ua.acclorite.book_story.domain.model.reader.ReaderText -import ua.acclorite.book_story.ui.common.util.clearAllMarkdown import javax.inject.Inject private const val PDF_TAG = "PDF Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt index 57277004..8606d554 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/parser/txt/TxtTextParser.kt @@ -10,11 +10,11 @@ import android.util.Log import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.coroutines.yield +import ua.acclorite.book_story.core.helpers.clearAllMarkdown import ua.acclorite.book_story.data.model.file.CachedFile import ua.acclorite.book_story.data.parser.MarkdownParser import ua.acclorite.book_story.data.parser.TextParser import ua.acclorite.book_story.domain.model.reader.ReaderText -import ua.acclorite.book_story.ui.common.util.clearAllMarkdown import javax.inject.Inject private const val TXT_TAG = "TXT Parser" diff --git a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt index 7670606b..ab17b50f 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/repository/FileSystemRepositoryImpl.kt @@ -6,6 +6,7 @@ package ua.acclorite.book_story.data.repository +import ua.acclorite.book_story.core.data.ExtensionsData import ua.acclorite.book_story.data.local.room.BookDao import ua.acclorite.book_story.data.mapper.file.FileMapper import ua.acclorite.book_story.data.model.file.CachedFile @@ -14,7 +15,6 @@ import ua.acclorite.book_story.data.parser.FileParser import ua.acclorite.book_story.domain.model.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository import ua.acclorite.book_story.domain.service.FileProvider -import ua.acclorite.book_story.ui.common.constants.provideExtensions import javax.inject.Inject import javax.inject.Singleton @@ -47,7 +47,14 @@ class FileSystemRepositoryImpl @Inject constructor( query: String, existingFiles: List ): Boolean { - if (provideExtensions().none { name.endsWith(it, ignoreCase = true) }) return false + if ( + ExtensionsData.fileExtensions.none { + name.endsWith( + it, + ignoreCase = true + ) + } + ) return false if (query.isNotBlank() && !name.contains(query.trim(), ignoreCase = true)) return false if (existingFiles.any { it.equals(path, ignoreCase = true) }) return false return true diff --git a/app/src/main/java/ua/acclorite/book_story/domain/model/library/Book.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/library/Book.kt index 83b6e2b9..0334618d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/model/library/Book.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/library/Book.kt @@ -30,4 +30,20 @@ data class Book( val lastOpened: Long?, val categories: List -) : Parcelable \ No newline at end of file +) : Parcelable { + companion object { + val default = Book( + id = -1, + title = "", + author = UIText.StringValue(""), + description = null, + filePath = "", + coverImage = null, + scrollIndex = 0, + scrollOffset = 0, + progress = 0f, + lastOpened = null, + categories = emptyList() + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ColorPreset.kt b/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ColorPreset.kt index d7d89074..48c3773f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ColorPreset.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/model/reader/ColorPreset.kt @@ -17,4 +17,14 @@ data class ColorPreset( val backgroundColor: Color, val fontColor: Color, val isSelected: Selected -) \ No newline at end of file +) { + companion object { + val default = ColorPreset( + id = -1, + name = null, + backgroundColor = Color(0xFFFAF8FF), // Blue Light Surface (hardcoded) + fontColor = Color(0xFF44464F), // Blue Light OnSurfaceVariant (hardcoded) + isSelected = false + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt index a97ddeab..5e72915c 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/AddBookUseCase.kt @@ -8,9 +8,9 @@ package ua.acclorite.book_story.domain.use_case.book import androidx.core.net.toUri import ua.acclorite.book_story.core.CoverImage -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI +import ua.acclorite.book_story.core.log.logW import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.service.CoverImageHandler diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt index 1d2469fc..d2c2ac80 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/CanResetCoverImageUseCase.kt @@ -8,8 +8,8 @@ package ua.acclorite.book_story.domain.use_case.book import android.app.Application import android.graphics.BitmapFactory -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.service.CoverImageHandler import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt index 88b49296..6641f7d2 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/DeleteBookUseCase.kt @@ -6,9 +6,9 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI +import ua.acclorite.book_story.core.log.logW import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.repository.HistoryRepository diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt index 74e1dc1d..1bad210f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetBookUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.repository.HistoryRepository diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt index 54ccaa73..0a30eb3f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/GetTextUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt index 77fe0af6..969b163a 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/ResetCoverImageUseCase.kt @@ -7,9 +7,9 @@ package ua.acclorite.book_story.domain.use_case.book import androidx.core.net.toUri -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI +import ua.acclorite.book_story.core.log.logW import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.service.CoverImageHandler import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt index 3dfcdbe8..2de2e9dc 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/SearchBooksUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.repository.HistoryRepository diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt index 970eb883..b0641afd 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateBookUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.book -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.repository.BookRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt index 7a0c4680..9edfcfea 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/book/UpdateCoverImageUseCase.kt @@ -8,9 +8,9 @@ package ua.acclorite.book_story.domain.use_case.book import androidx.core.net.toUri import ua.acclorite.book_story.core.CoverImage -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI +import ua.acclorite.book_story.core.log.logW import ua.acclorite.book_story.domain.repository.BookRepository import ua.acclorite.book_story.domain.service.CoverImageHandler import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt index 4226e377..f0c0d26e 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/AddCategoryUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt index 13f66047..6cf7ac19 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/DeleteCategoryUseCase.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt index 274e7c84..00484ab5 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategoriesUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt index 03889afd..1b7c203f 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/GetCategorySortingUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt index e81f8800..51b456a3 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoriesOrderUseCase.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt index 439bcf5e..d2b5b8f2 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategorySortingUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt index 0f2ced1a..a4271859 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/category/UpdateCategoryUseCase.kt @@ -6,7 +6,7 @@ package ua.acclorite.book_story.domain.use_case.category -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.repository.CategoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt index ff9a9d85..86edf74b 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/DeleteColorPresetUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.color_preset -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt index 601ab326..e10f8bc2 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/GetColorPresetsUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.color_preset -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt index d7d97c53..639ea337 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/ReorderColorPresetsUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.color_preset -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt index c62a8f18..8d511cf4 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/SelectColorPresetUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.color_preset -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt index 12987857..e2ed9cca 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/color_preset/UpdateColorPresetUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.color_preset -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.reader.ColorPreset import ua.acclorite.book_story.domain.repository.ColorPresetRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt index 2b9e88ea..2b39c8b9 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/ChangeLanguagePreferenceUseCase.kt @@ -8,10 +8,10 @@ package ua.acclorite.book_story.domain.use_case.data_store import androidx.appcompat.app.AppCompatDelegate import androidx.core.os.LocaleListCompat -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.repository.DataStoreRepository -import ua.acclorite.book_story.ui.common.constants.DataStoreConstants +import ua.acclorite.book_story.presentation.main.data.DataStoreData import javax.inject.Inject class ChangeLanguagePreferenceUseCase @Inject constructor( @@ -22,7 +22,7 @@ class ChangeLanguagePreferenceUseCase @Inject constructor( logI("Changing language preference.") dataStoreRepository.putPreference( - DataStoreConstants.LANGUAGE, + DataStoreData.LANGUAGE, language ).fold( onSuccess = { diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt index 418c6e4e..aea20ed2 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/GetPreferencesUseCase.kt @@ -10,9 +10,9 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.withContext -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI -import ua.acclorite.book_story.core.logW +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI +import ua.acclorite.book_story.core.log.logW import ua.acclorite.book_story.domain.repository.DataStoreRepository import ua.acclorite.book_story.presentation.main.MainState import java.util.concurrent.ConcurrentHashMap diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt index 0fd17bf8..60083212 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/data_store/PutPreferenceUseCase.kt @@ -7,8 +7,8 @@ package ua.acclorite.book_story.domain.use_case.data_store import androidx.datastore.preferences.core.Preferences -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.repository.DataStoreRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt index f3471423..97f75e40 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/GetBookFromFileUseCase.kt @@ -7,8 +7,8 @@ package ua.acclorite.book_story.domain.use_case.file_system import ua.acclorite.book_story.R -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.data.model.common.NullableBook import ua.acclorite.book_story.data.model.common.NullableBook.NotNull diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt index 86500e3f..f0181647 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/file_system/SearchFilesUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.file_system -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.file.File import ua.acclorite.book_story.domain.repository.FileSystemRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt index fa27a8ba..a1f7ac27 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/AddHistoryUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.history -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt index 95b87178..d0c2661d 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteHistoryUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.history -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt index 78df36aa..14c99b51 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/DeleteWholeHistoryUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.history -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt index 597af272..e4653180 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryForBookUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.history -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt index 890eba60..52a8f344 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/history/GetHistoryUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.history -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.domain.repository.HistoryRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt index 06cbc534..f1558e72 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/GrantPersistableUriPermissionUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.permission -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.repository.PermissionRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt index 069d4238..2f9e6ece 100644 --- a/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt +++ b/app/src/main/java/ua/acclorite/book_story/domain/use_case/permission/ReleasePersistableUriPermissionUseCase.kt @@ -6,8 +6,8 @@ package ua.acclorite.book_story.domain.use_case.permission -import ua.acclorite.book_story.core.logE -import ua.acclorite.book_story.core.logI +import ua.acclorite.book_story.core.log.logE +import ua.acclorite.book_story.core.log.logI import ua.acclorite.book_story.domain.repository.PermissionRepository import javax.inject.Inject diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutModel.kt index 4284873b..22872e13 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/about/AboutModel.kt @@ -16,8 +16,8 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import ua.acclorite.book_story.R -import ua.acclorite.book_story.ui.common.util.launchActivity -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.launchActivity +import ua.acclorite.book_story.ui.common.helpers.showToast import javax.inject.Inject @HiltViewModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt index d502f7b3..553054d8 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoModel.kt @@ -30,7 +30,7 @@ import ua.acclorite.book_story.domain.use_case.book.UpdateCoverImageUseCase import ua.acclorite.book_story.presentation.browse.BrowseScreen import ua.acclorite.book_story.presentation.history.HistoryScreen import ua.acclorite.book_story.presentation.library.LibraryScreen -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.showToast import javax.inject.Inject @HiltViewModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt index 23ab5541..7d1437fd 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/book_info/BookInfoState.kt @@ -10,11 +10,10 @@ import androidx.compose.runtime.Immutable import ua.acclorite.book_story.core.BottomSheet import ua.acclorite.book_story.core.Dialog import ua.acclorite.book_story.domain.model.library.Book -import ua.acclorite.book_story.ui.common.constants.provideEmptyBook @Immutable data class BookInfoState( - val book: Book = provideEmptyBook(), + val book: Book = Book.default, val canResetCover: Boolean = false, diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt index 736b2fa4..b51c9353 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/browse/BrowseModel.kt @@ -23,6 +23,7 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.helpers.compareByWithOrder import ua.acclorite.book_story.data.model.common.NullableBook import ua.acclorite.book_story.domain.model.file.File import ua.acclorite.book_story.domain.use_case.book.AddBookUseCase @@ -32,8 +33,7 @@ import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder import ua.acclorite.book_story.presentation.browse.model.SelectableFile import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook -import ua.acclorite.book_story.ui.common.util.compareByWithOrder -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.showToast import javax.inject.Inject @HiltViewModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScreen.kt index 2689af3c..905b120f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/crash/CrashScreen.kt @@ -21,9 +21,9 @@ import kotlinx.parcelize.Parcelize import ua.acclorite.book_story.R import ua.acclorite.book_story.core.crash.CrashUtils import ua.acclorite.book_story.presentation.navigator.Screen -import ua.acclorite.book_story.ui.common.util.LocalActivity -import ua.acclorite.book_story.ui.common.util.launchActivity -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.launchActivity +import ua.acclorite.book_story.ui.common.helpers.showToast import ua.acclorite.book_story.ui.crash.CrashContent @Parcelize diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt index aa7c3ad3..31c1e502 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/history/HistoryModel.kt @@ -31,7 +31,7 @@ import ua.acclorite.book_story.domain.use_case.history.DeleteWholeHistoryUseCase import ua.acclorite.book_story.domain.use_case.history.GetHistoryUseCase import ua.acclorite.book_story.presentation.history.model.GroupedHistory import ua.acclorite.book_story.presentation.library.LibraryScreen -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.showToast import java.text.SimpleDateFormat import java.util.Calendar import java.util.Date diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt index 6f6481b7..139f904a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/library/LibraryModel.kt @@ -29,7 +29,7 @@ import ua.acclorite.book_story.domain.use_case.book.UpdateBookUseCase import ua.acclorite.book_story.presentation.browse.BrowseScreen import ua.acclorite.book_story.presentation.history.HistoryScreen import ua.acclorite.book_story.presentation.library.model.SelectableBook -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.showToast import javax.inject.Inject @HiltViewModel diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt index 6122f1e1..e64dd9aa 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainModel.kt @@ -30,6 +30,7 @@ import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.main.data.DataStoreData import ua.acclorite.book_story.presentation.main.model.DarkTheme import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment import ua.acclorite.book_story.presentation.main.model.PureDark @@ -40,10 +41,8 @@ import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount import ua.acclorite.book_story.presentation.reader.model.ReaderScreenOrientation import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.ui.common.constants.DataStoreConstants -import ua.acclorite.book_story.ui.common.constants.provideFonts -import ua.acclorite.book_story.ui.common.constants.provideMainState -import ua.acclorite.book_story.ui.theme.toTheme +import ua.acclorite.book_story.ui.reader.data.ReaderData +import ua.acclorite.book_story.ui.theme.Theme import javax.inject.Inject @@ -63,7 +62,7 @@ class MainModel @Inject constructor( private val mainModelReady = MutableStateFlow(false) private val _state: MutableStateFlow = MutableStateFlow( - stateHandle[provideMainState()] ?: MainState() + stateHandle["main_state"] ?: MainState() ) val state = _state.asStateFlow() @@ -72,7 +71,7 @@ class MainModel @Inject constructor( is MainEvent.OnChangeLanguage -> handleLanguageUpdate(event) is MainEvent.OnChangeDarkTheme -> handleDatastoreUpdate( - key = DataStoreConstants.DARK_THEME, + key = DataStoreData.DARK_THEME, value = event.value, updateState = { it.copy(darkTheme = DarkTheme.valueOf(this)) @@ -80,7 +79,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangePureDark -> handleDatastoreUpdate( - key = DataStoreConstants.PURE_DARK, + key = DataStoreData.PURE_DARK, value = event.value, updateState = { it.copy(pureDark = PureDark.valueOf(this)) @@ -88,7 +87,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeThemeContrast -> handleDatastoreUpdate( - key = DataStoreConstants.THEME_CONTRAST, + key = DataStoreData.THEME_CONTRAST, value = event.value, updateState = { it.copy(themeContrast = ThemeContrast.valueOf(this)) @@ -96,19 +95,19 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeTheme -> handleDatastoreUpdate( - key = DataStoreConstants.THEME, + key = DataStoreData.THEME, value = event.value, updateState = { - it.copy(theme = toTheme()) + it.copy(theme = Theme.valueOf(this)) } ) is MainEvent.OnChangeFontFamily -> handleDatastoreUpdate( - key = DataStoreConstants.FONT, + key = DataStoreData.FONT, value = event.value, updateState = { it.copy( - fontFamily = provideFonts().run { + fontFamily = ReaderData.fonts.run { find { font -> font.id == event.value }?.id ?: get(0).id @@ -118,7 +117,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeFontStyle -> handleDatastoreUpdate( - key = DataStoreConstants.IS_ITALIC, + key = DataStoreData.IS_ITALIC, value = event.value, updateState = { it.copy(isItalic = this) @@ -126,7 +125,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeFontSize -> handleDatastoreUpdate( - key = DataStoreConstants.FONT_SIZE, + key = DataStoreData.FONT_SIZE, value = event.value, updateState = { it.copy(fontSize = this) @@ -134,7 +133,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLineHeight -> handleDatastoreUpdate( - key = DataStoreConstants.LINE_HEIGHT, + key = DataStoreData.LINE_HEIGHT, value = event.value, updateState = { it.copy(lineHeight = this) @@ -142,7 +141,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeParagraphHeight -> handleDatastoreUpdate( - key = DataStoreConstants.PARAGRAPH_HEIGHT, + key = DataStoreData.PARAGRAPH_HEIGHT, value = event.value, updateState = { it.copy(paragraphHeight = this) @@ -150,7 +149,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeParagraphIndentation -> handleDatastoreUpdate( - key = DataStoreConstants.PARAGRAPH_INDENTATION, + key = DataStoreData.PARAGRAPH_INDENTATION, value = event.value, updateState = { it.copy(paragraphIndentation = this) @@ -158,7 +157,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeShowStartScreen -> handleDatastoreUpdate( - key = DataStoreConstants.SHOW_START_SCREEN, + key = DataStoreData.SHOW_START_SCREEN, value = event.value, updateState = { it.copy(showStartScreen = this) @@ -166,7 +165,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeSidePadding -> handleDatastoreUpdate( - key = DataStoreConstants.SIDE_PADDING, + key = DataStoreData.SIDE_PADDING, value = event.value, updateState = { it.copy(sidePadding = this) @@ -174,7 +173,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeDoubleClickTranslation -> handleDatastoreUpdate( - key = DataStoreConstants.DOUBLE_CLICK_TRANSLATION, + key = DataStoreData.DOUBLE_CLICK_TRANSLATION, value = event.value, updateState = { it.copy(doubleClickTranslation = this) @@ -182,7 +181,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeFastColorPresetChange -> handleDatastoreUpdate( - key = DataStoreConstants.FAST_COLOR_PRESET_CHANGE, + key = DataStoreData.FAST_COLOR_PRESET_CHANGE, value = event.value, updateState = { it.copy(fastColorPresetChange = this) @@ -190,7 +189,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeBrowseLayout -> handleDatastoreUpdate( - key = DataStoreConstants.BROWSE_LAYOUT, + key = DataStoreData.BROWSE_LAYOUT, value = event.value, updateState = { it.copy(browseLayout = BrowseLayout.valueOf(this)) @@ -198,7 +197,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeBrowseAutoGridSize -> handleDatastoreUpdate( - key = DataStoreConstants.BROWSE_AUTO_GRID_SIZE, + key = DataStoreData.BROWSE_AUTO_GRID_SIZE, value = event.value, updateState = { it.copy(browseAutoGridSize = this) @@ -206,7 +205,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeBrowseGridSize -> handleDatastoreUpdate( - key = DataStoreConstants.BROWSE_GRID_SIZE, + key = DataStoreData.BROWSE_GRID_SIZE, value = event.value, updateState = { it.copy(browseGridSize = this) @@ -214,7 +213,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeBrowseSortOrder -> handleDatastoreUpdate( - key = DataStoreConstants.BROWSE_SORT_ORDER, + key = DataStoreData.BROWSE_SORT_ORDER, value = event.value, updateState = { it.copy(browseSortOrder = BrowseSortOrder.valueOf(this)) @@ -222,7 +221,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeBrowseSortOrderDescending -> handleDatastoreUpdate( - key = DataStoreConstants.BROWSE_SORT_ORDER_DESCENDING, + key = DataStoreData.BROWSE_SORT_ORDER_DESCENDING, value = event.value, updateState = { it.copy(browseSortOrderDescending = this) @@ -234,7 +233,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeTextAlignment -> handleDatastoreUpdate( - key = DataStoreConstants.TEXT_ALIGNMENT, + key = DataStoreData.TEXT_ALIGNMENT, value = event.value, updateState = { it.copy(textAlignment = ReaderTextAlignment.valueOf(this)) @@ -242,7 +241,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeDoublePressExit -> handleDatastoreUpdate( - key = DataStoreConstants.DOUBLE_PRESS_EXIT, + key = DataStoreData.DOUBLE_PRESS_EXIT, value = event.value, updateState = { it.copy(doublePressExit = this) @@ -250,7 +249,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLetterSpacing -> handleDatastoreUpdate( - key = DataStoreConstants.LETTER_SPACING, + key = DataStoreData.LETTER_SPACING, value = event.value, updateState = { it.copy(letterSpacing = this) @@ -258,7 +257,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeAbsoluteDark -> handleDatastoreUpdate( - key = DataStoreConstants.ABSOLUTE_DARK, + key = DataStoreData.ABSOLUTE_DARK, value = event.value, updateState = { it.copy(absoluteDark = this) @@ -266,7 +265,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeCutoutPadding -> handleDatastoreUpdate( - key = DataStoreConstants.CUTOUT_PADDING, + key = DataStoreData.CUTOUT_PADDING, value = event.value, updateState = { it.copy(cutoutPadding = this) @@ -274,7 +273,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeFullscreen -> handleDatastoreUpdate( - key = DataStoreConstants.FULLSCREEN, + key = DataStoreData.FULLSCREEN, value = event.value, updateState = { it.copy(fullscreen = this) @@ -282,7 +281,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeKeepScreenOn -> handleDatastoreUpdate( - key = DataStoreConstants.KEEP_SCREEN_ON, + key = DataStoreData.KEEP_SCREEN_ON, value = event.value, updateState = { it.copy(keepScreenOn = this) @@ -290,7 +289,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeVerticalPadding -> handleDatastoreUpdate( - key = DataStoreConstants.VERTICAL_PADDING, + key = DataStoreData.VERTICAL_PADDING, value = event.value, updateState = { it.copy(verticalPadding = this) @@ -298,7 +297,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHideBarsOnFastScroll -> handleDatastoreUpdate( - key = DataStoreConstants.HIDE_BARS_ON_FAST_SCROLL, + key = DataStoreData.HIDE_BARS_ON_FAST_SCROLL, value = event.value, updateState = { it.copy(hideBarsOnFastScroll = this) @@ -306,7 +305,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangePerceptionExpander -> handleDatastoreUpdate( - key = DataStoreConstants.PERCEPTION_EXPANDER, + key = DataStoreData.PERCEPTION_EXPANDER, value = event.value, updateState = { it.copy(perceptionExpander = this) @@ -314,7 +313,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangePerceptionExpanderPadding -> handleDatastoreUpdate( - key = DataStoreConstants.PERCEPTION_EXPANDER_PADDING, + key = DataStoreData.PERCEPTION_EXPANDER_PADDING, value = event.value, updateState = { it.copy(perceptionExpanderPadding = this) @@ -322,7 +321,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangePerceptionExpanderThickness -> handleDatastoreUpdate( - key = DataStoreConstants.PERCEPTION_EXPANDER_THICKNESS, + key = DataStoreData.PERCEPTION_EXPANDER_THICKNESS, value = event.value, updateState = { it.copy(perceptionExpanderThickness = this) @@ -330,7 +329,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeScreenOrientation -> handleDatastoreUpdate( - key = DataStoreConstants.SCREEN_ORIENTATION, + key = DataStoreData.SCREEN_ORIENTATION, value = event.value, updateState = { it.copy(screenOrientation = ReaderScreenOrientation.valueOf(this)) @@ -338,7 +337,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeCustomScreenBrightness -> handleDatastoreUpdate( - key = DataStoreConstants.CUSTOM_SCREEN_BRIGHTNESS, + key = DataStoreData.CUSTOM_SCREEN_BRIGHTNESS, value = event.value, updateState = { it.copy(customScreenBrightness = this) @@ -346,7 +345,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeScreenBrightness -> handleDatastoreUpdate( - key = DataStoreConstants.SCREEN_BRIGHTNESS, + key = DataStoreData.SCREEN_BRIGHTNESS, value = event.value.toDouble(), updateState = { it.copy(screenBrightness = this.toFloat()) @@ -354,7 +353,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHorizontalGesture -> handleDatastoreUpdate( - key = DataStoreConstants.HORIZONTAL_GESTURE, + key = DataStoreData.HORIZONTAL_GESTURE, value = event.value, updateState = { it.copy(horizontalGesture = ReaderHorizontalGesture.valueOf(this)) @@ -362,7 +361,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHorizontalGestureScroll -> handleDatastoreUpdate( - key = DataStoreConstants.HORIZONTAL_GESTURE_SCROLL, + key = DataStoreData.HORIZONTAL_GESTURE_SCROLL, value = event.value.toDouble(), updateState = { it.copy(horizontalGestureScroll = this.toFloat()) @@ -370,7 +369,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHorizontalGestureSensitivity -> handleDatastoreUpdate( - key = DataStoreConstants.HORIZONTAL_GESTURE_SENSITIVITY, + key = DataStoreData.HORIZONTAL_GESTURE_SENSITIVITY, value = event.value.toDouble(), updateState = { it.copy(horizontalGestureSensitivity = this.toFloat()) @@ -378,7 +377,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeBottomBarPadding -> handleDatastoreUpdate( - key = DataStoreConstants.BOTTOM_BAR_PADDING, + key = DataStoreData.BOTTOM_BAR_PADDING, value = event.value, updateState = { it.copy(bottomBarPadding = this) @@ -386,7 +385,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHighlightedReading -> handleDatastoreUpdate( - key = DataStoreConstants.HIGHLIGHTED_READING, + key = DataStoreData.HIGHLIGHTED_READING, value = event.value, updateState = { it.copy(highlightedReading = this) @@ -394,7 +393,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHighlightedReadingThickness -> handleDatastoreUpdate( - key = DataStoreConstants.HIGHLIGHTED_READING_THICKNESS, + key = DataStoreData.HIGHLIGHTED_READING_THICKNESS, value = event.value, updateState = { it.copy(highlightedReadingThickness = this) @@ -402,7 +401,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeChapterTitleAlignment -> handleDatastoreUpdate( - key = DataStoreConstants.CHAPTER_TITLE_ALIGNMENT, + key = DataStoreData.CHAPTER_TITLE_ALIGNMENT, value = event.value, updateState = { it.copy(chapterTitleAlignment = ReaderTextAlignment.valueOf(this)) @@ -410,7 +409,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeImages -> handleDatastoreUpdate( - key = DataStoreConstants.IMAGES, + key = DataStoreData.IMAGES, value = event.value, updateState = { it.copy(images = this) @@ -418,7 +417,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeImagesCornersRoundness -> handleDatastoreUpdate( - key = DataStoreConstants.IMAGES_CORNERS_ROUNDNESS, + key = DataStoreData.IMAGES_CORNERS_ROUNDNESS, value = event.value, updateState = { it.copy(imagesCornersRoundness = this) @@ -426,7 +425,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeImagesAlignment -> handleDatastoreUpdate( - key = DataStoreConstants.IMAGES_ALIGNMENT, + key = DataStoreData.IMAGES_ALIGNMENT, value = event.value, updateState = { it.copy(imagesAlignment = HorizontalAlignment.valueOf(this)) @@ -434,7 +433,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeImagesWidth -> handleDatastoreUpdate( - key = DataStoreConstants.IMAGES_WIDTH, + key = DataStoreData.IMAGES_WIDTH, value = event.value.toDouble(), updateState = { it.copy(imagesWidth = this.toFloat()) @@ -442,7 +441,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeImagesColorEffects -> handleDatastoreUpdate( - key = DataStoreConstants.IMAGES_COLOR_EFFECTS, + key = DataStoreData.IMAGES_COLOR_EFFECTS, value = event.value, updateState = { it.copy(imagesColorEffects = ReaderColorEffects.valueOf(this)) @@ -450,7 +449,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeProgressBar -> handleDatastoreUpdate( - key = DataStoreConstants.PROGRESS_BAR, + key = DataStoreData.PROGRESS_BAR, value = event.value, updateState = { it.copy(progressBar = this) @@ -458,7 +457,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeProgressBarPadding -> handleDatastoreUpdate( - key = DataStoreConstants.PROGRESS_BAR_PADDING, + key = DataStoreData.PROGRESS_BAR_PADDING, value = event.value, updateState = { it.copy(progressBarPadding = this) @@ -466,7 +465,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeProgressBarAlignment -> handleDatastoreUpdate( - key = DataStoreConstants.PROGRESS_BAR_ALIGNMENT, + key = DataStoreData.PROGRESS_BAR_ALIGNMENT, value = event.value, updateState = { it.copy(progressBarAlignment = HorizontalAlignment.valueOf(this)) @@ -474,7 +473,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeProgressBarFontSize -> handleDatastoreUpdate( - key = DataStoreConstants.PROGRESS_BAR_FONT_SIZE, + key = DataStoreData.PROGRESS_BAR_FONT_SIZE, value = event.value, updateState = { it.copy(progressBarFontSize = this) @@ -486,7 +485,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeFontThickness -> handleDatastoreUpdate( - key = DataStoreConstants.FONT_THICKNESS, + key = DataStoreData.FONT_THICKNESS, value = event.value, updateState = { it.copy(fontThickness = ReaderFontThickness.valueOf(this)) @@ -494,7 +493,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeProgressCount -> handleDatastoreUpdate( - key = DataStoreConstants.PROGRESS_COUNT, + key = DataStoreData.PROGRESS_COUNT, value = event.value, updateState = { it.copy(progressCount = ReaderProgressCount.valueOf(this)) @@ -502,7 +501,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHorizontalGestureAlphaAnim -> handleDatastoreUpdate( - key = DataStoreConstants.HORIZONTAL_GESTURE_ALPHA_ANIM, + key = DataStoreData.HORIZONTAL_GESTURE_ALPHA_ANIM, value = event.value, updateState = { it.copy(horizontalGestureAlphaAnim = this) @@ -510,7 +509,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeHorizontalGesturePullAnim -> handleDatastoreUpdate( - key = DataStoreConstants.HORIZONTAL_GESTURE_PULL_ANIM, + key = DataStoreData.HORIZONTAL_GESTURE_PULL_ANIM, value = event.value, updateState = { it.copy(horizontalGesturePullAnim = this) @@ -518,7 +517,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryLayout -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_LAYOUT, + key = DataStoreData.LIBRARY_LAYOUT, value = event.value, updateState = { it.copy(libraryLayout = LibraryLayout.valueOf(this)) @@ -526,7 +525,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryAutoGridSize -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_AUTO_GRID_SIZE, + key = DataStoreData.LIBRARY_AUTO_GRID_SIZE, value = event.value, updateState = { it.copy(libraryAutoGridSize = this) @@ -534,7 +533,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryGridSize -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_GRID_SIZE, + key = DataStoreData.LIBRARY_GRID_SIZE, value = event.value, updateState = { it.copy(libraryGridSize = this) @@ -542,7 +541,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryReadButton -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_READ_BUTTON, + key = DataStoreData.LIBRARY_READ_BUTTON, value = event.value, updateState = { it.copy(libraryReadButton = this) @@ -550,7 +549,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryShowProgress -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_SHOW_PROGRESS, + key = DataStoreData.LIBRARY_SHOW_PROGRESS, value = event.value, updateState = { it.copy(libraryShowProgress = this) @@ -558,7 +557,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryTitlePosition -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_TITLE_POSITION, + key = DataStoreData.LIBRARY_TITLE_POSITION, value = event.value, updateState = { it.copy(libraryTitlePosition = LibraryTitlePosition.valueOf(this)) @@ -566,7 +565,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryShowBookCount -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_SHOW_BOOK_COUNT, + key = DataStoreData.LIBRARY_SHOW_BOOK_COUNT, value = event.value, updateState = { it.copy(libraryShowBookCount = this) @@ -574,7 +573,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryShowCategoryTabs -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_SHOW_CATEGORY_TABS, + key = DataStoreData.LIBRARY_SHOW_CATEGORY_TABS, value = event.value, updateState = { it.copy(libraryShowCategoryTabs = this) @@ -582,7 +581,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryAlwaysShowDefaultTab -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_ALWAYS_SHOW_DEFAULT_TAB, + key = DataStoreData.LIBRARY_ALWAYS_SHOW_DEFAULT_TAB, value = event.value, updateState = { it.copy(libraryAlwaysShowDefaultTab = this) @@ -590,7 +589,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibrarySortOrder -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_SORT_ORDER, + key = DataStoreData.LIBRARY_SORT_ORDER, value = event.value, updateState = { it.copy(librarySortOrder = LibrarySortOrder.valueOf(this)) @@ -598,7 +597,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibrarySortOrderDescending -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_SORT_ORDER_DESCENDING, + key = DataStoreData.LIBRARY_SORT_ORDER_DESCENDING, value = event.value, updateState = { it.copy(librarySortOrderDescending = this) @@ -606,7 +605,7 @@ class MainModel @Inject constructor( ) is MainEvent.OnChangeLibraryPerCategorySort -> handleDatastoreUpdate( - key = DataStoreConstants.LIBRARY_PER_CATEGORY_SORT, + key = DataStoreData.LIBRARY_PER_CATEGORY_SORT, value = event.value, updateState = { it.copy(libraryPerCategorySort = this) @@ -662,7 +661,7 @@ class MainModel @Inject constructor( set.remove(event.value) } handleDatastoreUpdate( - key = DataStoreConstants.BROWSE_INCLUDED_FILTER_ITEMS, + key = DataStoreData.BROWSE_INCLUDED_FILTER_ITEMS, value = set, updateState = { it.copy(browseIncludedFilterItems = toList()) @@ -678,7 +677,7 @@ class MainModel @Inject constructor( set.remove(event.value) } handleDatastoreUpdate( - key = DataStoreConstants.BROWSE_PINNED_PATHS, + key = DataStoreData.BROWSE_PINNED_PATHS, value = set, updateState = { it.copy(browsePinnedPaths = toList()) @@ -710,7 +709,7 @@ class MainModel @Inject constructor( ) { withContext(Dispatchers.Main.immediate) { _state.update { - stateHandle[provideMainState()] = function(it) + stateHandle["main_state"] = function(it) function(it) } } diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt index 956c250e..dbb64279 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/main/MainState.kt @@ -13,11 +13,13 @@ import androidx.annotation.Keep import androidx.compose.runtime.Immutable import androidx.datastore.preferences.core.Preferences import kotlinx.parcelize.Parcelize +import ua.acclorite.book_story.core.data.CoreData import ua.acclorite.book_story.presentation.browse.model.BrowseLayout import ua.acclorite.book_story.presentation.browse.model.BrowseSortOrder import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition +import ua.acclorite.book_story.presentation.main.data.DataStoreData import ua.acclorite.book_story.presentation.main.model.DarkTheme import ua.acclorite.book_story.presentation.main.model.HorizontalAlignment import ua.acclorite.book_story.presentation.main.model.PureDark @@ -28,11 +30,8 @@ import ua.acclorite.book_story.presentation.reader.model.ReaderHorizontalGesture import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount import ua.acclorite.book_story.presentation.reader.model.ReaderScreenOrientation import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment -import ua.acclorite.book_story.ui.common.constants.DataStoreConstants -import ua.acclorite.book_story.ui.common.constants.provideFonts -import ua.acclorite.book_story.ui.common.constants.provideLanguages +import ua.acclorite.book_story.ui.reader.data.ReaderData import ua.acclorite.book_story.ui.theme.Theme -import ua.acclorite.book_story.ui.theme.toTheme import java.util.Locale /** @@ -47,7 +46,7 @@ data class MainState( // General Settings val language: String = provideDefaultValue { val locale = Locale.getDefault().language.take(2) - provideLanguages().any { locale == it.first }.run { + CoreData.languages.any { locale == it.first }.run { if (this) locale else "en"// Default language. } @@ -61,7 +60,7 @@ data class MainState( val doublePressExit: Boolean = provideDefaultValue { false }, // Reader Settings - val fontFamily: String = provideDefaultValue { provideFonts()[0].id }, + val fontFamily: String = provideDefaultValue { ReaderData.fonts[0].id }, val fontThickness: ReaderFontThickness = provideDefaultValue { ReaderFontThickness.NORMAL }, val isItalic: Boolean = provideDefaultValue { false }, val fontSize: Int = provideDefaultValue { 16 }, @@ -150,14 +149,14 @@ data class MainState( return (data[key.name] as? T)?.convert() ?: defaultState.default() } - return DataStoreConstants.run { + return DataStoreData.run { MainState( language = provideValue( LANGUAGE ) { language }, theme = provideValue( - THEME, convert = { toTheme() } + THEME, convert = { Theme.valueOf(this) } ) { theme }, darkTheme = provideValue( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/DataStoreConstants.kt b/app/src/main/java/ua/acclorite/book_story/presentation/main/data/DataStoreData.kt similarity index 98% rename from app/src/main/java/ua/acclorite/book_story/ui/common/constants/DataStoreConstants.kt rename to app/src/main/java/ua/acclorite/book_story/presentation/main/data/DataStoreData.kt index 2d8d8217..0db9ceca 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/DataStoreConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/main/data/DataStoreData.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.common.constants +package ua.acclorite.book_story.presentation.main.data import androidx.datastore.preferences.core.booleanPreferencesKey import androidx.datastore.preferences.core.doublePreferencesKey @@ -12,7 +12,7 @@ import androidx.datastore.preferences.core.intPreferencesKey import androidx.datastore.preferences.core.stringPreferencesKey import androidx.datastore.preferences.core.stringSetPreferencesKey -object DataStoreConstants { +object DataStoreData { // General settings val LANGUAGE = stringPreferencesKey("language") val THEME = stringPreferencesKey("theme") diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt index fed3026c..534ebc8a 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderModel.kt @@ -35,6 +35,7 @@ import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.helpers.coerceAndPreventNaN import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.domain.use_case.book.GetBookUseCase @@ -44,10 +45,9 @@ import ua.acclorite.book_story.domain.use_case.history.GetHistoryForBookUseCase import ua.acclorite.book_story.presentation.history.HistoryScreen import ua.acclorite.book_story.presentation.library.LibraryScreen import ua.acclorite.book_story.presentation.reader.model.Checkpoint -import ua.acclorite.book_story.ui.common.util.coerceAndPreventNaN -import ua.acclorite.book_story.ui.common.util.launchActivity -import ua.acclorite.book_story.ui.common.util.setBrightness -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.launchActivity +import ua.acclorite.book_story.ui.common.helpers.setBrightness +import ua.acclorite.book_story.ui.common.helpers.showToast import javax.inject.Inject import kotlin.math.roundToInt diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScreen.kt index 57badd62..1082235c 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderScreen.kt @@ -44,6 +44,7 @@ import androidx.core.view.WindowInsetsCompat import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.parcelize.Parcelize +import ua.acclorite.book_story.core.helpers.calculateProgress import ua.acclorite.book_story.presentation.book_info.BookInfoScreen import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.navigator.Screen @@ -51,12 +52,11 @@ import ua.acclorite.book_story.presentation.reader.model.ReaderColorEffects import ua.acclorite.book_story.presentation.reader.model.ReaderProgressCount import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment import ua.acclorite.book_story.presentation.settings.SettingsModel -import ua.acclorite.book_story.ui.common.constants.provideFonts -import ua.acclorite.book_story.ui.common.util.LocalActivity -import ua.acclorite.book_story.ui.common.util.calculateProgress -import ua.acclorite.book_story.ui.common.util.setBrightness +import ua.acclorite.book_story.ui.common.helpers.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.setBrightness import ua.acclorite.book_story.ui.navigator.LocalNavigator import ua.acclorite.book_story.ui.reader.ReaderContent +import ua.acclorite.book_story.ui.reader.data.ReaderData import kotlin.math.roundToInt @Parcelize @@ -117,7 +117,7 @@ data class ReaderScreen(val bookId: Int) : Screen, Parcelable { } val fontFamily = remember(mainState.value.fontFamily) { - provideFonts().run { + ReaderData.fonts.run { find { it.id == mainState.value.fontFamily } ?: get(0) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt index e40abf03..b5e80644 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/reader/ReaderState.kt @@ -15,11 +15,10 @@ import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.domain.model.reader.ReaderText import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.model.Checkpoint -import ua.acclorite.book_story.ui.common.constants.provideEmptyBook @Immutable data class ReaderState( - val book: Book = provideEmptyBook(), + val book: Book = Book.default, val text: List = emptyList(), val listState: LazyListState = LazyListState(), diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt index da3250b8..d0c44173 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsModel.kt @@ -36,8 +36,7 @@ import ua.acclorite.book_story.domain.use_case.color_preset.SelectColorPresetUse import ua.acclorite.book_story.domain.use_case.color_preset.UpdateColorPresetUseCase import ua.acclorite.book_story.domain.use_case.permission.GrantPersistableUriPermissionUseCase import ua.acclorite.book_story.domain.use_case.permission.ReleasePersistableUriPermissionUseCase -import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.showToast import javax.inject.Inject import kotlin.random.Random @@ -79,7 +78,7 @@ class SettingsModel @Inject constructor( var colorPresets = getColorPresetsUseCase() if (colorPresets.isEmpty()) { - updateColorPresetUseCase(provideDefaultColorPreset()) + updateColorPresetUseCase(ColorPreset.default) getColorPresetsUseCase().first().select() colorPresets = getColorPresetsUseCase() } @@ -453,7 +452,7 @@ class SettingsModel @Inject constructor( addColorPresetJob = launch { yield() - val newColorPreset = provideDefaultColorPreset().copy( + val newColorPreset = ColorPreset.default.copy( backgroundColor = event.backgroundColor, fontColor = event.fontColor ) @@ -572,7 +571,7 @@ class SettingsModel @Inject constructor( val selectedPreset = presets.firstOrNull { it.isSelected } if (selectedPreset == null) { - return provideDefaultColorPreset() + return ColorPreset.default } return selectedPreset diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt index 6cb95461..746502c3 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/SettingsState.kt @@ -11,12 +11,11 @@ import androidx.compose.runtime.Immutable import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.domain.model.reader.ColorPreset -import ua.acclorite.book_story.ui.common.constants.provideDefaultColorPreset @Immutable data class SettingsState( val colorPresets: List = emptyList(), - val selectedColorPreset: ColorPreset = provideDefaultColorPreset(), + val selectedColorPreset: ColorPreset = ColorPreset.default, val animateColorPreset: Boolean = false, val colorPresetListState: LazyListState = LazyListState(), diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartScreen.kt b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartScreen.kt index 2173ac2d..061bcc4d 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/start/StartScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/start/StartScreen.kt @@ -17,15 +17,15 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize +import ua.acclorite.book_story.core.data.CoreData import ua.acclorite.book_story.presentation.browse.BrowseScreen import ua.acclorite.book_story.presentation.help.HelpScreen import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.navigator.Screen import ua.acclorite.book_story.presentation.navigator.StackEvent -import ua.acclorite.book_story.ui.common.constants.provideLanguages +import ua.acclorite.book_story.ui.common.helpers.LocalActivity import ua.acclorite.book_story.ui.common.model.ButtonItem -import ua.acclorite.book_story.ui.common.util.LocalActivity import ua.acclorite.book_story.ui.navigator.LocalNavigator import ua.acclorite.book_story.ui.start.StartContent @@ -61,7 +61,7 @@ object StartScreen : Screen, Parcelable { val stackEvent = remember { mutableStateOf(StackEvent.Default) } val languages = remember(mainState.value.language) { - provideLanguages().sortedBy { it.second }.map { + CoreData.languages.sortedBy { it.second }.map { ButtonItem( id = it.first, title = it.second, diff --git a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadges.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadges.kt index 578777ee..afa330dd 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadges.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutBadges.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.about.AboutEvent -import ua.acclorite.book_story.ui.common.constants.provideAboutBadges -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.about.data.AboutData +import ua.acclorite.book_story.ui.common.helpers.showToast @Composable fun AboutBadges( @@ -38,7 +38,7 @@ fun AboutBadges( horizontalArrangement = Arrangement.spacedBy(13.dp) ) { items( - provideAboutBadges(), + AboutData.badges, key = { it.id } ) { badge -> AboutBadgeItem(badge = badge) { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutLayout.kt index 7ce9a4b5..c5ce92bd 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/about/AboutLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/AboutLayout.kt @@ -26,13 +26,9 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.data.LinkData import ua.acclorite.book_story.presentation.about.AboutEvent import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.provideContributorsPage -import ua.acclorite.book_story.ui.common.constants.provideIssuesPage -import ua.acclorite.book_story.ui.common.constants.provideReleasesPage -import ua.acclorite.book_story.ui.common.constants.provideSupportPage -import ua.acclorite.book_story.ui.common.constants.provideTranslationPage @Composable fun AboutLayout( @@ -85,7 +81,7 @@ fun AboutLayout( ) { navigateToBrowserPage( AboutEvent.OnNavigateToBrowserPage( - page = provideReleasesPage(), + page = LinkData.RELEASES, context = context ) ) @@ -99,7 +95,7 @@ fun AboutLayout( ) { navigateToBrowserPage( AboutEvent.OnNavigateToBrowserPage( - page = provideIssuesPage(), + page = LinkData.ISSUES, context = context ) ) @@ -114,7 +110,7 @@ fun AboutLayout( ) { navigateToBrowserPage( AboutEvent.OnNavigateToBrowserPage( - page = provideContributorsPage(), + page = LinkData.CONTRIBUTORS, context = context ) ) @@ -146,7 +142,7 @@ fun AboutLayout( ) { navigateToBrowserPage( AboutEvent.OnNavigateToBrowserPage( - page = provideTranslationPage(), + page = LinkData.TRANSLATION, context = context ) ) @@ -160,7 +156,7 @@ fun AboutLayout( ) { navigateToBrowserPage( AboutEvent.OnNavigateToBrowserPage( - page = provideSupportPage(), + page = LinkData.SUPPORT, context = context ) ) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/about/data/AboutData.kt b/app/src/main/java/ua/acclorite/book_story/ui/about/data/AboutData.kt new file mode 100644 index 00000000..08fb2426 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/ui/about/data/AboutData.kt @@ -0,0 +1,51 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.ui.about.data + +import kotlinx.collections.immutable.persistentListOf +import ua.acclorite.book_story.R +import ua.acclorite.book_story.ui.about.model.Badge + +object AboutData { + val badges = persistentListOf( + Badge( + id = "github", + drawable = R.drawable.github, + imageVector = null, + contentDescription = R.string.github_badge, + url = "https://www.github.com/Acclorite" + ), + Badge( + id = "reddit", + drawable = R.drawable.reddit, + imageVector = null, + contentDescription = R.string.reddit_badge, + url = "https://www.reddit.com/user/Acclorite/" + ), + Badge( + id = "tryzub", + drawable = R.drawable.tryzub, + imageVector = null, + contentDescription = R.string.tryzub_badge, + url = null + ), + Badge( + id = "gitlab", + drawable = R.drawable.gitlab, + imageVector = null, + contentDescription = R.string.gitlab_badge, + url = "https://www.gitlab.com/Acclorite" + ), + Badge( + id = "codeberg", + drawable = R.drawable.codeberg, + imageVector = null, + contentDescription = R.string.codeberg_badge, + url = "https://www.codeberg.org/Acclorite" + ) + ) +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt index c7f2fb3a..e9e65e5c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoDetailsBottomSheet.kt @@ -18,12 +18,12 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.data.ExtensionsData import ua.acclorite.book_story.data.model.file.CachedFileCompat import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.ui.common.constants.provideExtensions import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle import java.text.SimpleDateFormat import java.util.Date @@ -60,7 +60,7 @@ fun BookInfoDetailsBottomSheet( val fileExists = remember(cachedFile) { cachedFile.let { - it != null && it.canAccess() && !it.isDirectory && provideExtensions() + it != null && it.canAccess() && !it.isDirectory && ExtensionsData.fileExtensions .any { ext -> it.name.endsWith(ext, ignoreCase = true) } diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt index 77882f61..551cd5a3 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayout.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.unit.dp import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.common.data.ScrollbarData @Composable fun BookInfoLayout( @@ -38,7 +38,7 @@ fun BookInfoLayout( LazyColumnWithScrollbar( modifier = Modifier.fillMaxSize(), state = listState, - scrollbarSettings = providePrimaryScrollbar(false), + scrollbarSettings = ScrollbarData.primaryScrollbar, contentPadding = PaddingValues(bottom = 18.dp) ) { item { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt index 314980f6..534a4910 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutButton.kt @@ -15,9 +15,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.helpers.calculateProgress import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.calculateProgress @Composable fun BookInfoLayoutButton( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt index 6b09fcb0..88bb5b34 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutDescription.kt @@ -42,7 +42,7 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable @Composable fun BookInfoLayoutDescription( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt index c3730b95..6e981c9f 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoAuthor.kt @@ -23,7 +23,7 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable @Composable fun BookInfoLayoutInfoAuthor( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt index fd24c0ff..58ff881c 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoCover.kt @@ -28,7 +28,7 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable @Composable fun BookInfoLayoutInfoCover( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt index 4071f59e..2c5a61be 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoProgress.kt @@ -17,9 +17,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp +import ua.acclorite.book_story.core.helpers.calculateProgress import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.calculateProgress @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt index ed92f3a6..4dd994a3 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/book_info/BookInfoLayoutInfoTitle.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.Modifier import ua.acclorite.book_story.domain.model.library.Book import ua.acclorite.book_story.presentation.book_info.BookInfoEvent import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable @Composable fun BookInfoLayoutInfoTitle( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialog.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialog.kt index feecef1e..903a07c1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialog.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseAddDialog.kt @@ -25,7 +25,7 @@ import ua.acclorite.book_story.presentation.browse.BrowseEvent import ua.acclorite.book_story.presentation.library.model.SelectableNullableBook import ua.acclorite.book_story.ui.common.components.dialog.Dialog import ua.acclorite.book_story.ui.common.components.progress_indicator.CircularProgressIndicator -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.showToast import java.util.UUID @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridLayout.kt index 72e38701..8dec8785 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseGridLayout.kt @@ -21,7 +21,7 @@ import ua.acclorite.book_story.presentation.browse.model.GroupedFiles import ua.acclorite.book_story.presentation.browse.model.SelectableFile import ua.acclorite.book_story.ui.common.components.common.LazyVerticalGridWithScrollbar import ua.acclorite.book_story.ui.common.components.common.header -import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.common.data.ScrollbarData @Composable fun BrowseGridLayout( @@ -38,7 +38,7 @@ fun BrowseGridLayout( state = gridState, modifier = Modifier.fillMaxSize(), contentPadding = PaddingValues(horizontal = 8.dp), - scrollbarSettings = providePrimaryScrollbar(false) + scrollbarSettings = ScrollbarData.primaryScrollbar ) { groupedFiles.forEach { group -> stickyHeader { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayoutHeader.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayoutHeader.kt index 2bb2df12..3f8683f1 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayoutHeader.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseLayoutHeader.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable @Composable fun BrowseLayoutHeader( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListLayout.kt index a397ca3c..3e107b56 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/browse/BrowseListLayout.kt @@ -19,7 +19,7 @@ import androidx.compose.ui.unit.dp import ua.acclorite.book_story.presentation.browse.model.GroupedFiles import ua.acclorite.book_story.presentation.browse.model.SelectableFile import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.common.data.ScrollbarData @Composable fun BrowseListLayout( @@ -32,7 +32,7 @@ fun BrowseListLayout( state = listState, modifier = Modifier.fillMaxSize(), contentPadding = PaddingValues(horizontal = 8.dp), - scrollbarSettings = providePrimaryScrollbar(false) + scrollbarSettings = ScrollbarData.primaryScrollbar ) { groupedFiles.forEach { group -> stickyHeader { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyColumnWithScrollbar.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyColumnWithScrollbar.kt index c51d49e5..18121d80 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyColumnWithScrollbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyColumnWithScrollbar.kt @@ -20,14 +20,14 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import my.nanihadesuka.compose.InternalLazyColumnScrollbar import my.nanihadesuka.compose.ScrollbarSettings -import ua.acclorite.book_story.ui.common.constants.provideSecondaryScrollbar +import ua.acclorite.book_story.ui.common.data.ScrollbarData @Composable fun LazyColumnWithScrollbar( modifier: Modifier = Modifier, parentModifier: Modifier = Modifier, state: LazyListState = rememberLazyListState(), - scrollbarSettings: ScrollbarSettings = provideSecondaryScrollbar(), + scrollbarSettings: ScrollbarSettings = ScrollbarData.secondaryScrollbar, enableScrollbar: Boolean = true, contentPadding: PaddingValues = PaddingValues(0.dp), verticalArrangement: Arrangement.Vertical = Arrangement.Top, diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyVerticalGridWithScrollbar.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyVerticalGridWithScrollbar.kt index 41c7516c..bb1227da 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyVerticalGridWithScrollbar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/common/LazyVerticalGridWithScrollbar.kt @@ -21,14 +21,14 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import my.nanihadesuka.compose.InternalLazyVerticalGridScrollbar import my.nanihadesuka.compose.ScrollbarSettings -import ua.acclorite.book_story.ui.common.constants.provideSecondaryScrollbar +import ua.acclorite.book_story.ui.common.data.ScrollbarData @Composable fun LazyVerticalGridWithScrollbar( modifier: Modifier = Modifier, columns: GridCells, state: LazyGridState = rememberLazyGridState(), - scrollbarSettings: ScrollbarSettings = provideSecondaryScrollbar(), + scrollbarSettings: ScrollbarSettings = ScrollbarData.secondaryScrollbar, enableScrollbar: Boolean = true, contentPadding: PaddingValues = PaddingValues(0.dp), verticalArrangement: Arrangement.Vertical = Arrangement.Top, diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawer.kt index 24f9ba90..bdbb3fc2 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/components/modal_drawer/ModalDrawer.kt @@ -41,8 +41,8 @@ import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.data.ScrollbarData +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable /** * Modal Drawer. @@ -145,7 +145,7 @@ fun ModalDrawer( LazyColumnWithScrollbar( state = rememberLazyListState(startIndex), modifier = Modifier.fillMaxSize(), - scrollbarSettings = providePrimaryScrollbar(), + scrollbarSettings = ScrollbarData.primarySelectableScrollbar, contentPadding = PaddingValues(vertical = 9.dp) ) { content() diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/AboutBadgeConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/AboutBadgeConstants.kt deleted file mode 100644 index 24b83725..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/AboutBadgeConstants.kt +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.ui.common.constants - -import ua.acclorite.book_story.R -import ua.acclorite.book_story.ui.about.model.Badge - -fun provideAboutBadges() = listOf( - Badge( - id = "github", - drawable = R.drawable.github, - imageVector = null, - contentDescription = R.string.github_badge, - url = "https://www.github.com/Acclorite" - ), - Badge( - id = "reddit", - drawable = R.drawable.reddit, - imageVector = null, - contentDescription = R.string.reddit_badge, - url = "https://www.reddit.com/user/Acclorite/" - ), - Badge( - id = "tryzub", - drawable = R.drawable.tryzub, - imageVector = null, - contentDescription = R.string.tryzub_badge, - url = null - ), - Badge( - id = "gitlab", - drawable = R.drawable.gitlab, - imageVector = null, - contentDescription = R.string.gitlab_badge, - url = "https://www.gitlab.com/Acclorite" - ), - Badge( - id = "codeberg", - drawable = R.drawable.codeberg, - imageVector = null, - contentDescription = R.string.codeberg_badge, - url = "https://www.codeberg.org/Acclorite" - ), -) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt deleted file mode 100644 index 8884853b..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CommonConstants.kt +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -@file:Suppress("SameReturnValue") - -package ua.acclorite.book_story.ui.common.constants - -import androidx.compose.ui.graphics.Color -import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.domain.model.library.Book -import ua.acclorite.book_story.domain.model.reader.ColorPreset - -// Main State -fun provideMainState() = "main_state" - -// Empty Book -fun provideEmptyBook() = Book( - id = -1, - title = "", - author = UIText.StringValue(""), - description = null, - filePath = "", - coverImage = null, - scrollIndex = 0, - scrollOffset = 0, - progress = 0f, - lastOpened = null, - categories = emptyList() -) - -// Default Color Preset -fun provideDefaultColorPreset() = ColorPreset( - id = -1, - name = null, - backgroundColor = Color(0xFFFAF8FF), // Blue Light Surface (hardcoded) - fontColor = Color(0xFF44464F), // Blue Light OnSurfaceVariant (hardcoded) - isSelected = false -) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CreditConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CreditConstants.kt deleted file mode 100644 index 2e70e92f..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/CreditConstants.kt +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.ui.common.constants - -import ua.acclorite.book_story.R -import ua.acclorite.book_story.core.ui.UIText -import ua.acclorite.book_story.ui.about.model.Credit - -fun provideCredits() = listOf( - Credit( - name = "Tachiyomi (Mihon)", - source = "GitHub", - credits = listOf( - UIText.StringResource(R.string.credits_design), - UIText.StringResource(R.string.credits_ideas), - UIText.StringValue("Readme") - ), - website = "https://www.github.com/mihonapp/mihon" - ), - Credit( - name = "Kitsune", - source = "GitHub", - credits = listOf( - UIText.StringResource(R.string.credits_updates), - UIText.StringResource(R.string.credits_ideas) - ), - website = "https://www.github.com/Drumber/Kitsune" - ), - Credit( - name = "Voyager", - source = "Voyager Website", - credits = listOf( - UIText.StringResource(R.string.credits_ideas) - ), - website = "https://voyager.adriel.cafe/" - ), - Credit( - name = "Material Design Icons", - source = "Google Fonts", - credits = listOf( - UIText.StringResource(R.string.credits_icon) - ), - website = "https://fonts.google.com/icons" - ), - Credit( - name = "Material Design Fonts", - source = "Google Fonts", - credits = listOf( - UIText.StringResource(R.string.credits_fonts) - ), - website = "https://fonts.google.com" - ), - Credit( - name = "Weblate", - source = "Hosted Weblate", - credits = listOf( - UIText.StringResource(R.string.credits_translation), - UIText.StringResource(R.string.credits_contribution) - ), - website = "https://hosted.weblate.org/projects/book-story" - ), - Credit( - name = "OpenDyslexic Font", - source = "OpenDyslexic Website", - credits = listOf( - UIText.StringResource(R.string.credits_fonts) - ), - website = "https://opendyslexic.org" - ), - Credit( - name = "GitLab Badge", - source = "Censorship Website", - credits = listOf( - UIText.StringResource(R.string.credits_icon) - ), - website = "https://censorship.no/en/index.html" - ), - Credit( - name = "GitHub Badge", - source = "GitHub", - credits = listOf( - UIText.StringResource(R.string.credits_icon) - ), - website = "https://github.com/Kunzisoft/Github-badge" - ), - Credit( - name = "Codeberg Badge", - source = "Codeberg", - credits = listOf( - UIText.StringResource(R.string.credits_icon) - ), - website = "https://codeberg.org/Codeberg/GetItOnCodeberg" - ), -) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/HelpTipConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/HelpTipConstants.kt deleted file mode 100644 index b9762dc6..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/HelpTipConstants.kt +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.ui.common.constants - -import androidx.compose.ui.res.stringResource -import ua.acclorite.book_story.R -import ua.acclorite.book_story.ui.help.HelpAnnotation -import ua.acclorite.book_story.ui.help.model.HelpTip - -fun provideHelpTips() = listOf( - HelpTip( - title = R.string.help_title_how_to_add_books, - description = { - append(stringResource(id = R.string.help_desc_how_to_add_books_1) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_add_books_2)) - } - append(". ") - - append(stringResource(id = R.string.help_desc_how_to_add_books_3) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_add_books_4)) - } - append(".") - } - ), - - HelpTip( - title = R.string.help_title_how_to_customize_app, - description = { - append(stringResource(id = R.string.help_desc_how_to_customize_app_1) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_customize_app_2)) - } - append(". ") - - append(stringResource(id = R.string.help_desc_how_to_customize_app_3)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_move_or_delete_books, - description = { - append(stringResource(id = R.string.help_desc_how_to_move_or_delete_books_1) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_move_or_delete_books_2)) - } - append(". ") - - append(stringResource(id = R.string.help_desc_how_to_move_or_delete_books_3)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_edit_book, - description = { - append(stringResource(id = R.string.help_desc_how_to_edit_book_1) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_edit_book_2)) - } - append(" ") - - append(stringResource(id = R.string.help_desc_how_to_edit_book_3)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_read_book, - description = { - append(stringResource(id = R.string.help_desc_how_to_read_book_1) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_read_book_2)) - } - append(". ") - - append(stringResource(id = R.string.help_desc_how_to_read_book_3)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_customize_reader, - description = { - append(stringResource(id = R.string.help_desc_how_to_customize_reader_1) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_customize_reader_2)) - } - append(" ") - - append(stringResource(id = R.string.help_desc_how_to_customize_reader_3)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_manage_history, - description = { - append(stringResource(id = R.string.help_desc_how_to_manage_history_1) + " ") - - HelpAnnotation { - append(stringResource(id = R.string.help_desc_how_to_manage_history_2)) - } - append(". ") - - append(stringResource(id = R.string.help_desc_how_to_manage_history_3)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_use_tooltip, - description = { - append(stringResource(id = R.string.help_desc_how_to_use_tooltip_1)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_use_double_click_translation, - description = { - append(stringResource(id = R.string.help_desc_how_to_use_double_click_translation_1)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_create_color_presets, - description = { - append(stringResource(id = R.string.help_desc_how_to_create_color_presets_1)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_use_color_presets, - description = { - append(stringResource(id = R.string.help_desc_how_to_use_color_presets_1)) - } - ), - - HelpTip( - title = R.string.help_title_how_to_use_perception_expander, - description = { - append(stringResource(id = R.string.help_desc_how_to_use_perception_expander_1)) - } - ), -) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LanguageConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LanguageConstants.kt deleted file mode 100644 index 2e41e677..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LanguageConstants.kt +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.ui.common.constants - -fun provideLanguages() = listOf( - Pair("en", "English"), - Pair("uk", "Українська"), - Pair("de", "Deutsch"), - Pair("ar", "اَلْعَرَبِيَّةُ"), - Pair("es", "Español"), - Pair("tr", "Türkçe"), - Pair("fr", "Français"), - Pair("pl", "Polski"), - Pair("it", "Italiano"), - Pair("zh", "汉语"), - Pair("hi", "हिन्दी"), - // Currently as "pt" (which is Portuguese) instead of "pt-BR" - Pair("pt", "Português (Brasil)"), - Pair("ta", "தமிழ்"), - Pair("ml", "മലയാളം"), - Pair("cs", "Čeština"), - Pair("ro", "Română"), - Pair("be", "Беларуская"), - Pair("ja", "日本語"), -) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LinkConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LinkConstants.kt deleted file mode 100644 index 0b90e221..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/LinkConstants.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -@file:Suppress("SameReturnValue") - -package ua.acclorite.book_story.ui.common.constants - -fun provideReleasesPage() = - "https://www.github.com/Acclorite/book-story/releases/latest" - -fun provideIssuesPage() = - "https://www.github.com/Acclorite/book-story/issues" - -fun provideContributorsPage() = - "https://github.com/Acclorite/book-story/graphs/contributors" - -fun provideTranslationPage() = - "https://hosted.weblate.org/projects/book-story" - -fun provideSupportPage() = - "https://patreon.com/Acclorite" \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/ScrollbarConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/ScrollbarConstants.kt deleted file mode 100644 index 6158ef35..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/ScrollbarConstants.kt +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.ui.common.constants - -import androidx.compose.material3.MaterialTheme -import androidx.compose.runtime.Composable -import androidx.compose.ui.graphics.RectangleShape -import androidx.compose.ui.unit.dp -import my.nanihadesuka.compose.ScrollbarSelectionMode -import my.nanihadesuka.compose.ScrollbarSettings - -@Composable -fun providePrimaryScrollbar(canSelect: Boolean = true) = ScrollbarSettings( - thumbUnselectedColor = MaterialTheme.colorScheme.secondary, - thumbSelectedColor = MaterialTheme.colorScheme.secondary.copy(0.8f), - hideDelayMillis = 2000, - durationAnimationMillis = 300, - selectionMode = if (canSelect) ScrollbarSelectionMode.Thumb else ScrollbarSelectionMode.Disabled, - thumbThickness = 8.dp, - scrollbarPadding = 4.dp -) - -@Composable -fun provideSecondaryScrollbar() = ScrollbarSettings( - thumbUnselectedColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(0.5f), - hideDelayMillis = 500, - durationAnimationMillis = 200, - thumbMinLength = 0.4f, - selectionMode = ScrollbarSelectionMode.Disabled, - thumbThickness = 4.dp, - thumbShape = RectangleShape, - hideDisplacement = 0.dp, - scrollbarPadding = 0.dp -) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/SupportedExtensionConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/constants/SupportedExtensionConstants.kt deleted file mode 100644 index 6ea585c4..00000000 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/SupportedExtensionConstants.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Book's Story — free and open-source Material You eBook reader. - * Copyright (C) 2024-2025 Acclorite - * SPDX-License-Identifier: GPL-3.0-only - */ - -package ua.acclorite.book_story.ui.common.constants - -fun provideExtensions() = listOf( - ".epub", - ".pdf", - ".fb2", - ".txt", - ".html", - ".htm", - ".md" -) - -fun provideImageExtensions() = listOf( - ".png", - ".jpg", - ".jpeg", - ".gif" -) \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/data/ScrollbarData.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/data/ScrollbarData.kt new file mode 100644 index 00000000..99e17d96 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/data/ScrollbarData.kt @@ -0,0 +1,51 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.ui.common.data + +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.RectangleShape +import androidx.compose.ui.unit.dp +import my.nanihadesuka.compose.ScrollbarSelectionMode +import my.nanihadesuka.compose.ScrollbarSettings + +object ScrollbarData { + val primarySelectableScrollbar + @Composable get() = ScrollbarSettings( + thumbUnselectedColor = MaterialTheme.colorScheme.secondary, + thumbSelectedColor = MaterialTheme.colorScheme.secondary.copy(0.8f), + hideDelayMillis = 2000, + durationAnimationMillis = 300, + selectionMode = ScrollbarSelectionMode.Thumb, + thumbThickness = 8.dp, + scrollbarPadding = 4.dp + ) + + val primaryScrollbar + @Composable get() = ScrollbarSettings( + thumbUnselectedColor = MaterialTheme.colorScheme.secondary, + thumbSelectedColor = MaterialTheme.colorScheme.secondary.copy(0.8f), + hideDelayMillis = 2000, + durationAnimationMillis = 300, + selectionMode = ScrollbarSelectionMode.Disabled, + thumbThickness = 8.dp, + scrollbarPadding = 4.dp + ) + + val secondaryScrollbar + @Composable get() = ScrollbarSettings( + thumbUnselectedColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(0.5f), + hideDelayMillis = 500, + durationAnimationMillis = 200, + thumbMinLength = 0.4f, + selectionMode = ScrollbarSelectionMode.Disabled, + thumbThickness = 4.dp, + thumbShape = RectangleShape, + hideDisplacement = 0.dp, + scrollbarPadding = 0.dp + ) +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/util/LifecycleExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/helpers/LifecycleHelpers.kt similarity index 96% rename from app/src/main/java/ua/acclorite/book_story/ui/common/util/LifecycleExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/helpers/LifecycleHelpers.kt index 0d0c21e7..62e39fa3 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/util/LifecycleExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/helpers/LifecycleHelpers.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.common.util +package ua.acclorite.book_story.ui.common.helpers import android.annotation.SuppressLint import android.content.Intent diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/util/ModifierExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/helpers/ModifierHelpers.kt similarity index 92% rename from app/src/main/java/ua/acclorite/book_story/ui/common/util/ModifierExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/helpers/ModifierHelpers.kt index d44cafc9..31f05597 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/util/ModifierExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/helpers/ModifierHelpers.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.common.util +package ua.acclorite.book_story.ui.common.helpers import androidx.compose.foundation.combinedClickable import androidx.compose.ui.Modifier diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/util/ToastExtensions.kt b/app/src/main/java/ua/acclorite/book_story/ui/common/helpers/ToastHelpers.kt similarity index 90% rename from app/src/main/java/ua/acclorite/book_story/ui/common/util/ToastExtensions.kt rename to app/src/main/java/ua/acclorite/book_story/ui/common/helpers/ToastHelpers.kt index 70bab32c..5dab85f8 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/util/ToastExtensions.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/common/helpers/ToastHelpers.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.common.util +package ua.acclorite.book_story.ui.common.helpers import android.content.Context import android.widget.Toast diff --git a/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsLayout.kt index 09e2e537..bb664050 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/CreditsLayout.kt @@ -16,7 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import ua.acclorite.book_story.presentation.about.AboutEvent import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.provideCredits +import ua.acclorite.book_story.ui.credits.data.CreditData @Composable fun CreditsLayout( @@ -32,7 +32,7 @@ fun CreditsLayout( state = listState ) { items( - provideCredits(), + CreditData.credits, key = { it.name } ) { credit -> CreditItem(credit = credit) { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/credits/data/CreditData.kt b/app/src/main/java/ua/acclorite/book_story/ui/credits/data/CreditData.kt new file mode 100644 index 00000000..dea5ddc7 --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/ui/credits/data/CreditData.kt @@ -0,0 +1,101 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.ui.credits.data + +import kotlinx.collections.immutable.persistentListOf +import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.ui.UIText +import ua.acclorite.book_story.ui.about.model.Credit + +object CreditData { + val credits = persistentListOf( + Credit( + name = "Tachiyomi (Mihon)", + source = "GitHub", + credits = listOf( + UIText.StringResource(R.string.credits_design), + UIText.StringResource(R.string.credits_ideas), + UIText.StringValue("Readme") + ), + website = "https://www.github.com/mihonapp/mihon" + ), + Credit( + name = "Kitsune", + source = "GitHub", + credits = listOf( + UIText.StringResource(R.string.credits_updates), + UIText.StringResource(R.string.credits_ideas) + ), + website = "https://www.github.com/Drumber/Kitsune" + ), + Credit( + name = "Voyager", + source = "Voyager Website", + credits = listOf( + UIText.StringResource(R.string.credits_ideas) + ), + website = "https://voyager.adriel.cafe/" + ), + Credit( + name = "Material Design Icons", + source = "Google Fonts", + credits = listOf( + UIText.StringResource(R.string.credits_icon) + ), + website = "https://fonts.google.com/icons" + ), + Credit( + name = "Material Design Fonts", + source = "Google Fonts", + credits = listOf( + UIText.StringResource(R.string.credits_fonts) + ), + website = "https://fonts.google.com" + ), + Credit( + name = "Weblate", + source = "Hosted Weblate", + credits = listOf( + UIText.StringResource(R.string.credits_translation), + UIText.StringResource(R.string.credits_contribution) + ), + website = "https://hosted.weblate.org/projects/book-story" + ), + Credit( + name = "OpenDyslexic Font", + source = "OpenDyslexic Website", + credits = listOf( + UIText.StringResource(R.string.credits_fonts) + ), + website = "https://opendyslexic.org" + ), + Credit( + name = "GitLab Badge", + source = "Censorship Website", + credits = listOf( + UIText.StringResource(R.string.credits_icon) + ), + website = "https://censorship.no/en/index.html" + ), + Credit( + name = "GitHub Badge", + source = "GitHub", + credits = listOf( + UIText.StringResource(R.string.credits_icon) + ), + website = "https://github.com/Kunzisoft/Github-badge" + ), + Credit( + name = "Codeberg Badge", + source = "Codeberg", + credits = listOf( + UIText.StringResource(R.string.credits_icon) + ), + website = "https://codeberg.org/Codeberg/GetItOnCodeberg" + ) + ) +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt index 32db97d9..1807e0ad 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpItem.kt @@ -39,8 +39,8 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable import ua.acclorite.book_story.ui.common.model.Position -import ua.acclorite.book_story.ui.common.util.noRippleClickable import ua.acclorite.book_story.ui.help.model.HelpTip import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpLayout.kt index 19bbe26d..dac7b527 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/help/HelpLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/HelpLayout.kt @@ -15,8 +15,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.provideHelpTips import ua.acclorite.book_story.ui.common.model.Position +import ua.acclorite.book_story.ui.help.data.HelpData @Composable fun HelpLayout( @@ -31,14 +31,14 @@ fun HelpLayout( contentPadding = PaddingValues(vertical = 16.dp) ) { itemsIndexed( - provideHelpTips(), + HelpData.tips, key = { _, helpTip -> helpTip.title } ) { index, helpTip -> HelpItem( helpTip = helpTip, position = when (index) { 0 -> Position.TOP - provideHelpTips().lastIndex -> Position.BOTTOM + HelpData.tips.lastIndex -> Position.BOTTOM else -> Position.CENTER } ) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/help/data/HelpData.kt b/app/src/main/java/ua/acclorite/book_story/ui/help/data/HelpData.kt new file mode 100644 index 00000000..cf455ecd --- /dev/null +++ b/app/src/main/java/ua/acclorite/book_story/ui/help/data/HelpData.kt @@ -0,0 +1,155 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2025 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package ua.acclorite.book_story.ui.help.data + +import androidx.compose.ui.res.stringResource +import kotlinx.collections.immutable.persistentListOf +import ua.acclorite.book_story.R +import ua.acclorite.book_story.ui.help.HelpAnnotation +import ua.acclorite.book_story.ui.help.model.HelpTip + +object HelpData { + val tips = persistentListOf( + HelpTip( + title = R.string.help_title_how_to_add_books, + description = { + append(stringResource(id = R.string.help_desc_how_to_add_books_1) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_add_books_2)) + } + append(". ") + + append(stringResource(id = R.string.help_desc_how_to_add_books_3) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_add_books_4)) + } + append(".") + } + ), + + HelpTip( + title = R.string.help_title_how_to_customize_app, + description = { + append(stringResource(id = R.string.help_desc_how_to_customize_app_1) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_customize_app_2)) + } + append(". ") + + append(stringResource(id = R.string.help_desc_how_to_customize_app_3)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_move_or_delete_books, + description = { + append(stringResource(id = R.string.help_desc_how_to_move_or_delete_books_1) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_move_or_delete_books_2)) + } + append(". ") + + append(stringResource(id = R.string.help_desc_how_to_move_or_delete_books_3)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_edit_book, + description = { + append(stringResource(id = R.string.help_desc_how_to_edit_book_1) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_edit_book_2)) + } + append(" ") + + append(stringResource(id = R.string.help_desc_how_to_edit_book_3)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_read_book, + description = { + append(stringResource(id = R.string.help_desc_how_to_read_book_1) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_read_book_2)) + } + append(". ") + + append(stringResource(id = R.string.help_desc_how_to_read_book_3)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_customize_reader, + description = { + append(stringResource(id = R.string.help_desc_how_to_customize_reader_1) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_customize_reader_2)) + } + append(" ") + + append(stringResource(id = R.string.help_desc_how_to_customize_reader_3)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_manage_history, + description = { + append(stringResource(id = R.string.help_desc_how_to_manage_history_1) + " ") + + HelpAnnotation { + append(stringResource(id = R.string.help_desc_how_to_manage_history_2)) + } + append(". ") + + append(stringResource(id = R.string.help_desc_how_to_manage_history_3)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_use_tooltip, + description = { + append(stringResource(id = R.string.help_desc_how_to_use_tooltip_1)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_use_double_click_translation, + description = { + append(stringResource(id = R.string.help_desc_how_to_use_double_click_translation_1)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_create_color_presets, + description = { + append(stringResource(id = R.string.help_desc_how_to_create_color_presets_1)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_use_color_presets, + description = { + append(stringResource(id = R.string.help_desc_how_to_use_color_presets_1)) + } + ), + + HelpTip( + title = R.string.help_title_how_to_use_perception_expander, + description = { + append(stringResource(id = R.string.help_desc_how_to_use_perception_expander_1)) + } + ) + ) +} \ No newline at end of file diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt index aac1c837..c19701e9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryItem.kt @@ -40,7 +40,7 @@ import ua.acclorite.book_story.domain.model.history.History import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt index 47e13c52..a5fde1ac 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/history/HistoryLayout.kt @@ -20,8 +20,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.history.HistoryEvent import ua.acclorite.book_story.presentation.history.model.GroupedHistory import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar -import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.data.ScrollbarData +import ua.acclorite.book_story.ui.common.helpers.LocalActivity import ua.acclorite.book_story.ui.settings.components.SettingsSubcategoryTitle import ua.acclorite.book_story.ui.theme.DefaultTransition @@ -42,7 +42,7 @@ fun HistoryLayout( LazyColumnWithScrollbar( modifier = Modifier.fillMaxSize(), state = listState, - scrollbarSettings = providePrimaryScrollbar(false) + scrollbarSettings = ScrollbarData.primaryScrollbar ) { item { Spacer(modifier = Modifier.height(12.dp)) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBackHandler.kt index 4cba5d20..7a25c911 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryBackHandler.kt @@ -15,8 +15,8 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.launch import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.library.LibraryEvent -import ua.acclorite.book_story.ui.common.util.LocalActivity -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.showToast @Composable fun LibraryBackHandler( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridItem.kt index 5e1d2538..5a4bbdc2 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridItem.kt @@ -39,11 +39,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.helpers.calculateProgress import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition import ua.acclorite.book_story.presentation.library.model.SelectableBook import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.calculateProgress @Composable fun LibraryGridItem( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridLayout.kt index 12ccdd85..a0a210a9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryGridLayout.kt @@ -16,7 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import ua.acclorite.book_story.presentation.library.model.SelectableBook import ua.acclorite.book_story.ui.common.components.common.LazyVerticalGridWithScrollbar -import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.common.data.ScrollbarData @Composable fun LibraryGridLayout( @@ -29,7 +29,7 @@ fun LibraryGridLayout( columns = if (autoGridSize) GridCells.Adaptive(120.dp) else GridCells.Fixed(gridSize.coerceAtLeast(1)), modifier = Modifier.fillMaxSize(), - scrollbarSettings = providePrimaryScrollbar(false), + scrollbarSettings = ScrollbarData.primaryScrollbar, contentPadding = PaddingValues(8.dp) ) { items( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListItem.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListItem.kt index 926dc8be..3a41e49b 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListItem.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListItem.kt @@ -33,10 +33,10 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.helpers.calculateProgress import ua.acclorite.book_story.presentation.library.model.SelectableBook import ua.acclorite.book_story.ui.common.components.common.AsyncCoverImage import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.calculateProgress @Composable fun LibraryListItem( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListLayout.kt index 222bae43..7cb6d2aa 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryListLayout.kt @@ -15,7 +15,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import ua.acclorite.book_story.presentation.library.model.SelectableBook import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar -import ua.acclorite.book_story.ui.common.constants.providePrimaryScrollbar +import ua.acclorite.book_story.ui.common.data.ScrollbarData @Composable fun LibraryListLayout( @@ -24,7 +24,7 @@ fun LibraryListLayout( ) { LazyColumnWithScrollbar( modifier = Modifier.fillMaxSize(), - scrollbarSettings = providePrimaryScrollbar(false), + scrollbarSettings = ScrollbarData.primaryScrollbar, contentPadding = PaddingValues(8.dp) ) { items( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt index 7844073e..9afb26f3 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/library/LibraryPager.kt @@ -14,6 +14,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import ua.acclorite.book_story.core.helpers.compareByWithOrder import ua.acclorite.book_story.domain.model.library.Category import ua.acclorite.book_story.domain.model.library.CategorySort import ua.acclorite.book_story.presentation.library.LibraryEvent @@ -21,7 +22,6 @@ import ua.acclorite.book_story.presentation.library.model.LibraryLayout import ua.acclorite.book_story.presentation.library.model.LibrarySortOrder import ua.acclorite.book_story.presentation.library.model.LibraryTitlePosition import ua.acclorite.book_story.presentation.library.model.SelectableBook -import ua.acclorite.book_story.ui.common.util.compareByWithOrder import ua.acclorite.book_story.ui.theme.DefaultTransition @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt index ae5b165b..fb68d45e 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/Navigator.kt @@ -23,7 +23,7 @@ import kotlinx.coroutines.Dispatchers import ua.acclorite.book_story.presentation.navigator.Navigator import ua.acclorite.book_story.presentation.navigator.Screen import ua.acclorite.book_story.presentation.navigator.StackEvent -import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.LocalActivity @Composable fun rememberNavigator(initialScreen: Screen): Navigator { diff --git a/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorTabs.kt b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorTabs.kt index d181c2a8..29e6c496 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorTabs.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/navigator/NavigatorTabs.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.platform.LocalLayoutDirection import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.flow.receiveAsFlow import ua.acclorite.book_story.presentation.navigator.Screen -import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.LocalActivity @OptIn(ExperimentalMaterial3WindowSizeClassApi::class) @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBackHandler.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBackHandler.kt index f603c853..7d78385d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBackHandler.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBackHandler.kt @@ -9,7 +9,7 @@ package ua.acclorite.book_story.ui.reader import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable import ua.acclorite.book_story.presentation.reader.ReaderEvent -import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.LocalActivity @Composable fun ReaderBackHandler( diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt index 17ae28d5..615db865 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderBottomBar.kt @@ -36,8 +36,8 @@ import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.Checkpoint import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable import ua.acclorite.book_story.ui.common.model.Direction -import ua.acclorite.book_story.ui.common.util.noRippleClickable import ua.acclorite.book_story.ui.theme.HorizontalExpandingTransition import ua.acclorite.book_story.ui.theme.readerBarsColor diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt index 549bf213..3e5e5aae 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderChaptersDrawer.kt @@ -22,14 +22,14 @@ import androidx.compose.ui.draw.rotate import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.helpers.calculateProgress import ua.acclorite.book_story.domain.model.reader.ReaderText.Chapter import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawer import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawerSelectableItem import ua.acclorite.book_story.ui.common.components.modal_drawer.ModalDrawerTitleItem -import ua.acclorite.book_story.ui.common.util.calculateProgress -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable import ua.acclorite.book_story.ui.reader.model.ExpandableChapter import ua.acclorite.book_story.ui.theme.ExpandingTransition diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderErrorPlaceholder.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderErrorPlaceholder.kt index 3ceb5111..35d5025d 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderErrorPlaceholder.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderErrorPlaceholder.kt @@ -24,7 +24,7 @@ import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.ui.common.components.placeholder.ErrorPlaceholder import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBar import ua.acclorite.book_story.ui.common.components.top_bar.TopAppBarData -import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.LocalActivity import ua.acclorite.book_story.ui.navigator.NavigatorBackIconButton @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt index c0d7b911..b4622305 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayout.kt @@ -43,9 +43,9 @@ import ua.acclorite.book_story.ui.common.components.common.AnimatedVisibility import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar import ua.acclorite.book_story.ui.common.components.common.SelectionContainer import ua.acclorite.book_story.ui.common.components.common.SpacedItem -import ua.acclorite.book_story.ui.common.util.LocalActivity -import ua.acclorite.book_story.ui.common.util.noRippleClickable -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.showToast import ua.acclorite.book_story.ui.reader.model.FontWithName @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt index c3599a0f..7314cc8a 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderLayoutTextParagraph.kt @@ -28,7 +28,7 @@ import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness import ua.acclorite.book_story.presentation.reader.model.ReaderTextAlignment import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable import ua.acclorite.book_story.ui.reader.model.FontWithName @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheet.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheet.kt index 1535988d..8940d07a 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheet.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderSettingsBottomSheet.kt @@ -28,7 +28,7 @@ import kotlinx.coroutines.launch import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.ui.common.components.common.LazyColumnWithScrollbar import ua.acclorite.book_story.ui.common.components.modal_bottom_sheet.ModalBottomSheet -import ua.acclorite.book_story.ui.common.util.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.LocalActivity import ua.acclorite.book_story.ui.settings.appearance.colors.ColorsSubcategory import ua.acclorite.book_story.ui.settings.reader.chapters.ChaptersSubcategory import ua.acclorite.book_story.ui.settings.reader.font.FontSubcategory diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt index 74d09ce1..030a23a6 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderTopBar.kt @@ -35,8 +35,8 @@ import ua.acclorite.book_story.presentation.reader.ReaderEvent import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.LocalActivity -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.LocalActivity +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable import ua.acclorite.book_story.ui.theme.readerBarsColor @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/FontConstants.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/data/ReaderData.kt similarity index 97% rename from app/src/main/java/ua/acclorite/book_story/ui/common/constants/FontConstants.kt rename to app/src/main/java/ua/acclorite/book_story/ui/reader/data/ReaderData.kt index a24cf1e4..10b0dde9 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/common/constants/FontConstants.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/data/ReaderData.kt @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -package ua.acclorite.book_story.ui.common.constants +package ua.acclorite.book_story.ui.reader.data import androidx.annotation.FontRes import androidx.compose.ui.text.ExperimentalTextApi @@ -13,12 +13,13 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontVariation import androidx.compose.ui.text.font.FontWeight +import kotlinx.collections.immutable.persistentListOf import ua.acclorite.book_story.R import ua.acclorite.book_story.core.ui.UIText import ua.acclorite.book_story.ui.reader.model.FontWithName -fun provideFonts(): List { - return mutableListOf( +object ReaderData { + val fonts = persistentListOf( FontWithName( "default", UIText.StringResource(R.string.default_string), diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/components/BrowseFilterOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/components/BrowseFilterOption.kt index 74ea515c..06bce028 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/components/BrowseFilterOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/filter/components/BrowseFilterOption.kt @@ -25,13 +25,13 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle +import ua.acclorite.book_story.core.data.ExtensionsData import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.constants.provideExtensions fun LazyListScope.BrowseFilterOption() { - items(provideExtensions(), key = { it }) { + items(ExtensionsData.fileExtensions, key = { it }) { val mainModel = hiltViewModel() val state = mainModel.state.collectAsStateWithLifecycle() diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt index b31ec76e..b6cc3ade 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/browse/scan/components/BrowseScanOption.kt @@ -44,8 +44,8 @@ import ua.acclorite.book_story.presentation.settings.SettingsEvent import ua.acclorite.book_story.presentation.settings.SettingsModel import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText -import ua.acclorite.book_story.ui.common.util.noRippleClickable -import ua.acclorite.book_story.ui.common.util.showToast +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.showToast import ua.acclorite.book_story.ui.theme.dynamicListItemColor @Composable diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/AppLanguageOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/AppLanguageOption.kt index 8d1dca70..f11df697 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/AppLanguageOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/general/components/AppLanguageOption.kt @@ -12,10 +12,10 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import ua.acclorite.book_story.R +import ua.acclorite.book_story.core.data.CoreData import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.ui.common.constants.provideLanguages import ua.acclorite.book_story.ui.common.model.ButtonItem @Composable @@ -25,7 +25,7 @@ fun AppLanguageOption() { ChipsWithTitle( title = stringResource(id = R.string.language_option), - chips = provideLanguages().sortedBy { it.second }.map { + chips = CoreData.languages.sortedBy { it.second }.map { ButtonItem( it.first, it.second, diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt index decdd88c..d54e4c72 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/library/categories/components/LibraryCategoriesOption.kt @@ -55,7 +55,7 @@ import ua.acclorite.book_story.ui.common.components.common.IconButton import ua.acclorite.book_story.ui.common.components.common.StyledText import ua.acclorite.book_story.ui.common.components.dialog.Dialog import ua.acclorite.book_story.ui.common.components.dialog.DialogWithTextField -import ua.acclorite.book_story.ui.common.util.noRippleClickable +import ua.acclorite.book_story.ui.common.helpers.noRippleClickable import ua.acclorite.book_story.ui.theme.ExpandingTransition import ua.acclorite.book_story.ui.theme.dynamicListItemColor diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontFamilyOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontFamilyOption.kt index b04726ea..a8fd10cf 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontFamilyOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontFamilyOption.kt @@ -16,8 +16,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.ui.common.constants.provideFonts import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.reader.data.ReaderData @Composable fun FontFamilyOption() { @@ -25,7 +25,7 @@ fun FontFamilyOption() { val state = mainModel.state.collectAsStateWithLifecycle() val fontFamily = remember(state.value.fontFamily) { - provideFonts().run { + ReaderData.fonts.run { find { it.id == state.value.fontFamily } ?: get(0) @@ -34,7 +34,7 @@ fun FontFamilyOption() { ChipsWithTitle( title = stringResource(id = R.string.font_family_option), - chips = provideFonts() + chips = ReaderData.fonts .map { ButtonItem( id = it.id, diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontStyleOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontStyleOption.kt index c5aeaa79..158013ca 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontStyleOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontStyleOption.kt @@ -17,8 +17,8 @@ import ua.acclorite.book_story.R import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.ui.common.components.settings.SegmentedButtonWithTitle -import ua.acclorite.book_story.ui.common.constants.provideFonts import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.reader.data.ReaderData @Composable fun FontStyleOption() { @@ -26,7 +26,7 @@ fun FontStyleOption() { val state = mainModel.state.collectAsStateWithLifecycle() val fontFamily = remember(state.value.fontFamily) { - provideFonts().run { + ReaderData.fonts.run { find { it.id == state.value.fontFamily } ?: get(0) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontThicknessOption.kt b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontThicknessOption.kt index 447497c3..5be8bb55 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontThicknessOption.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/settings/reader/font/components/FontThicknessOption.kt @@ -17,8 +17,8 @@ import ua.acclorite.book_story.presentation.main.MainEvent import ua.acclorite.book_story.presentation.main.MainModel import ua.acclorite.book_story.presentation.reader.model.ReaderFontThickness import ua.acclorite.book_story.ui.common.components.settings.ChipsWithTitle -import ua.acclorite.book_story.ui.common.constants.provideFonts import ua.acclorite.book_story.ui.common.model.ButtonItem +import ua.acclorite.book_story.ui.reader.data.ReaderData @Composable fun FontThicknessOption() { @@ -26,7 +26,7 @@ fun FontThicknessOption() { val state = mainModel.state.collectAsStateWithLifecycle() val fontFamily = remember(state.value.fontFamily) { - provideFonts().run { + ReaderData.fonts.run { find { it.id == state.value.fontFamily } ?: get(0) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt index cbc29b14..5f3e4cc8 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/theme/ThemeLogger.kt @@ -11,7 +11,7 @@ package ua.acclorite.book_story.ui.theme import androidx.compose.material3.ColorScheme import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb -import ua.acclorite.book_story.core.logD +import ua.acclorite.book_story.core.log.logD /** * This function logs all the colors of the colorScheme.