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