Fix too many actions in browse source

This commit is contained in:
Jobobby04 2022-11-30 12:35:02 -05:00
parent d18625c69f
commit 0142e0f771

View File

@ -1,11 +1,10 @@
package eu.kanade.presentation.browse.components package eu.kanade.presentation.browse.components
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ViewList
import androidx.compose.material.icons.filled.ViewModule
import androidx.compose.material.icons.outlined.Help import androidx.compose.material.icons.outlined.Help
import androidx.compose.material.icons.outlined.Public import androidx.compose.material.icons.outlined.Public
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material.icons.outlined.ViewList
import androidx.compose.material.icons.outlined.ViewModule
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@ -56,33 +55,45 @@ fun BrowseSourceToolbar(
onClickCloseSearch = navigateUp, onClickCloseSearch = navigateUp,
actions = { actions = {
var selectingDisplayMode by remember { mutableStateOf(false) } var selectingDisplayMode by remember { mutableStateOf(false) }
// SY -->
val isConfigurableSource = source?.anyIs<ConfigurableSource>() == true
AppBarActions( AppBarActions(
// SY -->
actions = listOfNotNull( actions = listOfNotNull(
AppBar.Action( AppBar.Action(
title = stringResource(R.string.action_display_mode), title = stringResource(R.string.action_display_mode),
icon = if (displayMode == LibraryDisplayMode.List) Icons.Outlined.ViewList else Icons.Outlined.ViewModule, icon = if (displayMode == LibraryDisplayMode.List) Icons.Filled.ViewList else Icons.Filled.ViewModule,
onClick = { selectingDisplayMode = true }, onClick = { selectingDisplayMode = true },
).takeIf { displayMode != null }, ).takeIf { displayMode != null },
// SY <--
if (isLocalSource) { if (isLocalSource) {
AppBar.Action( if (isConfigurableSource && displayMode != null) {
title = stringResource(R.string.label_help), AppBar.OverflowAction(
icon = Icons.Outlined.Help, title = stringResource(R.string.label_help),
onClick = onHelpClick, onClick = onHelpClick,
) )
} else {
AppBar.Action(
title = stringResource(R.string.label_help),
icon = Icons.Outlined.Help,
onClick = onHelpClick,
)
}
} else { } else {
AppBar.Action( if (isConfigurableSource && displayMode != null) {
title = stringResource(R.string.action_web_view), AppBar.OverflowAction(
icon = Icons.Outlined.Public, title = stringResource(R.string.action_web_view),
onClick = onWebViewClick, onClick = onWebViewClick,
) )
} else {
AppBar.Action(
title = stringResource(R.string.action_web_view),
icon = Icons.Outlined.Public,
onClick = onWebViewClick,
)
}
}, },
// SY --> if (isConfigurableSource) {
if (source?.anyIs<ConfigurableSource>() ?: false) { AppBar.OverflowAction(
AppBar.Action(
title = stringResource(R.string.action_settings), title = stringResource(R.string.action_settings),
icon = Icons.Outlined.Settings,
onClick = onSettingsClick, onClick = onSettingsClick,
) )
} else { } else {