Selaa lähdekoodia

ChapterNavigator: Always show buttons and fix steps visual (#9461)

Ivan Iskandar 1 vuosi sitten
vanhempi
commit
f0dd33ee4c
1 muutettua tiedostoa jossa 23 lisäystä ja 28 poistoa
  1. 23 28
      app/src/main/java/eu/kanade/presentation/reader/ChapterNavigator.kt

+ 23 - 28
app/src/main/java/eu/kanade/presentation/reader/ChapterNavigator.kt

@@ -64,20 +64,19 @@ fun ChapterNavigator(
             val backgroundColor = MaterialTheme.colorScheme
                 .surfaceColorAtElevation(3.dp)
                 .copy(alpha = if (isSystemInDarkTheme()) 0.9f else 0.95f)
-
-            val isLeftEnabled = if (isRtl) enabledNext else enabledPrevious
-            if (isLeftEnabled) {
-                FilledIconButton(
-                    onClick = if (isRtl) onNextChapter else onPreviousChapter,
-                    colors = IconButtonDefaults.filledIconButtonColors(
-                        containerColor = backgroundColor,
-                    ),
-                ) {
-                    Icon(
-                        imageVector = Icons.Outlined.SkipPrevious,
-                        contentDescription = stringResource(if (isRtl) R.string.action_next_chapter else R.string.action_previous_chapter),
-                    )
-                }
+            val buttonColor = IconButtonDefaults.filledIconButtonColors(
+                containerColor = backgroundColor,
+                disabledContainerColor = backgroundColor,
+            )
+            FilledIconButton(
+                enabled = if (isRtl) enabledNext else enabledPrevious,
+                onClick = if (isRtl) onNextChapter else onPreviousChapter,
+                colors = buttonColor,
+            ) {
+                Icon(
+                    imageVector = Icons.Outlined.SkipPrevious,
+                    contentDescription = stringResource(if (isRtl) R.string.action_next_chapter else R.string.action_previous_chapter),
+                )
             }
 
             if (totalPages > 1) {
@@ -105,7 +104,7 @@ fun ChapterNavigator(
                                 .padding(horizontal = 8.dp),
                             value = currentPage.toFloat(),
                             valueRange = 1f..totalPages.toFloat(),
-                            steps = totalPages,
+                            steps = totalPages - 2,
                             onValueChange = {
                                 onSliderValueChange(it.toInt() - 1)
                             },
@@ -119,19 +118,15 @@ fun ChapterNavigator(
                 Spacer(Modifier.weight(1f))
             }
 
-            val isRightEnabled = if (isRtl) enabledPrevious else enabledNext
-            if (isRightEnabled) {
-                FilledIconButton(
-                    onClick = if (isRtl) onPreviousChapter else onNextChapter,
-                    colors = IconButtonDefaults.filledIconButtonColors(
-                        containerColor = backgroundColor,
-                    ),
-                ) {
-                    Icon(
-                        imageVector = Icons.Outlined.SkipNext,
-                        contentDescription = stringResource(if (isRtl) R.string.action_previous_chapter else R.string.action_next_chapter),
-                    )
-                }
+            FilledIconButton(
+                enabled = if (isRtl) enabledPrevious else enabledNext,
+                onClick = if (isRtl) onPreviousChapter else onNextChapter,
+                colors = buttonColor,
+            ) {
+                Icon(
+                    imageVector = Icons.Outlined.SkipNext,
+                    contentDescription = stringResource(if (isRtl) R.string.action_previous_chapter else R.string.action_next_chapter),
+                )
             }
         }
     }