12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package eu.kanade.presentation.reader.components
- import androidx.compose.foundation.layout.Arrangement
- import androidx.compose.foundation.layout.Box
- import androidx.compose.foundation.layout.Column
- import androidx.compose.foundation.layout.Row
- import androidx.compose.foundation.layout.Spacer
- import androidx.compose.foundation.layout.padding
- import androidx.compose.material.icons.Icons
- import androidx.compose.material.icons.outlined.Check
- import androidx.compose.material3.FilledTonalButton
- import androidx.compose.material3.Icon
- import androidx.compose.material3.MaterialTheme
- import androidx.compose.material3.OutlinedButton
- import androidx.compose.material3.Surface
- import androidx.compose.material3.Text
- import androidx.compose.runtime.Composable
- import androidx.compose.ui.Alignment
- import androidx.compose.ui.Modifier
- import androidx.compose.ui.tooling.preview.PreviewLightDark
- import androidx.compose.ui.unit.dp
- import eu.kanade.presentation.theme.TachiyomiPreviewTheme
- import tachiyomi.i18n.MR
- import tachiyomi.presentation.core.components.SettingsItemsPaddings
- import tachiyomi.presentation.core.components.material.padding
- import tachiyomi.presentation.core.i18n.stringResource
- @Composable
- fun ModeSelectionDialog(
- onApply: () -> Unit,
- onUseDefault: (() -> Unit)? = null,
- content: @Composable () -> Unit,
- ) {
- Box(modifier = Modifier.padding(vertical = 16.dp)) {
- Column {
- content()
- Row(
- modifier = Modifier.padding(
- horizontal = SettingsItemsPaddings.Horizontal,
- ),
- ) {
- onUseDefault?.let {
- OutlinedButton(onClick = it) {
- Text(text = stringResource(MR.strings.action_revert_to_default))
- }
- }
- Spacer(modifier = Modifier.weight(1f))
- FilledTonalButton(
- onClick = onApply,
- ) {
- Row(
- horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.small),
- verticalAlignment = Alignment.CenterVertically,
- ) {
- Icon(
- imageVector = Icons.Outlined.Check,
- contentDescription = null,
- )
- Text(text = stringResource(MR.strings.action_apply))
- }
- }
- }
- }
- }
- }
- @PreviewLightDark
- @Composable
- private fun Preview() {
- TachiyomiPreviewTheme {
- Surface {
- Column {
- ModeSelectionDialog(
- onApply = {},
- onUseDefault = {},
- ) {
- Text("Dummy content")
- }
- ModeSelectionDialog(
- onApply = {},
- ) {
- Text("Dummy content without default")
- }
- }
- }
- }
- }
|