Skip to content

Commit 34b395f

Browse files
committed
fix: make tip card dismissal more deterministic
Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
1 parent b4e5b2d commit 34b395f

4 files changed

Lines changed: 15 additions & 10 deletions

File tree

app/src/main/java/com/getcode/navigation/screens/MainScreens.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ sealed interface HomeResult {
3131
data class Request(val amount: KinAmount) : HomeResult
3232
data class ConfirmTip(val amount: KinAmount) : HomeResult
3333
data object ShowTipCard : HomeResult
34+
data object CancelTipEntry: HomeResult
3435
}
3536

3637
@Parcelize
@@ -66,6 +67,10 @@ data class HomeScreen(
6667
is HomeResult.ShowTipCard -> {
6768
vm.presentShareableTipCard()
6869
}
70+
71+
is HomeResult.CancelTipEntry -> {
72+
vm.cancelTipEntry()
73+
}
6974
}
7075
}
7176
}

app/src/main/java/com/getcode/navigation/screens/ModalScreens.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.getcode.navigation.screens
22

33
import android.webkit.JavascriptInterface
4+
import androidx.activity.compose.BackHandler
45
import androidx.compose.foundation.isSystemInDarkTheme
56
import androidx.compose.foundation.layout.fillMaxSize
67
import androidx.compose.foundation.layout.imePadding
@@ -436,13 +437,20 @@ data class EnterTipModal(val isInChat: Boolean = false) : MainGraph, ModalRoot {
436437
} else {
437438
navigator.progress > 0f
438439
}
440+
},
441+
onCloseClicked = {
442+
navigator.hideWithResult(HomeResult.CancelTipEntry)
439443
}
440444
) {
441445
EnterTipScreen(getViewModel()) { result ->
442446
navigator.hideWithResult(result)
443447
}
444448
}
445449
}
450+
451+
BackHandler {
452+
navigator.hideWithResult(HomeResult.CancelTipEntry)
453+
}
446454
}
447455

448456
}

app/src/main/java/com/getcode/view/main/home/HomeScan.kt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import androidx.compose.ui.platform.LocalContext
3838
import androidx.compose.ui.platform.LocalFocusManager
3939
import androidx.compose.ui.unit.dp
4040
import androidx.lifecycle.Lifecycle
41+
import cafe.adriel.voyager.core.stack.StackEvent
4142
import com.getcode.LocalBiometricsState
4243
import com.getcode.R
4344
import com.getcode.manager.TopBarManager
@@ -127,15 +128,6 @@ fun HomeScreen(
127128
}
128129
.launchIn(this)
129130
}
130-
131-
LaunchedEffect(navigator) {
132-
// reset tip entry state when tip entry is manually dismissed
133-
// without advancing next
134-
snapshotFlow { navigator.progress }
135-
.filter { it == 0f && navigator.lastModalItem is EnterTipModal }
136-
.onEach { homeViewModel.cancelTipEntry() }
137-
.launchIn(this)
138-
}
139131
}
140132
}
141133
}

app/src/main/java/com/getcode/view/main/tip/ConnectAccountScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ private fun TweetPreview(
145145
modifier = Modifier.weight(1f),
146146
text = xMessage,
147147
color = Color.White,
148-
style = CodeTheme.typography.textSmall
148+
style = CodeTheme.typography.textSmall,
149149
)
150150
}
151151
}

0 commit comments

Comments
 (0)