From a35f21e2e9650bb6c55d5b1cc62f057135c975d9 Mon Sep 17 00:00:00 2001 From: junkfood <69683722+JunkFood02@users.noreply.github.com> Date: Wed, 2 Oct 2024 19:11:14 +0800 Subject: [PATCH 1/2] fix: icon placement in rtl layouts --- .../commonMain/kotlin/me/saket/swipe/SwipeableActionsBox.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/commonMain/kotlin/me/saket/swipe/SwipeableActionsBox.kt b/library/src/commonMain/kotlin/me/saket/swipe/SwipeableActionsBox.kt index 9b2c837..71c4f71 100644 --- a/library/src/commonMain/kotlin/me/saket/swipe/SwipeableActionsBox.kt +++ b/library/src/commonMain/kotlin/me/saket/swipe/SwipeableActionsBox.kt @@ -125,11 +125,11 @@ private fun ActionIconBox( layout(width = placeable.width, height = placeable.height) { // Align icon with the left/right edge of the content being swiped. val iconOffset = if (action.isOnRightSide) constraints.maxWidth + offset else offset - placeable.width - placeable.placeRelative(x = iconOffset.roundToInt(), y = 0) + placeable.place(x = iconOffset.roundToInt(), y = 0) } } .background(color = backgroundColor), - horizontalArrangement = if (action.isOnRightSide) Arrangement.Start else Arrangement.End, + horizontalArrangement = if (action.isOnRightSide) Arrangement.Absolute.Left else Arrangement.Absolute.Right, verticalAlignment = Alignment.CenterVertically, ) { content() From 0867761b5db4e947c0c75681f4b0ef049d5c1a6c Mon Sep 17 00:00:00 2001 From: junkfood <69683722+JunkFood02@users.noreply.github.com> Date: Sat, 23 Nov 2024 20:47:46 +0800 Subject: [PATCH 2/2] test: add test for rtl --- .../me/saket/swipe/SwipeableActionsBoxTest.kt | 20 ++++++++++++++++++ ...eableActionsBoxTest_rtl alignment test.png | Bin 0 -> 34001 bytes 2 files changed, 20 insertions(+) create mode 100644 library/src/test/snapshots/images/me.saket.swipe_SwipeableActionsBoxTest_rtl alignment test.png diff --git a/library/src/test/kotlin/me/saket/swipe/SwipeableActionsBoxTest.kt b/library/src/test/kotlin/me/saket/swipe/SwipeableActionsBoxTest.kt index 0d77716..63652f5 100644 --- a/library/src/test/kotlin/me/saket/swipe/SwipeableActionsBoxTest.kt +++ b/library/src/test/kotlin/me/saket/swipe/SwipeableActionsBoxTest.kt @@ -22,6 +22,7 @@ import androidx.compose.material.icons.twotone.Snooze import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -29,8 +30,11 @@ import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.isSpecified import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import app.cash.paparazzi.DeviceConfig import app.cash.paparazzi.Paparazzi @@ -140,6 +144,22 @@ class SwipeableActionsBoxTest { } } + @Test + fun `rtl alignment test`() { + paparazzi.snapshot { + CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) { + Scaffold { + SwipeableActionsBox( + state = rememberSwipeActionsState(initialOffset = 80.dp), + startActions = listOf(replyAll), + endActions = listOf(snooze), + content = { BatmanIpsumItem() }, + ) + } + } + } + } + @Composable private fun Scaffold(content: @Composable BoxWithConstraintsScope.() -> Unit) { BoxWithConstraints( diff --git a/library/src/test/snapshots/images/me.saket.swipe_SwipeableActionsBoxTest_rtl alignment test.png b/library/src/test/snapshots/images/me.saket.swipe_SwipeableActionsBoxTest_rtl alignment test.png new file mode 100644 index 0000000000000000000000000000000000000000..9a5d40391ccf1367aabc71d925ae572e7f86f1fe GIT binary patch literal 34001 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