hide Pinned chip in Global/Migrate Search if no pinned sources available
This commit is contained in:
parent
6bb8535af4
commit
8895015388
8 changed files with 44 additions and 15 deletions
|
|
@ -39,6 +39,7 @@ fun GlobalSearchScreen(
|
||||||
onLongClickItem: (Manga) -> Unit,
|
onLongClickItem: (Manga) -> Unit,
|
||||||
// KMK -->
|
// KMK -->
|
||||||
bulkFavoriteScreenModel: BulkFavoriteScreenModel,
|
bulkFavoriteScreenModel: BulkFavoriteScreenModel,
|
||||||
|
hasPinnedSources: Boolean,
|
||||||
// KMK <--
|
// KMK <--
|
||||||
) {
|
) {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
|
|
@ -91,6 +92,7 @@ fun GlobalSearchScreen(
|
||||||
// KMK -->
|
// KMK -->
|
||||||
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
|
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
|
||||||
isRunning = bulkFavoriteState.isRunning,
|
isRunning = bulkFavoriteState.isRunning,
|
||||||
|
hasPinnedSources = hasPinnedSources,
|
||||||
// KMK <--
|
// KMK <--
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ fun MigrateSearchScreen(
|
||||||
onLongClickItem: (Manga) -> Unit,
|
onLongClickItem: (Manga) -> Unit,
|
||||||
// KMK -->
|
// KMK -->
|
||||||
bulkFavoriteScreenModel: BulkFavoriteScreenModel,
|
bulkFavoriteScreenModel: BulkFavoriteScreenModel,
|
||||||
|
hasPinnedSources: Boolean,
|
||||||
// KMK <--
|
// KMK <--
|
||||||
) {
|
) {
|
||||||
// KMK -->
|
// KMK -->
|
||||||
|
|
@ -81,6 +82,7 @@ fun MigrateSearchScreen(
|
||||||
// KMK -->
|
// KMK -->
|
||||||
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
|
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
|
||||||
isRunning = bulkFavoriteState.isRunning,
|
isRunning = bulkFavoriteState.isRunning,
|
||||||
|
hasPinnedSources = hasPinnedSources,
|
||||||
// KMK <--
|
// KMK <--
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ fun GlobalSearchToolbar(
|
||||||
// KMK -->
|
// KMK -->
|
||||||
toggleSelectionMode: () -> Unit,
|
toggleSelectionMode: () -> Unit,
|
||||||
isRunning: Boolean,
|
isRunning: Boolean,
|
||||||
|
hasPinnedSources: Boolean,
|
||||||
// KMK <--
|
// KMK <--
|
||||||
) {
|
) {
|
||||||
Column(modifier = Modifier.background(MaterialTheme.colorScheme.surface)) {
|
Column(modifier = Modifier.background(MaterialTheme.colorScheme.surface)) {
|
||||||
|
|
@ -89,6 +90,9 @@ fun GlobalSearchToolbar(
|
||||||
horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.small),
|
horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.small),
|
||||||
) {
|
) {
|
||||||
// TODO: make this UX better; it only applies when triggering a new search
|
// TODO: make this UX better; it only applies when triggering a new search
|
||||||
|
// KMK -->
|
||||||
|
if (hasPinnedSources) {
|
||||||
|
// KMK <--
|
||||||
FilterChip(
|
FilterChip(
|
||||||
selected = sourceFilter == SourceFilter.PinnedOnly,
|
selected = sourceFilter == SourceFilter.PinnedOnly,
|
||||||
onClick = { onChangeSearchFilter(SourceFilter.PinnedOnly) },
|
onClick = { onChangeSearchFilter(SourceFilter.PinnedOnly) },
|
||||||
|
|
@ -104,6 +108,7 @@ fun GlobalSearchToolbar(
|
||||||
Text(text = stringResource(MR.strings.pinned_sources))
|
Text(text = stringResource(MR.strings.pinned_sources))
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
}
|
||||||
FilterChip(
|
FilterChip(
|
||||||
selected = sourceFilter == SourceFilter.All,
|
selected = sourceFilter == SourceFilter.All,
|
||||||
onClick = { onChangeSearchFilter(SourceFilter.All) },
|
onClick = { onChangeSearchFilter(SourceFilter.All) },
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@ class MigrateSearchScreen(private val mangaId: Long, private val validSources: L
|
||||||
onLongClickItem = { navigator.push(MangaScreen(it.id, true)) },
|
onLongClickItem = { navigator.push(MangaScreen(it.id, true)) },
|
||||||
// KMK -->
|
// KMK -->
|
||||||
bulkFavoriteScreenModel = bulkFavoriteScreenModel,
|
bulkFavoriteScreenModel = bulkFavoriteScreenModel,
|
||||||
|
hasPinnedSources = screenModel.hasPinnedSources(),
|
||||||
// KMK <--
|
// KMK <--
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,10 @@ class MigrateSearchScreenModel(
|
||||||
}
|
}
|
||||||
search()
|
search()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// KMK -->
|
||||||
|
shouldPinnedSourcesHidden()
|
||||||
|
// KMK <--
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getEnabledSources(): List<CatalogueSource> {
|
override fun getEnabledSources(): List<CatalogueSource> {
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,7 @@ class GlobalSearchScreen(
|
||||||
},
|
},
|
||||||
// KMK -->
|
// KMK -->
|
||||||
bulkFavoriteScreenModel = bulkFavoriteScreenModel,
|
bulkFavoriteScreenModel = bulkFavoriteScreenModel,
|
||||||
|
hasPinnedSources = screenModel.hasPinnedSources(),
|
||||||
// KMK <--
|
// KMK <--
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,10 @@ class GlobalSearchScreenModel(
|
||||||
}
|
}
|
||||||
search()
|
search()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// KMK -->
|
||||||
|
shouldPinnedSourcesHidden()
|
||||||
|
// KMK <--
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getEnabledSources(): List<CatalogueSource> {
|
override fun getEnabledSources(): List<CatalogueSource> {
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,16 @@ abstract class SearchScreenModel(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// KMK -->
|
||||||
|
fun hasPinnedSources(): Boolean = getEnabledSources().any { "${it.id}" in pinnedSources }
|
||||||
|
|
||||||
|
fun shouldPinnedSourcesHidden() {
|
||||||
|
if (!hasPinnedSources()) {
|
||||||
|
preferences.globalSearchPinnedState().set(SourceFilter.All)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// KMK <--
|
||||||
|
|
||||||
private fun getSelectedSources(): List<CatalogueSource> {
|
private fun getSelectedSources(): List<CatalogueSource> {
|
||||||
val enabledSources = getEnabledSources()
|
val enabledSources = getEnabledSources()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue