Browse Source

Move more components to presentation-core module

arkon 2 năm trước cách đây
mục cha
commit
58a0add4f6
92 tập tin đã thay đổi với 176 bổ sung175 xóa
  1. 1 1
      app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
  2. 1 1
      app/src/main/java/eu/kanade/presentation/browse/ExtensionFilterScreen.kt
  3. 3 3
      app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
  4. 1 1
      app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt
  5. 1 1
      app/src/main/java/eu/kanade/presentation/browse/MigrateMangaScreen.kt
  6. 1 1
      app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt
  7. 4 4
      app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
  8. 1 1
      app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
  9. 2 2
      app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
  10. 1 1
      app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt
  11. 3 3
      app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
  12. 3 3
      app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt
  13. 4 4
      app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt
  14. 2 2
      app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCard.kt
  15. 1 1
      app/src/main/java/eu/kanade/presentation/category/CategoryScreen.kt
  16. 1 1
      app/src/main/java/eu/kanade/presentation/category/components/CategoryContent.kt
  17. 2 2
      app/src/main/java/eu/kanade/presentation/category/components/CategoryFloatingActionButton.kt
  18. 2 2
      app/src/main/java/eu/kanade/presentation/components/AppBar.kt
  19. 2 2
      app/src/main/java/eu/kanade/presentation/components/EmptyScreen.kt
  20. 2 2
      app/src/main/java/eu/kanade/presentation/components/InfoScaffold.kt
  21. 1 0
      app/src/main/java/eu/kanade/presentation/components/Pager.kt
  22. 1 0
      app/src/main/java/eu/kanade/presentation/components/RelativeDateHeader.kt
  23. 1 0
      app/src/main/java/eu/kanade/presentation/components/TabbedDialog.kt
  24. 2 0
      app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt
  25. 2 1
      app/src/main/java/eu/kanade/presentation/components/dialogs/ChangeCategoryDialog.kt
  26. 1 1
      app/src/main/java/eu/kanade/presentation/components/dialogs/DeleteLibraryMangaDialog.kt
  27. 1 1
      app/src/main/java/eu/kanade/presentation/components/dialogs/DuplicateMangaDialog.kt
  28. 1 1
      app/src/main/java/eu/kanade/presentation/crash/CrashScreen.kt
  29. 1 1
      app/src/main/java/eu/kanade/presentation/history/components/HistoryContent.kt
  30. 1 1
      app/src/main/java/eu/kanade/presentation/history/components/HistoryItem.kt
  31. 3 2
      app/src/main/java/eu/kanade/presentation/library/components/CommonMangaItem.kt
  32. 2 3
      app/src/main/java/eu/kanade/presentation/library/components/LazyLibraryGrid.kt
  33. 1 1
      app/src/main/java/eu/kanade/presentation/library/components/LibraryBadges.kt
  34. 0 1
      app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
  35. 0 1
      app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
  36. 2 3
      app/src/main/java/eu/kanade/presentation/library/components/LibraryList.kt
  37. 1 1
      app/src/main/java/eu/kanade/presentation/library/components/LibraryPager.kt
  38. 2 2
      app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
  39. 6 6
      app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
  40. 0 1
      app/src/main/java/eu/kanade/presentation/manga/components/BaseMangaListItem.kt
  41. 3 2
      app/src/main/java/eu/kanade/presentation/manga/components/ChapterDownloadIndicator.kt
  42. 2 1
      app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
  43. 1 3
      app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
  44. 1 1
      app/src/main/java/eu/kanade/presentation/manga/components/MangaCover.kt
  45. 1 1
      app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt
  46. 3 4
      app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
  47. 1 1
      app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
  48. 1 1
      app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt
  49. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/PreferenceScreen.kt
  50. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
  51. 2 2
      app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt
  52. 3 3
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBackupScreen.kt
  53. 2 2
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
  54. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
  55. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt
  56. 2 2
      app/src/main/java/eu/kanade/presentation/more/settings/screen/WorkerInfoScreen.kt
  57. 3 3
      app/src/main/java/eu/kanade/presentation/more/settings/widget/AppThemePreferenceWidget.kt
  58. 2 2
      app/src/main/java/eu/kanade/presentation/more/settings/widget/InfoWidget.kt
  59. 4 4
      app/src/main/java/eu/kanade/presentation/more/settings/widget/ListPreferenceWidget.kt
  60. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/widget/MultiSelectListPreferenceWidget.kt
  61. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/widget/SwitchPreferenceWidget.kt
  62. 2 3
      app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt
  63. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/widget/TrackingPreferenceWidget.kt
  64. 3 3
      app/src/main/java/eu/kanade/presentation/more/settings/widget/TriStateListDialog.kt
  65. 1 1
      app/src/main/java/eu/kanade/presentation/more/stats/StatsScreenContent.kt
  66. 2 2
      app/src/main/java/eu/kanade/presentation/track/TrackInfoDialogHome.kt
  67. 9 8
      app/src/main/java/eu/kanade/presentation/track/TrackInfoDialogSelector.kt
  68. 6 6
      app/src/main/java/eu/kanade/presentation/track/TrackServiceSearch.kt
  69. 2 2
      app/src/main/java/eu/kanade/presentation/track/components/TrackLogoIcon.kt
  70. 3 3
      app/src/main/java/eu/kanade/presentation/updates/UpdatesScreen.kt
  71. 5 5
      app/src/main/java/eu/kanade/presentation/updates/UpdatesUiItem.kt
  72. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
  73. 3 3
      app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
  74. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
  75. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
  76. 6 6
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackInfoDialog.kt
  77. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
  78. 2 2
      presentation-core/src/main/java/tachiyomi/presentation/core/components/LazyGrid.kt
  79. 3 3
      presentation-core/src/main/java/tachiyomi/presentation/core/components/LazyList.kt
  80. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/components/ListGroupHeader.kt
  81. 2 2
      presentation-core/src/main/java/tachiyomi/presentation/core/components/VerticalFastScroller.kt
  82. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/components/WheelPicker.kt
  83. 2 2
      presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Button.kt
  84. 2 2
      presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Surface.kt
  85. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Tabs.kt
  86. 2 2
      presentation-core/src/main/java/tachiyomi/presentation/core/util/Elevation.kt
  87. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/util/LazyListState.kt
  88. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/util/Modifier.kt
  89. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/util/PaddingValues.kt
  90. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/util/Preview.kt
  91. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/util/Scrollable.kt
  92. 2 2
      presentation-core/src/main/java/tachiyomi/presentation/core/util/Scrollbar.kt

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt

@@ -48,7 +48,6 @@ import eu.kanade.presentation.browse.components.ExtensionIcon
 import eu.kanade.presentation.components.AppBar
 import eu.kanade.presentation.components.AppBarActions
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.ScrollbarLazyColumn
 import eu.kanade.presentation.components.WarningBanner
 import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
 import eu.kanade.presentation.more.settings.widget.TrailingWidgetBuffer
@@ -57,6 +56,7 @@ import eu.kanade.tachiyomi.extension.model.Extension
 import eu.kanade.tachiyomi.source.ConfigurableSource
 import eu.kanade.tachiyomi.ui.browse.extension.details.ExtensionDetailsState
 import eu.kanade.tachiyomi.util.system.LocaleHelper
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import tachiyomi.presentation.core.components.material.DIVIDER_ALPHA
 import tachiyomi.presentation.core.components.material.Divider
 import tachiyomi.presentation.core.components.material.Scaffold

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/ExtensionFilterScreen.kt

@@ -9,11 +9,11 @@ import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import eu.kanade.presentation.components.AppBar
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.FastScrollLazyColumn
 import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.browse.extension.ExtensionFilterState
 import eu.kanade.tachiyomi.util.system.LocaleHelper
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
 
 @Composable

