Skip to content

Commit 082699f

Browse files
committed
fix: unbreak global sheet resignment; disable sheet gestures for discovery to not compete with PTR
Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
1 parent 86f797f commit 082699f

3 files changed

Lines changed: 10 additions & 13 deletions

File tree

apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/AppRoute.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ sealed interface AppRoute : NavKey, Parcelable {
123123
data object SellReceipt : Token
124124

125125
@Serializable
126-
data object Discovery: AppRoute
126+
data object Discovery: AppRoute, NonDraggableRoute
127127

128128
}
129129
@Serializable

apps/flipcash/features/discovery/src/main/kotlin/com/flipcash/app/discovery/internal/TokenDiscoveryScreenContent.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ import androidx.compose.ui.tooling.preview.Preview
2727
import androidx.compose.ui.unit.dp
2828
import androidx.lifecycle.compose.collectAsStateWithLifecycle
2929
import com.flipcash.app.core.data.Loadable
30-
import com.flipcash.app.core.data.isLoaded
31-
import com.flipcash.app.core.data.isLoading
3230
import com.flipcash.app.discovery.internal.components.TokenLeaderboard
3331
import com.flipcash.app.theme.FlipcashPreview
3432
import com.flipcash.features.discovery.R
@@ -43,16 +41,12 @@ import com.getcode.opencode.model.ui.WindowedRange
4341
import com.getcode.solana.keys.Mint
4442
import com.getcode.solana.keys.PublicKey
4543
import com.getcode.theme.CodeTheme
46-
import com.getcode.ui.core.addIf
4744
import com.getcode.ui.core.drawWithGradient
4845
import com.getcode.ui.core.measured
49-
import com.getcode.ui.core.verticalScrollStateGradient
5046
import com.getcode.ui.theme.CodeButton
5147
import com.getcode.ui.theme.CodeScaffold
5248
import com.getcode.ui.theme.CodeSegmentedControl
53-
import com.getcode.ui.utils.sheetResignmentBehavior
5449
import com.getcode.util.resources.LocalResources
55-
import kotlinx.coroutines.delay
5650

5751
@Composable
5852
internal fun TokenDiscoveryScreen(viewModel: TokenDiscoveryViewModel) {

ui/navigation/src/main/kotlin/com/getcode/ui/utils/SheetResignmentModifierNode.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,26 +46,29 @@ private class SheetResignmentModifierNode(
4646
override fun onAttach() {
4747
super.onAttach()
4848
observeJob = coroutineScope.launch {
49-
snapshotFlow { isAtTop to listState.isScrollInProgress }
50-
.collect { (atTop, scrolling) -> updateGestures(atTop, scrolling) }
49+
snapshotFlow { isAtTop }
50+
.collect { atTop -> updateGestures(atTop) }
5151
}
5252
}
5353

54-
private fun updateGestures(atTop: Boolean, scrolling: Boolean) {
54+
private fun updateGestures(atTop: Boolean) {
5555
resetJob?.cancel()
5656

57-
if (atTop && !scrolling) {
57+
if (atTop) {
58+
// Just reached top → arm the "reject first downward drag"
5859
waitingForSecondDrag = true
59-
setGesturesEnabled(false)
60+
setGesturesEnabled(false) // sheet drag disabled initially
6061

62+
// Optional: auto-allow after delay (so pause → second drag works)
6163
if (autoResetDelayMs > 0) {
6264
resetJob = coroutineScope.launch {
6365
delay(autoResetDelayMs)
6466
waitingForSecondDrag = false
65-
setGesturesEnabled(true)
67+
setGesturesEnabled(true) // now allow dismiss
6668
}
6769
}
6870
} else {
71+
// Scrolled away from top → normal scrolling mode, sheet drag disabled
6972
waitingForSecondDrag = false
7073
setGesturesEnabled(false)
7174
}

0 commit comments

Comments
 (0)