diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2e0b4a910..612f789db 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -132,12 +132,6 @@ dependencies { implementation("io.noties.markwon:image-coil:4.6.2") implementation("io.noties.markwon:linkify:4.6.2") - // Accompanist - implementation("com.google.accompanist:accompanist-pager:0.34.0") - implementation("com.google.accompanist:accompanist-pager-indicators:0.34.0") - implementation("com.google.accompanist:accompanist-flowlayout:0.34.0") - implementation("com.google.accompanist:accompanist-navigation-animation:0.34.0") - // LiveData implementation("androidx.compose.runtime:runtime-livedata") implementation("androidx.lifecycle:lifecycle-runtime-compose") @@ -184,7 +178,7 @@ dependencies { implementation("androidx.compose.material:material-icons-extended") implementation("org.ocpsoft.prettytime:prettytime:5.0.8.Final") - implementation("androidx.navigation:navigation-compose") + implementation("androidx.navigation:navigation-compose:2.7.7") testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.8.1") testImplementation("junit:junit:4.13.2") diff --git a/app/src/main/java/com/jerboa/MainActivity.kt b/app/src/main/java/com/jerboa/MainActivity.kt index 58c129eb7..f810131b1 100644 --- a/app/src/main/java/com/jerboa/MainActivity.kt +++ b/app/src/main/java/com/jerboa/MainActivity.kt @@ -492,7 +492,7 @@ class MainActivity : AppCompatActivity() { val args = Route.PostArgs(it) SwipeToNavigateBack( - appSettings.postNavigationGestureMode, + appSettings.postNavigationGestureMode.toEnumSafe(), appState::navigateUp, ) { PostActivity( diff --git a/app/src/main/java/com/jerboa/feat/PostNavigationGestureMode.kt b/app/src/main/java/com/jerboa/feat/PostNavigationGestureMode.kt index 9535e82bf..41bb0ca72 100644 --- a/app/src/main/java/com/jerboa/feat/PostNavigationGestureMode.kt +++ b/app/src/main/java/com/jerboa/feat/PostNavigationGestureMode.kt @@ -12,7 +12,7 @@ enum class PostNavigationGestureMode( Disabled(R.string.look_and_feel_post_navigation_gesture_mode_disabled), /** - * Enable swiping left to navigate away from a post. + * Enable swiping right to navigate away from a post. */ - SwipeLeft(R.string.look_and_feel_post_navigation_gesture_mode_swipe_left), + SwipeRight(R.string.look_and_feel_post_navigation_gesture_mode_swipe_right), } diff --git a/app/src/main/java/com/jerboa/ui/components/common/SwipeToAction.kt b/app/src/main/java/com/jerboa/ui/components/common/SwipeToAction.kt index cd9f4817a..a60ef8baa 100644 --- a/app/src/main/java/com/jerboa/ui/components/common/SwipeToAction.kt +++ b/app/src/main/java/com/jerboa/ui/components/common/SwipeToAction.kt @@ -141,7 +141,6 @@ fun SwipeToAction( ) } -@OptIn(ExperimentalMaterial3Api::class) @Composable fun rememberSwipeActionState( swipeToActionPreset: SwipeToActionPreset, diff --git a/app/src/main/java/com/jerboa/ui/components/common/SwipeToNavigateBack.kt b/app/src/main/java/com/jerboa/ui/components/common/SwipeToNavigateBack.kt index 3afd2b1bd..5926efbc9 100644 --- a/app/src/main/java/com/jerboa/ui/components/common/SwipeToNavigateBack.kt +++ b/app/src/main/java/com/jerboa/ui/components/common/SwipeToNavigateBack.kt @@ -3,56 +3,46 @@ package com.jerboa.ui.components.common import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material.DismissDirection -import androidx.compose.material.DismissValue -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.FractionalThreshold -import androidx.compose.material.SwipeToDismiss -import androidx.compose.material.rememberDismissState import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.SwipeToDismissBox +import androidx.compose.material3.SwipeToDismissBoxValue +import androidx.compose.material3.rememberSwipeToDismissBoxState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.jerboa.feat.PostNavigationGestureMode -@OptIn(ExperimentalMaterialApi::class) @Composable fun SwipeToNavigateBack( - useSwipeBack: Int, + useSwipeBack: PostNavigationGestureMode, onSwipeBack: () -> Unit, content: @Composable () -> Unit, ) { - if (useSwipeBack == PostNavigationGestureMode.SwipeLeft.ordinal) { - val dismissState = - rememberDismissState( - confirmStateChange = { + if (useSwipeBack == PostNavigationGestureMode.SwipeRight) { + SwipeToDismissBox( + state = rememberSwipeToDismissBoxState( + confirmValueChange = { when (it) { - DismissValue.DismissedToEnd -> { + SwipeToDismissBoxValue.StartToEnd -> { onSwipeBack() true } - else -> { - false - } + else -> false } }, - ) - SwipeToDismiss( - state = dismissState, - background = { + positionalThreshold = { it * 0.7f }, + ), + enableDismissFromEndToStart = false, + backgroundContent = { Box( - modifier = - Modifier - .fillMaxSize() - .background(MaterialTheme.colorScheme.background), + modifier = Modifier + .fillMaxSize() + .background(MaterialTheme.colorScheme.background), ) }, - dismissContent = { - content() - }, - directions = setOf(DismissDirection.StartToEnd), - dismissThresholds = { FractionalThreshold(0.8f) }, - ) + ) { + content() + } } else { content() } diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index e70905590..ad64bac82 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -150,7 +150,6 @@ الأسلوب إيماءات التنقُّل بين الموضوعات معطَّل - اسحب يسارًا ترجع منظور الموضوعات بطائق قائمة diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 968ed0eee..cb3af9043 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -155,7 +155,6 @@ Външен вид Post navigation gestures Disabled - Swipe left to navigate back Изглед на публикациите Карта Списък diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 4f4d2f992..dca11cee6 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -96,7 +96,7 @@ Внешний вид и предпочтения Жесты навигации по публикациям Отключен - Проведите пальцем слева, чтобы вернуться назад. + Проведите пальцем слева, чтобы вернуться назад. Внешний вид постов Карточка Список diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 27862e968..adeb6a467 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -155,7 +155,6 @@ Bak ve hisset Gezinme sonrası hareketleri Devre dışı - Geri gitmek için sola kaydırın Gönderi Görünümü Kart Liste diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f0597e861..4bf8ef038 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -155,7 +155,7 @@ Look and feel Post navigation gestures Disabled - Swipe left to navigate back + Swipe right to navigate back Post View Card List