+ 3 - 3
app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt

@@ -38,21 +38,21 @@ import com.google.accompanist.flowlayout.FlowRow
 import eu.kanade.presentation.browse.components.BaseBrowseItem
 import eu.kanade.presentation.browse.components.ExtensionIcon
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.FastScrollLazyColumn
 import eu.kanade.presentation.manga.components.DotSeparatorNoSpaceText
 import eu.kanade.presentation.theme.header
-import eu.kanade.presentation.util.plus
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.extension.model.Extension
 import eu.kanade.tachiyomi.extension.model.InstallStep
 import eu.kanade.tachiyomi.ui.browse.extension.ExtensionUiModel
 import eu.kanade.tachiyomi.ui.browse.extension.ExtensionsState
 import eu.kanade.tachiyomi.util.system.LocaleHelper
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
 import tachiyomi.presentation.core.components.LoadingScreen
 import tachiyomi.presentation.core.components.material.PullRefresh
 import tachiyomi.presentation.core.components.material.padding
 import tachiyomi.presentation.core.components.material.topSmallPaddingValues
+import tachiyomi.presentation.core.util.plus
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 fun ExtensionScreen(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt

@@ -13,13 +13,13 @@ import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem
 import eu.kanade.presentation.browse.components.GlobalSearchLoadingResultItem
 import eu.kanade.presentation.browse.components.GlobalSearchResultItem
 import eu.kanade.presentation.browse.components.GlobalSearchToolbar
-import eu.kanade.presentation.components.LazyColumn
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.source.CatalogueSource
 import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchState
 import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SearchItemResult
 import eu.kanade.tachiyomi.util.system.LocaleHelper
 import tachiyomi.domain.manga.model.Manga
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
 import tachiyomi.presentation.core.components.material.padding
 

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/MigrateMangaScreen.kt

@@ -7,11 +7,11 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import eu.kanade.presentation.components.AppBar
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.FastScrollLazyColumn
 import eu.kanade.presentation.manga.components.BaseMangaListItem
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrateMangaState
 import tachiyomi.domain.manga.model.Manga
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
 
 @Composable

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt

@@ -9,12 +9,12 @@ import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem
 import eu.kanade.presentation.browse.components.GlobalSearchLoadingResultItem
 import eu.kanade.presentation.browse.components.GlobalSearchResultItem
 import eu.kanade.presentation.browse.components.GlobalSearchToolbar
-import eu.kanade.presentation.components.LazyColumn
 import eu.kanade.tachiyomi.source.CatalogueSource
 import eu.kanade.tachiyomi.ui.browse.migration.search.MigrateSearchState
 import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SearchItemResult
 import eu.kanade.tachiyomi.util.system.LocaleHelper
 import tachiyomi.domain.manga.model.Manga
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
 
 @Composable

+ 4 - 4
app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt

@@ -26,11 +26,7 @@ import eu.kanade.domain.source.interactor.SetMigrateSorting
 import eu.kanade.presentation.browse.components.BaseSourceItem
 import eu.kanade.presentation.browse.components.SourceIcon
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.ScrollbarLazyColumn
-import eu.kanade.presentation.components.Scroller.STICKY_HEADER_KEY_PREFIX
 import eu.kanade.presentation.theme.header
-import eu.kanade.presentation.util.plus
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.browse.migration.sources.MigrateSourceState
 import eu.kanade.tachiyomi.util.system.copyToClipboard
@@ -38,8 +34,12 @@ import tachiyomi.domain.source.model.Source
 import tachiyomi.presentation.core.components.Badge
 import tachiyomi.presentation.core.components.BadgeGroup
 import tachiyomi.presentation.core.components.LoadingScreen
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
+import tachiyomi.presentation.core.components.Scroller.STICKY_HEADER_KEY_PREFIX
 import tachiyomi.presentation.core.components.material.padding
 import tachiyomi.presentation.core.components.material.topSmallPaddingValues
+import tachiyomi.presentation.core.util.plus
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 fun MigrateSourceScreen(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt

@@ -11,12 +11,12 @@ import androidx.compose.ui.res.stringResource
 import eu.kanade.presentation.browse.components.BaseSourceItem
 import eu.kanade.presentation.components.AppBar
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.FastScrollLazyColumn
 import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.browse.source.SourcesFilterState
 import eu.kanade.tachiyomi.util.system.LocaleHelper
 import tachiyomi.domain.source.model.Source
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
 
 @Composable

+ 2 - 2
app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt

@@ -23,9 +23,7 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
 import eu.kanade.presentation.browse.components.BaseSourceItem
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.ScrollbarLazyColumn
 import eu.kanade.presentation.theme.header
-import eu.kanade.presentation.util.plus
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.source.LocalSource
 import eu.kanade.tachiyomi.ui.browse.source.SourcesState
@@ -34,8 +32,10 @@ import eu.kanade.tachiyomi.util.system.LocaleHelper
 import tachiyomi.domain.source.model.Pin
 import tachiyomi.domain.source.model.Source
 import tachiyomi.presentation.core.components.LoadingScreen
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import tachiyomi.presentation.core.components.material.padding
 import tachiyomi.presentation.core.components.material.topSmallPaddingValues
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun SourcesScreen(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt

@@ -9,10 +9,10 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.text.style.TextOverflow
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.util.system.LocaleHelper
 import tachiyomi.domain.source.model.Source
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 fun BaseSourceItem(

+ 3 - 3
app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt

@@ -12,12 +12,12 @@ import androidx.compose.ui.unit.dp
 import androidx.paging.LoadState
 import androidx.paging.compose.LazyPagingItems
 import eu.kanade.presentation.browse.InLibraryBadge
-import eu.kanade.presentation.components.CommonMangaItemDefaults
-import eu.kanade.presentation.components.MangaComfortableGridItem
-import eu.kanade.presentation.util.plus
+import eu.kanade.presentation.library.components.CommonMangaItemDefaults
+import eu.kanade.presentation.library.components.MangaComfortableGridItem
 import kotlinx.coroutines.flow.StateFlow
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.domain.manga.model.MangaCover
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun BrowseSourceComfortableGrid(

+ 3 - 3
app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt

@@ -12,12 +12,12 @@ import androidx.compose.ui.unit.dp
 import androidx.paging.LoadState
 import androidx.paging.compose.LazyPagingItems
 import eu.kanade.presentation.browse.InLibraryBadge
-import eu.kanade.presentation.components.CommonMangaItemDefaults
-import eu.kanade.presentation.components.MangaCompactGridItem
-import eu.kanade.presentation.util.plus
+import eu.kanade.presentation.library.components.CommonMangaItemDefaults
+import eu.kanade.presentation.library.components.MangaCompactGridItem
 import kotlinx.coroutines.flow.StateFlow
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.domain.manga.model.MangaCover
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun BrowseSourceCompactGrid(

+ 4 - 4
app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt

@@ -9,13 +9,13 @@ import androidx.paging.LoadState
 import androidx.paging.compose.LazyPagingItems
 import androidx.paging.compose.items
 import eu.kanade.presentation.browse.InLibraryBadge
-import eu.kanade.presentation.components.CommonMangaItemDefaults
-import eu.kanade.presentation.components.LazyColumn
-import eu.kanade.presentation.components.MangaListItem
-import eu.kanade.presentation.util.plus
+import eu.kanade.presentation.library.components.CommonMangaItemDefaults
+import eu.kanade.presentation.library.components.MangaListItem
 import kotlinx.coroutines.flow.StateFlow
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.domain.manga.model.MangaCover
+import tachiyomi.presentation.core.components.LazyColumn
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun BrowseSourceList(

+ 2 - 2
app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCard.kt

@@ -6,8 +6,8 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.unit.dp
 import eu.kanade.presentation.browse.InLibraryBadge
-import eu.kanade.presentation.components.CommonMangaItemDefaults
-import eu.kanade.presentation.components.MangaComfortableGridItem
+import eu.kanade.presentation.library.components.CommonMangaItemDefaults
+import eu.kanade.presentation.library.components.MangaComfortableGridItem
 import tachiyomi.domain.manga.model.MangaCover
 
 @Composable

+ 1 - 1
app/src/main/java/eu/kanade/presentation/category/CategoryScreen.kt

@@ -11,13 +11,13 @@ import eu.kanade.presentation.category.components.CategoryContent
 import eu.kanade.presentation.category.components.CategoryFloatingActionButton
 import eu.kanade.presentation.components.AppBar
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.util.plus
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.category.CategoryScreenState
 import tachiyomi.domain.category.model.Category
 import tachiyomi.presentation.core.components.material.Scaffold
 import tachiyomi.presentation.core.components.material.padding
 import tachiyomi.presentation.core.components.material.topSmallPaddingValues
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun CategoryScreen(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/category/components/CategoryContent.kt

@@ -7,8 +7,8 @@ import androidx.compose.foundation.lazy.itemsIndexed
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
-import eu.kanade.presentation.components.LazyColumn
 import tachiyomi.domain.category.model.Category
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.material.padding
 
 @Composable

+ 2 - 2
app/src/main/java/eu/kanade/presentation/category/components/CategoryFloatingActionButton.kt

@@ -7,10 +7,10 @@ import androidx.compose.material3.Icon
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.res.stringResource
-import eu.kanade.presentation.util.isScrolledToEnd
-import eu.kanade.presentation.util.isScrollingUp
 import eu.kanade.tachiyomi.R
 import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton
+import tachiyomi.presentation.core.util.isScrolledToEnd
+import tachiyomi.presentation.core.util.isScrollingUp
 
 @Composable
 fun CategoryFloatingActionButton(

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/AppBar.kt

@@ -44,9 +44,9 @@ import androidx.compose.ui.text.input.VisualTransformation
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
-import eu.kanade.presentation.util.runOnEnterKeyPressed
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.R
+import tachiyomi.presentation.core.util.runOnEnterKeyPressed
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 const val SEARCH_DEBOUNCE_MILLIS = 250L
 

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/EmptyScreen.kt

@@ -26,10 +26,10 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.unit.dp
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.R
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.ThemePreviews
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 import kotlin.random.Random
 
 @Composable

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/InfoScaffold.kt

@@ -27,10 +27,10 @@ import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.zIndex
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
-import eu.kanade.presentation.util.secondaryItemAlpha
 import tachiyomi.presentation.core.components.material.Scaffold
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.ThemePreviews
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 fun InfoScaffold(

+ 1 - 0
app/src/main/java/eu/kanade/presentation/components/Pager.kt

@@ -31,6 +31,7 @@ import androidx.compose.ui.util.fastForEach
 import androidx.compose.ui.util.fastMaxBy
 import androidx.compose.ui.util.fastSumBy
 import kotlinx.coroutines.flow.distinctUntilChanged
+import tachiyomi.presentation.core.components.LazyColumn
 
 @Composable
 fun HorizontalPager(

+ 1 - 0
app/src/main/java/eu/kanade/presentation/components/RelativeDateHeader.kt

@@ -5,6 +5,7 @@ import androidx.compose.runtime.remember
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
 import eu.kanade.tachiyomi.util.lang.toRelativeString
+import tachiyomi.presentation.core.components.ListGroupHeader
 import java.text.DateFormat
 import java.util.Date
 

+ 1 - 0
app/src/main/java/eu/kanade/presentation/components/TabbedDialog.kt

@@ -32,6 +32,7 @@ import androidx.compose.ui.util.fastForEachIndexed
 import eu.kanade.tachiyomi.R
 import kotlinx.coroutines.launch
 import tachiyomi.presentation.core.components.material.Divider
+import tachiyomi.presentation.core.components.material.TabIndicator
 
 object TabbedDialogPaddings {
     val Horizontal = 24.dp

+ 2 - 0
app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt

@@ -22,6 +22,8 @@ import androidx.compose.ui.platform.LocalLayoutDirection
 import androidx.compose.ui.res.stringResource
 import kotlinx.coroutines.launch
 import tachiyomi.presentation.core.components.material.Scaffold
+import tachiyomi.presentation.core.components.material.TabIndicator
+import tachiyomi.presentation.core.components.material.TabText
 
 @Composable
 fun TabbedScreen(

+ 2 - 1
app/src/main/java/eu/kanade/presentation/components/ChangeCategoryDialog.kt → app/src/main/java/eu/kanade/presentation/components/dialogs/ChangeCategoryDialog.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.components.dialogs
 
 import androidx.compose.foundation.clickable
 import androidx.compose.foundation.layout.Column
@@ -25,6 +25,7 @@ import eu.kanade.core.prefs.CheckboxState
 import eu.kanade.presentation.category.visualName
 import eu.kanade.tachiyomi.R
 import tachiyomi.domain.category.model.Category
+import tachiyomi.presentation.core.components.material.TextButton
 import tachiyomi.presentation.core.components.material.padding
 
 @Composable

+ 1 - 1
app/src/main/java/eu/kanade/presentation/components/DeleteLibraryMangaDialog.kt → app/src/main/java/eu/kanade/presentation/components/dialogs/DeleteLibraryMangaDialog.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.components.dialogs
 
 import androidx.compose.foundation.clickable
 import androidx.compose.foundation.layout.Column

+ 1 - 1
app/src/main/java/eu/kanade/presentation/components/DuplicateMangaDialog.kt → app/src/main/java/eu/kanade/presentation/components/dialogs/DuplicateMangaDialog.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.components.dialogs
 
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.Spacer

+ 1 - 1
app/src/main/java/eu/kanade/presentation/crash/CrashScreen.kt

@@ -16,11 +16,11 @@ import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import eu.kanade.presentation.components.InfoScaffold
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.util.CrashLogUtil
 import kotlinx.coroutines.launch
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.ThemePreviews
 
 @Composable
 fun CrashScreen(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/history/components/HistoryContent.kt

@@ -6,10 +6,10 @@ import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Modifier
 import eu.kanade.domain.ui.UiPreferences
-import eu.kanade.presentation.components.FastScrollLazyColumn
 import eu.kanade.presentation.components.RelativeDateHeader
 import eu.kanade.presentation.history.HistoryUiModel
 import tachiyomi.domain.history.model.HistoryWithRelations
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import java.text.DateFormat

+ 1 - 1
app/src/main/java/eu/kanade/presentation/history/components/HistoryItem.kt

@@ -20,7 +20,7 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.font.FontWeight
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.MangaCover
+import eu.kanade.presentation.manga.components.MangaCover
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.util.lang.toTimestampString
 import tachiyomi.domain.history.model.HistoryWithRelations

+ 3 - 2
app/src/main/java/eu/kanade/presentation/components/CommonMangaItem.kt → app/src/main/java/eu/kanade/presentation/library/components/CommonMangaItem.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.library.components
 
 import androidx.compose.foundation.background
 import androidx.compose.foundation.combinedClickable
@@ -39,8 +39,9 @@ import androidx.compose.ui.text.TextStyle
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
-import eu.kanade.presentation.util.selectedBackground
+import eu.kanade.presentation.manga.components.MangaCover
 import tachiyomi.presentation.core.components.BadgeGroup
+import tachiyomi.presentation.core.util.selectedBackground
 
 object CommonMangaItemDefaults {
     val GridHorizontalSpacer = 4.dp

+ 2 - 3
app/src/main/java/eu/kanade/presentation/library/components/LazyLibraryGrid.kt

@@ -8,9 +8,8 @@ import androidx.compose.foundation.lazy.grid.LazyGridScope
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.CommonMangaItemDefaults
-import eu.kanade.presentation.components.FastScrollLazyVerticalGrid
-import eu.kanade.presentation.util.plus
+import tachiyomi.presentation.core.components.FastScrollLazyVerticalGrid
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun LazyLibraryGrid(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/library/components/LibraryBadges.kt

@@ -6,8 +6,8 @@ import androidx.compose.material.icons.outlined.Folder
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.runtime.Composable
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
 import tachiyomi.presentation.core.components.Badge
+import tachiyomi.presentation.core.util.ThemePreviews
 
 @Composable
 fun DownloadsBadge(count: Long) {

+ 0 - 1
app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt

@@ -6,7 +6,6 @@ import androidx.compose.foundation.lazy.grid.items
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.util.fastAny
-import eu.kanade.presentation.components.MangaComfortableGridItem
 import eu.kanade.tachiyomi.ui.library.LibraryItem
 import tachiyomi.domain.library.model.LibraryManga
 import tachiyomi.domain.manga.model.MangaCover

+ 0 - 1
app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt

@@ -6,7 +6,6 @@ import androidx.compose.foundation.lazy.grid.items
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.util.fastAny
-import eu.kanade.presentation.components.MangaCompactGridItem
 import eu.kanade.tachiyomi.ui.library.LibraryItem
 import tachiyomi.domain.library.model.LibraryManga
 import tachiyomi.domain.manga.model.MangaCover

+ 2 - 3
app/src/main/java/eu/kanade/presentation/library/components/LibraryList.kt

@@ -8,12 +8,11 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.util.fastAny
-import eu.kanade.presentation.components.FastScrollLazyColumn
-import eu.kanade.presentation.components.MangaListItem
-import eu.kanade.presentation.util.plus
 import eu.kanade.tachiyomi.ui.library.LibraryItem
 import tachiyomi.domain.library.model.LibraryManga
 import tachiyomi.domain.manga.model.MangaCover
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun LibraryList(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/library/components/LibraryPager.kt

@@ -20,11 +20,11 @@ import eu.kanade.core.prefs.PreferenceMutableState
 import eu.kanade.presentation.components.EmptyScreen
 import eu.kanade.presentation.components.HorizontalPager
 import eu.kanade.presentation.components.PagerState
-import eu.kanade.presentation.util.plus
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.library.LibraryItem
 import tachiyomi.domain.library.model.LibraryDisplayMode
 import tachiyomi.domain.library.model.LibraryManga
+import tachiyomi.presentation.core.util.plus
 
 @Composable
 fun LibraryPager(

+ 2 - 2
app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt

@@ -7,10 +7,10 @@ import androidx.compose.material3.Tab
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.unit.dp
 import eu.kanade.presentation.category.visualName
-import eu.kanade.presentation.components.TabIndicator
-import eu.kanade.presentation.components.TabText
 import tachiyomi.domain.category.model.Category
 import tachiyomi.presentation.core.components.material.Divider
+import tachiyomi.presentation.core.components.material.TabIndicator
+import tachiyomi.presentation.core.components.material.TabText
 
 @Composable
 fun LibraryTabs(

+ 6 - 6
app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt

@@ -48,18 +48,14 @@ import androidx.compose.ui.util.fastAll
 import androidx.compose.ui.util.fastAny
 import androidx.compose.ui.util.fastMap
 import eu.kanade.domain.manga.model.chaptersFiltered
-import eu.kanade.presentation.components.ChapterDownloadAction
-import eu.kanade.presentation.components.LazyColumn
-import eu.kanade.presentation.components.MangaBottomActionMenu
-import eu.kanade.presentation.components.VerticalFastScroller
+import eu.kanade.presentation.manga.components.ChapterDownloadAction
 import eu.kanade.presentation.manga.components.ChapterHeader
 import eu.kanade.presentation.manga.components.ExpandableMangaDescription
 import eu.kanade.presentation.manga.components.MangaActionRow
+import eu.kanade.presentation.manga.components.MangaBottomActionMenu
 import eu.kanade.presentation.manga.components.MangaChapterListItem
 import eu.kanade.presentation.manga.components.MangaInfoBox
 import eu.kanade.presentation.manga.components.MangaToolbar
-import eu.kanade.presentation.util.isScrolledToEnd
-import eu.kanade.presentation.util.isScrollingUp
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.source.SourceManager
@@ -71,10 +67,14 @@ import eu.kanade.tachiyomi.util.lang.toRelativeString
 import eu.kanade.tachiyomi.util.system.copyToClipboard
 import tachiyomi.domain.chapter.model.Chapter
 import tachiyomi.domain.manga.model.Manga
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.TwoPanelBox
+import tachiyomi.presentation.core.components.VerticalFastScroller
 import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton
 import tachiyomi.presentation.core.components.material.PullRefresh
 import tachiyomi.presentation.core.components.material.Scaffold
+import tachiyomi.presentation.core.util.isScrolledToEnd
+import tachiyomi.presentation.core.util.isScrollingUp
 import java.text.DateFormat
 import java.util.Date
 

+ 0 - 1
app/src/main/java/eu/kanade/presentation/manga/components/BaseMangaListItem.kt

@@ -14,7 +14,6 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.MangaCover
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.presentation.core.components.material.padding
 

+ 3 - 2
app/src/main/java/eu/kanade/presentation/components/ChapterDownloadIndicator.kt → app/src/main/java/eu/kanade/presentation/manga/components/ChapterDownloadIndicator.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.manga.components
 
 import androidx.compose.animation.core.animateFloatAsState
 import androidx.compose.foundation.combinedClickable
@@ -32,10 +32,11 @@ import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.semantics.Role
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.util.secondaryItemAlpha
+import eu.kanade.presentation.components.DropdownMenu
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.download.model.Download
 import tachiyomi.presentation.core.components.material.IconButtonTokens
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 enum class ChapterDownloadAction {
     START,

+ 2 - 1
app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt → app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.manga.components
 
 import androidx.compose.animation.AnimatedVisibility
 import androidx.compose.animation.core.animateFloatAsState
@@ -51,6 +51,7 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.res.vectorResource
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
+import eu.kanade.presentation.components.DownloadDropdownMenu
 import eu.kanade.presentation.manga.DownloadAction
 import eu.kanade.tachiyomi.R
 import kotlinx.coroutines.Job

+ 1 - 3
app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt

@@ -27,13 +27,11 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
-import eu.kanade.presentation.components.ChapterDownloadAction
-import eu.kanade.presentation.components.ChapterDownloadIndicator
-import eu.kanade.presentation.util.selectedBackground
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.download.model.Download
 import tachiyomi.presentation.core.components.material.ReadItemAlpha
 import tachiyomi.presentation.core.components.material.SecondaryItemAlpha
+import tachiyomi.presentation.core.util.selectedBackground
 
 @Composable
 fun MangaChapterListItem(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/components/MangaCover.kt → app/src/main/java/eu/kanade/presentation/manga/components/MangaCover.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.manga.components
 
 import androidx.compose.foundation.clickable
 import androidx.compose.foundation.layout.aspectRatio

+ 1 - 1
app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt

@@ -45,11 +45,11 @@ import coil.request.ImageRequest
 import coil.size.Size
 import eu.kanade.presentation.components.DropdownMenu
 import eu.kanade.presentation.manga.EditCoverAction
-import eu.kanade.presentation.util.clickableNoIndication
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.reader.viewer.ReaderPageImageView
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.presentation.core.components.material.Scaffold
+import tachiyomi.presentation.core.util.clickableNoIndication
 
 @Composable
 fun MangaCoverDialog(

+ 3 - 4
app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt

@@ -74,15 +74,14 @@ import androidx.compose.ui.unit.sp
 import coil.compose.AsyncImage
 import com.google.accompanist.flowlayout.FlowRow
 import eu.kanade.presentation.components.DropdownMenu
-import eu.kanade.presentation.components.MangaCover
-import eu.kanade.presentation.components.TextButton
-import eu.kanade.presentation.util.clickableNoIndication
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.source.model.SManga
 import eu.kanade.tachiyomi.util.system.copyToClipboard
 import tachiyomi.domain.manga.model.Manga
+import tachiyomi.presentation.core.components.material.TextButton
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.clickableNoIndication
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 import kotlin.math.roundToInt
 
 private val whitespaceLineRegex = Regex("[\\r\\n]{2,}", setOf(RegexOption.MULTILINE))

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt

@@ -24,13 +24,13 @@ import androidx.compose.ui.platform.LocalUriHandler
 import androidx.compose.ui.res.pluralStringResource
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.res.vectorResource
-import eu.kanade.presentation.components.ScrollbarLazyColumn
 import eu.kanade.presentation.components.WarningBanner
 import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
 import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.more.DownloadQueueState
 import tachiyomi.core.Constants
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import tachiyomi.presentation.core.components.material.Divider
 import tachiyomi.presentation.core.components.material.Scaffold
 

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt

@@ -21,9 +21,9 @@ import com.halilibo.richtext.ui.material3.Material3RichText
 import com.halilibo.richtext.ui.string.RichTextStringStyle
 import eu.kanade.presentation.components.InfoScaffold
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
 import eu.kanade.tachiyomi.R
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.ThemePreviews
 
 @Composable
 fun NewUpdateScreen(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/PreferenceScreen.kt

@@ -11,10 +11,10 @@ import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.util.fastForEachIndexed
-import eu.kanade.presentation.components.ScrollbarLazyColumn
 import eu.kanade.presentation.more.settings.screen.SearchableSettings
 import eu.kanade.presentation.more.settings.widget.PreferenceGroupHeader
 import kotlinx.coroutines.delay
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import kotlin.time.Duration.Companion.seconds
 
 /**

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt

@@ -21,7 +21,6 @@ import cafe.adriel.voyager.navigator.LocalNavigator
 import cafe.adriel.voyager.navigator.currentOrThrow
 import eu.kanade.domain.ui.UiPreferences
 import eu.kanade.presentation.components.AppBar
-import eu.kanade.presentation.components.ScrollbarLazyColumn
 import eu.kanade.presentation.more.LogoHeader
 import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
 import eu.kanade.presentation.util.LocalBackPress
@@ -41,6 +40,7 @@ import tachiyomi.core.util.lang.withIOContext
 import tachiyomi.core.util.lang.withUIContext
 import tachiyomi.core.util.system.logcat
 import tachiyomi.presentation.core.components.LinkIcon
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get

+ 2 - 2
app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt

@@ -39,8 +39,6 @@ import eu.kanade.presentation.browse.components.SourceIcon
 import eu.kanade.presentation.components.AppBar
 import eu.kanade.presentation.components.AppBarActions
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.FastScrollLazyColumn
-import eu.kanade.presentation.util.selectedBackground
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.util.system.toast
 import kotlinx.coroutines.flow.collectLatest
@@ -51,9 +49,11 @@ import tachiyomi.core.util.lang.withNonCancellableContext
 import tachiyomi.data.Database
 import tachiyomi.domain.source.model.Source
 import tachiyomi.domain.source.model.SourceWithCount
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
 import tachiyomi.presentation.core.components.LoadingScreen
 import tachiyomi.presentation.core.components.material.Divider
 import tachiyomi.presentation.core.components.material.Scaffold
+import tachiyomi.presentation.core.util.selectedBackground
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 

+ 3 - 3
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBackupScreen.kt

@@ -37,11 +37,8 @@ import androidx.compose.ui.unit.dp
 import androidx.core.net.toUri
 import com.hippo.unifile.UniFile
 import eu.kanade.domain.backup.service.BackupPreferences
-import eu.kanade.presentation.components.ScrollbarLazyColumn
 import eu.kanade.presentation.more.settings.Preference
 import eu.kanade.presentation.util.collectAsState
-import eu.kanade.presentation.util.isScrolledToEnd
-import eu.kanade.presentation.util.isScrolledToStart
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.backup.BackupConst
 import eu.kanade.tachiyomi.data.backup.BackupCreatorJob
@@ -53,7 +50,10 @@ import eu.kanade.tachiyomi.util.system.DeviceUtil
 import eu.kanade.tachiyomi.util.system.copyToClipboard
 import eu.kanade.tachiyomi.util.system.toast
 import kotlinx.coroutines.launch
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import tachiyomi.presentation.core.components.material.Divider
+import tachiyomi.presentation.core.util.isScrolledToEnd
+import tachiyomi.presentation.core.util.isScrolledToStart
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 

+ 2 - 2
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt

@@ -34,8 +34,6 @@ import cafe.adriel.voyager.navigator.currentOrThrow
 import eu.kanade.domain.category.interactor.ResetCategoryFlags
 import eu.kanade.domain.library.service.LibraryPreferences
 import eu.kanade.presentation.category.visualName
-import eu.kanade.presentation.components.WheelPicker
-import eu.kanade.presentation.components.WheelPickerDefaults
 import eu.kanade.presentation.more.settings.Preference
 import eu.kanade.presentation.more.settings.widget.TriStateListDialog
 import eu.kanade.presentation.util.collectAsState
@@ -54,6 +52,8 @@ import kotlinx.coroutines.launch
 import kotlinx.coroutines.runBlocking
 import tachiyomi.domain.category.interactor.GetCategories
 import tachiyomi.domain.category.model.Category
+import tachiyomi.presentation.core.components.WheelPicker
+import tachiyomi.presentation.core.components.WheelPickerDefaults
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt

@@ -47,10 +47,10 @@ import cafe.adriel.voyager.navigator.Navigator
 import cafe.adriel.voyager.navigator.currentOrThrow
 import eu.kanade.presentation.components.AppBar
 import eu.kanade.presentation.components.AppBarActions
-import eu.kanade.presentation.components.LazyColumn
 import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
 import eu.kanade.presentation.util.LocalBackPress
 import eu.kanade.tachiyomi.R
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
 
 object SettingsMainScreen : Screen {

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt

@@ -52,11 +52,11 @@ import cafe.adriel.voyager.navigator.LocalNavigator
 import cafe.adriel.voyager.navigator.currentOrThrow
 import eu.kanade.presentation.components.EmptyScreen
 import eu.kanade.presentation.more.settings.Preference
-import eu.kanade.presentation.util.runOnEnterKeyPressed
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.util.system.isLTR
 import tachiyomi.presentation.core.components.material.Divider
 import tachiyomi.presentation.core.components.material.Scaffold
+import tachiyomi.presentation.core.util.runOnEnterKeyPressed
 
 class SettingsSearchScreen : Screen {
 

+ 2 - 2
app/src/main/java/eu/kanade/presentation/more/settings/screen/WorkerInfoScreen.kt

@@ -37,14 +37,14 @@ import cafe.adriel.voyager.core.model.rememberScreenModel
 import cafe.adriel.voyager.core.screen.Screen
 import cafe.adriel.voyager.navigator.LocalNavigator
 import cafe.adriel.voyager.navigator.currentOrThrow
-import eu.kanade.presentation.components.LazyColumn
-import eu.kanade.presentation.util.plus
 import eu.kanade.tachiyomi.R
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.flow.stateIn
 import kotlinx.coroutines.launch
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.material.Scaffold
+import tachiyomi.presentation.core.util.plus
 
 object WorkerInfoScreen : Screen {
 

+ 3 - 3
app/src/main/java/eu/kanade/presentation/more/settings/widget/AppThemePreferenceWidget.kt

@@ -39,15 +39,15 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.unit.dp
 import eu.kanade.domain.ui.model.AppTheme
-import eu.kanade.presentation.components.MangaCover
+import eu.kanade.presentation.manga.components.MangaCover
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.util.system.DeviceUtil
 import eu.kanade.tachiyomi.util.system.isDynamicColorAvailable
 import tachiyomi.presentation.core.components.material.DIVIDER_ALPHA
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.ThemePreviews
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 internal fun AppThemePreferenceWidget(

+ 2 - 2
app/src/main/java/eu/kanade/presentation/more/settings/widget/InfoWidget.kt

@@ -13,10 +13,10 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
-import eu.kanade.presentation.util.secondaryItemAlpha
 import eu.kanade.tachiyomi.R
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.ThemePreviews
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 internal fun InfoWidget(text: String) {

+ 4 - 4
app/src/main/java/eu/kanade/presentation/more/settings/widget/ListPreferenceWidget.kt

@@ -22,12 +22,12 @@ import androidx.compose.ui.draw.clip
 import androidx.compose.ui.graphics.vector.ImageVector
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.ScrollbarLazyColumn
-import eu.kanade.presentation.util.isScrolledToEnd
-import eu.kanade.presentation.util.isScrolledToStart
-import eu.kanade.presentation.util.minimumTouchTargetSize
 import eu.kanade.tachiyomi.R
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import tachiyomi.presentation.core.components.material.Divider
+import tachiyomi.presentation.core.util.isScrolledToEnd
+import tachiyomi.presentation.core.util.isScrolledToStart
+import tachiyomi.presentation.core.util.minimumTouchTargetSize
 
 @Composable
 fun <T> ListPreferenceWidget(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/widget/MultiSelectListPreferenceWidget.kt

@@ -23,8 +23,8 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.window.DialogProperties
 import eu.kanade.presentation.more.settings.Preference
-import eu.kanade.presentation.util.minimumTouchTargetSize
 import eu.kanade.tachiyomi.R
+import tachiyomi.presentation.core.util.minimumTouchTargetSize
 
 @Composable
 fun MultiSelectListPreferenceWidget(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/widget/SwitchPreferenceWidget.kt

@@ -10,7 +10,7 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.vector.ImageVector
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
+import tachiyomi.presentation.core.util.ThemePreviews
 
 @Composable
 fun SwitchPreferenceWidget(

+ 2 - 3
app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt

@@ -12,10 +12,9 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.vector.ImageVector
-import androidx.compose.ui.tooling.preview.Preview
 import eu.kanade.presentation.theme.TachiyomiTheme
-import eu.kanade.presentation.util.ThemePreviews
-import eu.kanade.presentation.util.secondaryItemAlpha
+import tachiyomi.presentation.core.util.ThemePreviews
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 fun TextPreferenceWidget(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/widget/TrackingPreferenceWidget.kt

@@ -17,8 +17,8 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.TrackLogoIcon
 import eu.kanade.presentation.more.settings.LocalPreferenceHighlighted
+import eu.kanade.presentation.track.components.TrackLogoIcon
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.track.TrackService
 

+ 3 - 3
app/src/main/java/eu/kanade/presentation/more/settings/widget/TriStateListDialog.kt

@@ -27,11 +27,11 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.clip
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.LazyColumn
-import eu.kanade.presentation.util.isScrolledToEnd
-import eu.kanade.presentation.util.isScrolledToStart
 import eu.kanade.tachiyomi.R
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.material.Divider
+import tachiyomi.presentation.core.util.isScrolledToEnd
+import tachiyomi.presentation.core.util.isScrolledToStart
 
 private enum class State {
     CHECKED, INVERSED, UNCHECKED

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/stats/StatsScreenContent.kt

@@ -14,12 +14,12 @@ import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import eu.kanade.core.util.toDurationString
-import eu.kanade.presentation.components.LazyColumn
 import eu.kanade.presentation.more.stats.components.StatsItem
 import eu.kanade.presentation.more.stats.components.StatsOverviewItem
 import eu.kanade.presentation.more.stats.components.StatsSection
 import eu.kanade.presentation.more.stats.data.StatsData
 import eu.kanade.tachiyomi.R
+import tachiyomi.presentation.core.components.LazyColumn
 import tachiyomi.presentation.core.components.material.padding
 import java.util.Locale
 import kotlin.time.DurationUnit

+ 2 - 2
app/src/main/java/eu/kanade/presentation/manga/TrackInfoDialogHome.kt → app/src/main/java/eu/kanade/presentation/track/TrackInfoDialogHome.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.manga
+package eu.kanade.presentation.track
 
 import androidx.compose.animation.animateContentSize
 import androidx.compose.foundation.background
@@ -43,7 +43,7 @@ import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
 import eu.kanade.presentation.components.DropdownMenu
-import eu.kanade.presentation.components.TrackLogoIcon
+import eu.kanade.presentation.track.components.TrackLogoIcon
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.track.TrackService
 import eu.kanade.tachiyomi.ui.manga.track.TrackItem

+ 9 - 8
app/src/main/java/eu/kanade/presentation/manga/TrackInfoDialogSelector.kt → app/src/main/java/eu/kanade/presentation/track/TrackInfoDialogSelector.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.manga
+package eu.kanade.presentation.track
 
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Box
@@ -29,18 +29,19 @@ import androidx.compose.ui.draw.clip
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.ScrollbarLazyColumn
-import eu.kanade.presentation.components.WheelDatePicker
-import eu.kanade.presentation.components.WheelTextPicker
-import eu.kanade.presentation.util.isScrolledToEnd
-import eu.kanade.presentation.util.isScrolledToStart
-import eu.kanade.presentation.util.minimumTouchTargetSize
 import eu.kanade.tachiyomi.R
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
+import tachiyomi.presentation.core.components.WheelDatePicker
+import tachiyomi.presentation.core.components.WheelTextPicker
 import tachiyomi.presentation.core.components.material.AlertDialogContent
 import tachiyomi.presentation.core.components.material.Divider
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.isScrolledToEnd
+import tachiyomi.presentation.core.util.isScrolledToStart
+import tachiyomi.presentation.core.util.minimumTouchTargetSize
 import java.time.LocalDate
 import java.time.format.TextStyle
+import java.util.Locale
 
 @Composable
 fun TrackStatusSelector(
@@ -160,7 +161,7 @@ fun TrackDateSelector(
                         .weight(1f)
                         .padding(end = 16.dp),
                     text = internalSelection.dayOfWeek
-                        .getDisplayName(TextStyle.SHORT, java.util.Locale.getDefault()),
+                        .getDisplayName(TextStyle.SHORT, Locale.getDefault()),
                     textAlign = TextAlign.Center,
                     style = MaterialTheme.typography.titleMedium,
                 )

+ 6 - 6
app/src/main/java/eu/kanade/presentation/manga/TrackServiceSearch.kt → app/src/main/java/eu/kanade/presentation/track/TrackServiceSearch.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.manga
+package eu.kanade.presentation.track
 
 import androidx.compose.animation.AnimatedVisibility
 import androidx.compose.animation.fadeIn
@@ -57,17 +57,17 @@ import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.text.toLowerCase
 import androidx.compose.ui.unit.dp
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.MangaCover
-import eu.kanade.presentation.components.ScrollbarLazyColumn
-import eu.kanade.presentation.util.plus
-import eu.kanade.presentation.util.runOnEnterKeyPressed
-import eu.kanade.presentation.util.secondaryItemAlpha
+import eu.kanade.presentation.manga.components.MangaCover
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.track.model.TrackSearch
 import tachiyomi.presentation.core.components.LoadingScreen
+import tachiyomi.presentation.core.components.ScrollbarLazyColumn
 import tachiyomi.presentation.core.components.material.Divider
 import tachiyomi.presentation.core.components.material.Scaffold
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.plus
+import tachiyomi.presentation.core.util.runOnEnterKeyPressed
+import tachiyomi.presentation.core.util.secondaryItemAlpha
 
 @Composable
 fun TrackServiceSearch(

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/TrackLogoIcon.kt → app/src/main/java/eu/kanade/presentation/track/components/TrackLogoIcon.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package eu.kanade.presentation.track.components
 
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
@@ -13,8 +13,8 @@ import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.util.clickableNoIndication
 import eu.kanade.tachiyomi.data.track.TrackService
+import tachiyomi.presentation.core.util.clickableNoIndication
 
 @Composable
 fun TrackLogoIcon(

+ 3 - 3
app/src/main/java/eu/kanade/presentation/updates/UpdatesScreen.kt

@@ -24,16 +24,16 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.util.fastAll
 import androidx.compose.ui.util.fastAny
 import eu.kanade.presentation.components.AppBar
-import eu.kanade.presentation.components.ChapterDownloadAction
 import eu.kanade.presentation.components.EmptyScreen
-import eu.kanade.presentation.components.FastScrollLazyColumn
-import eu.kanade.presentation.components.MangaBottomActionMenu
+import eu.kanade.presentation.manga.components.ChapterDownloadAction
+import eu.kanade.presentation.manga.components.MangaBottomActionMenu
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.ui.updates.UpdatesItem
 import eu.kanade.tachiyomi.ui.updates.UpdatesState
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
+import tachiyomi.presentation.core.components.FastScrollLazyColumn
 import tachiyomi.presentation.core.components.LoadingScreen
 import tachiyomi.presentation.core.components.material.PullRefresh
 import tachiyomi.presentation.core.components.material.Scaffold

+ 5 - 5
app/src/main/java/eu/kanade/presentation/updates/UpdatesUiItem.kt

@@ -33,18 +33,18 @@ import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.font.FontStyle
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.components.ChapterDownloadAction
-import eu.kanade.presentation.components.ChapterDownloadIndicator
-import eu.kanade.presentation.components.ListGroupHeader
-import eu.kanade.presentation.components.MangaCover
+import eu.kanade.presentation.manga.components.ChapterDownloadAction
+import eu.kanade.presentation.manga.components.ChapterDownloadIndicator
 import eu.kanade.presentation.manga.components.DotSeparatorText
-import eu.kanade.presentation.util.selectedBackground
+import eu.kanade.presentation.manga.components.MangaCover
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.ui.updates.UpdatesItem
 import tachiyomi.domain.updates.model.UpdatesWithRelations
+import tachiyomi.presentation.core.components.ListGroupHeader
 import tachiyomi.presentation.core.components.material.ReadItemAlpha
 import tachiyomi.presentation.core.components.material.padding
+import tachiyomi.presentation.core.util.selectedBackground
 import java.util.Date
 import kotlin.time.Duration.Companion.minutes
 

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt

@@ -42,8 +42,8 @@ import eu.kanade.presentation.browse.BrowseSourceContent
 import eu.kanade.presentation.browse.MissingSourceScreen
 import eu.kanade.presentation.browse.components.BrowseSourceToolbar
 import eu.kanade.presentation.browse.components.RemoveMangaDialog
-import eu.kanade.presentation.components.ChangeCategoryDialog
-import eu.kanade.presentation.components.DuplicateMangaDialog
+import eu.kanade.presentation.components.dialogs.ChangeCategoryDialog
+import eu.kanade.presentation.components.dialogs.DuplicateMangaDialog
 import eu.kanade.presentation.util.AssistContentScreen
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.source.CatalogueSource

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt

@@ -29,13 +29,13 @@ import cafe.adriel.voyager.navigator.currentOrThrow
 import cafe.adriel.voyager.navigator.tab.LocalTabNavigator
 import cafe.adriel.voyager.navigator.tab.TabOptions
 import eu.kanade.domain.manga.model.isLocal
-import eu.kanade.presentation.components.ChangeCategoryDialog
-import eu.kanade.presentation.components.DeleteLibraryMangaDialog
 import eu.kanade.presentation.components.EmptyScreen
 import eu.kanade.presentation.components.EmptyScreenAction
-import eu.kanade.presentation.components.LibraryBottomActionMenu
+import eu.kanade.presentation.components.dialogs.ChangeCategoryDialog
+import eu.kanade.presentation.components.dialogs.DeleteLibraryMangaDialog
 import eu.kanade.presentation.library.components.LibraryContent
 import eu.kanade.presentation.library.components.LibraryToolbar
+import eu.kanade.presentation.manga.components.LibraryBottomActionMenu
 import eu.kanade.presentation.util.Tab
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.library.LibraryUpdateJob

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt

@@ -24,9 +24,9 @@ import cafe.adriel.voyager.navigator.Navigator
 import cafe.adriel.voyager.navigator.currentOrThrow
 import eu.kanade.domain.manga.model.hasCustomCover
 import eu.kanade.domain.manga.model.toSManga
-import eu.kanade.presentation.components.ChangeCategoryDialog
-import eu.kanade.presentation.components.DuplicateMangaDialog
 import eu.kanade.presentation.components.NavigatorAdaptiveSheet
+import eu.kanade.presentation.components.dialogs.ChangeCategoryDialog
+import eu.kanade.presentation.components.dialogs.DuplicateMangaDialog
 import eu.kanade.presentation.manga.ChapterSettingsDialog
 import eu.kanade.presentation.manga.EditCoverAction
 import eu.kanade.presentation.manga.MangaScreen

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt

@@ -23,8 +23,8 @@ import eu.kanade.domain.manga.model.isLocal
 import eu.kanade.domain.manga.model.toSManga
 import eu.kanade.domain.track.model.toDbTrack
 import eu.kanade.domain.ui.UiPreferences
-import eu.kanade.presentation.components.ChapterDownloadAction
 import eu.kanade.presentation.manga.DownloadAction
+import eu.kanade.presentation.manga.components.ChapterDownloadAction
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.download.DownloadCache
 import eu.kanade.tachiyomi.data.download.DownloadManager

+ 6 - 6
app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackInfoDialog.kt

@@ -40,12 +40,12 @@ import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
 import eu.kanade.domain.track.model.toDbTrack
 import eu.kanade.domain.track.model.toDomainTrack
 import eu.kanade.domain.ui.UiPreferences
-import eu.kanade.presentation.manga.TrackChapterSelector
-import eu.kanade.presentation.manga.TrackDateSelector
-import eu.kanade.presentation.manga.TrackInfoDialogHome
-import eu.kanade.presentation.manga.TrackScoreSelector
-import eu.kanade.presentation.manga.TrackServiceSearch
-import eu.kanade.presentation.manga.TrackStatusSelector
+import eu.kanade.presentation.track.TrackChapterSelector
+import eu.kanade.presentation.track.TrackDateSelector
+import eu.kanade.presentation.track.TrackInfoDialogHome
+import eu.kanade.presentation.track.TrackScoreSelector
+import eu.kanade.presentation.track.TrackServiceSearch
+import eu.kanade.presentation.track.TrackStatusSelector
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.database.models.Track
 import eu.kanade.tachiyomi.data.track.EnhancedTrackService

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt

@@ -14,7 +14,7 @@ import eu.kanade.core.util.insertSeparators
 import eu.kanade.domain.chapter.interactor.SetReadStatus
 import eu.kanade.domain.library.service.LibraryPreferences
 import eu.kanade.domain.ui.UiPreferences
-import eu.kanade.presentation.components.ChapterDownloadAction
+import eu.kanade.presentation.manga.components.ChapterDownloadAction
 import eu.kanade.presentation.updates.UpdatesUiModel
 import eu.kanade.tachiyomi.data.download.DownloadCache
 import eu.kanade.tachiyomi.data.download.DownloadManager

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/LazyGrid.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/LazyGrid.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components
 
 import androidx.compose.foundation.gestures.FlingBehavior
 import androidx.compose.foundation.layout.Arrangement
@@ -14,7 +14,7 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.util.flingBehaviorIgnoringMotionScale
+import tachiyomi.presentation.core.util.flingBehaviorIgnoringMotionScale
 
 @Composable
 fun FastScrollLazyVerticalGrid(

+ 3 - 3
app/src/main/java/eu/kanade/presentation/components/LazyList.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/LazyList.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components
 
 import androidx.compose.foundation.gestures.FlingBehavior
 import androidx.compose.foundation.layout.Arrangement
@@ -14,8 +14,8 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalDensity
 import androidx.compose.ui.platform.LocalLayoutDirection
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.util.drawVerticalScrollbar
-import eu.kanade.presentation.util.flingBehaviorIgnoringMotionScale
+import tachiyomi.presentation.core.util.drawVerticalScrollbar
+import tachiyomi.presentation.core.util.flingBehaviorIgnoringMotionScale
 
 /**
  * LazyColumn with fling animation fix

+ 1 - 1
app/src/main/java/eu/kanade/presentation/components/ListGroupHeader.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/ListGroupHeader.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components
 
 import androidx.compose.foundation.layout.padding
 import androidx.compose.material3.MaterialTheme

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/VerticalFastScroller.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/VerticalFastScroller.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components
 
 import android.view.ViewConfiguration
 import androidx.compose.animation.core.Animatable
@@ -45,10 +45,10 @@ import androidx.compose.ui.unit.dp
 import androidx.compose.ui.util.fastFirstOrNull
 import androidx.compose.ui.util.fastForEach
 import androidx.compose.ui.util.fastMaxBy
-import eu.kanade.presentation.components.Scroller.STICKY_HEADER_KEY_PREFIX
 import kotlinx.coroutines.channels.BufferOverflow
 import kotlinx.coroutines.flow.MutableSharedFlow
 import kotlinx.coroutines.flow.collectLatest
+import tachiyomi.presentation.core.components.Scroller.STICKY_HEADER_KEY_PREFIX
 import kotlin.math.abs
 import kotlin.math.max
 import kotlin.math.min

+ 1 - 1
app/src/main/java/eu/kanade/presentation/components/WheelPicker.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/WheelPicker.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components
 
 import androidx.compose.foundation.BorderStroke
 import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/Button.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Button.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components.material
 
 import androidx.compose.animation.core.Animatable
 import androidx.compose.animation.core.VectorConverter
@@ -38,7 +38,7 @@ import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.Shape
 import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.util.animateElevation
+import tachiyomi.presentation.core.util.animateElevation
 import androidx.compose.material3.ButtonDefaults as M3ButtonDefaults
 
 /**

+ 2 - 2
app/src/main/java/eu/kanade/presentation/components/Surface.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Surface.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components.material
 
 import androidx.compose.foundation.BorderStroke
 import androidx.compose.foundation.background
@@ -27,7 +27,7 @@ import androidx.compose.ui.graphics.compositeOver
 import androidx.compose.ui.semantics.Role
 import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
-import eu.kanade.presentation.util.minimumTouchTargetSize
+import tachiyomi.presentation.core.util.minimumTouchTargetSize
 import kotlin.math.ln
 
 /**

+ 1 - 1
app/src/main/java/eu/kanade/presentation/components/Tabs.kt → presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Tabs.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.components
+package tachiyomi.presentation.core.components.material
 
 import androidx.compose.foundation.isSystemInDarkTheme
 import androidx.compose.foundation.layout.Row

+ 2 - 2
app/src/main/java/eu/kanade/presentation/util/Elevation.kt → presentation-core/src/main/java/tachiyomi/presentation/core/util/Elevation.kt

@@ -18,7 +18,7 @@
  * Straight copy from Compose M3 for Button fork
  */
 
-package eu.kanade.presentation.util
+package tachiyomi.presentation.core.util
 
 import androidx.compose.animation.core.Animatable
 import androidx.compose.animation.core.AnimationSpec
@@ -47,7 +47,7 @@ import androidx.compose.ui.unit.Dp
  * when this component is being pressed. `null` if this component is moving back to its default
  * state.
  */
-internal suspend fun Animatable<Dp, *>.animateElevation(
+suspend fun Animatable<Dp, *>.animateElevation(
     target: Dp,
     from: Interaction? = null,
     to: Interaction? = null,

+ 1 - 1
app/src/main/java/eu/kanade/presentation/util/LazyListState.kt → presentation-core/src/main/java/tachiyomi/presentation/core/util/LazyListState.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.util
+package tachiyomi.presentation.core.util
 
 import androidx.compose.foundation.lazy.LazyListState
 import androidx.compose.runtime.Composable

+ 1 - 1
app/src/main/java/eu/kanade/presentation/util/Modifier.kt → presentation-core/src/main/java/tachiyomi/presentation/core/util/Modifier.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.util
+package tachiyomi.presentation.core.util
 
 import androidx.compose.foundation.background
 import androidx.compose.foundation.combinedClickable

+ 1 - 1
app/src/main/java/eu/kanade/presentation/util/PaddingValues.kt → presentation-core/src/main/java/tachiyomi/presentation/core/util/PaddingValues.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.util
+package tachiyomi.presentation.core.util
 
 import androidx.compose.foundation.layout.PaddingValues
 import androidx.compose.foundation.layout.calculateEndPadding

+ 1 - 1
app/src/main/java/eu/kanade/presentation/util/Preview.kt → presentation-core/src/main/java/tachiyomi/presentation/core/util/Preview.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.util
+package tachiyomi.presentation.core.util
 
 import android.content.res.Configuration
 import androidx.compose.ui.tooling.preview.Preview

+ 1 - 1
app/src/main/java/eu/kanade/presentation/util/Scrollable.kt → presentation-core/src/main/java/tachiyomi/presentation/core/util/Scrollable.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.util
+package tachiyomi.presentation.core.util
 
 import androidx.compose.animation.core.AnimationState
 import androidx.compose.animation.core.DecayAnimationSpec

+ 2 - 2
app/src/main/java/eu/kanade/presentation/util/Scrollbar.kt → presentation-core/src/main/java/tachiyomi/presentation/core/util/Scrollbar.kt

@@ -1,4 +1,4 @@
-package eu.kanade.presentation.util
+package tachiyomi.presentation.core.util
 
 /*
  * MIT License
@@ -64,10 +64,10 @@ import androidx.compose.ui.unit.LayoutDirection
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.util.fastFirstOrNull
 import androidx.compose.ui.util.fastSumBy
-import eu.kanade.presentation.components.Scroller.STICKY_HEADER_KEY_PREFIX
 import kotlinx.coroutines.channels.BufferOverflow
 import kotlinx.coroutines.flow.MutableSharedFlow
 import kotlinx.coroutines.flow.collectLatest
+import tachiyomi.presentation.core.components.Scroller.STICKY_HEADER_KEY_PREFIX
 
 /**
  * Draws horizontal scrollbar to a LazyList.