Skip to content

Commit ea3e9b8

Browse files
committed
feat: cjit onboard WIP
1 parent 72f0737 commit ea3e9b8

File tree

1 file changed

+37
-18
lines changed

1 file changed

+37
-18
lines changed

app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveQrScreen.kt

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,12 @@ fun ReceiveQrScreen(
7474
) {
7575
SetMaxBrightness()
7676

77+
val hasUsableChannels = lightningState.channels.isNotEmpty()
78+
7779
// Tab selection state
7880
var selectedTab by remember {
7981
mutableStateOf(
80-
initialTab ?: if (walletState.channels.isNotEmpty()) {
82+
initialTab ?: if (hasUsableChannels) {
8183
ReceiveTab.AUTO
8284
} else {
8385
ReceiveTab.SAVINGS
@@ -92,13 +94,17 @@ fun ReceiveQrScreen(
9294
val visibleTabs = remember(walletState, lightningState) {
9395
buildList {
9496
add(ReceiveTab.SAVINGS)
95-
if (walletState.channels.isNotEmpty()) {
97+
if (hasUsableChannels) {
9698
add(ReceiveTab.AUTO)
9799
}
98100
add(ReceiveTab.SPENDING)
99101
}
100102
}
101103

104+
val showingCjitOnboarding = remember(selectedTab, hasUsableChannels) {
105+
selectedTab == ReceiveTab.SPENDING && !hasUsableChannels
106+
}
107+
102108
// Auto-correct selected tab if it becomes hidden
103109
LaunchedEffect(visibleTabs) {
104110
if (selectedTab !in visibleTabs) {
@@ -157,22 +163,30 @@ fun ReceiveQrScreen(
157163
horizontalAlignment = Alignment.CenterHorizontally,
158164
modifier = Modifier.weight(1f)
159165
) {
160-
if (showDetails) {
161-
ReceiveDetailsView(
162-
tab = selectedTab,
163-
onchainAddress = walletState.onchainAddress,
164-
bolt11 = walletState.bolt11,
165-
cjitInvoice = cjitInvoice.value,
166-
modifier = Modifier.weight(1f)
167-
)
168-
} else {
169-
ReceiveQrView(
170-
uri = currentInvoice,
171-
qrLogoPainter = painterResource(qrLogoRes),
172-
onClickEditInvoice = onClickEditInvoice,
173-
tab = selectedTab,
174-
modifier = Modifier.fillMaxWidth()
175-
)
166+
when {
167+
showingCjitOnboarding -> {
168+
CjitOnBoardingView(
169+
modifier = Modifier.weight(1f)
170+
)
171+
}
172+
showDetails -> {
173+
ReceiveDetailsView(
174+
tab = selectedTab,
175+
onchainAddress = walletState.onchainAddress,
176+
bolt11 = walletState.bolt11,
177+
cjitInvoice = cjitInvoice.value,
178+
modifier = Modifier.weight(1f)
179+
)
180+
}
181+
else -> {
182+
ReceiveQrView(
183+
uri = currentInvoice,
184+
qrLogoPainter = painterResource(qrLogoRes),
185+
onClickEditInvoice = onClickEditInvoice,
186+
tab = selectedTab,
187+
modifier = Modifier.fillMaxWidth()
188+
)
189+
}
176190
}
177191
}
178192

@@ -303,6 +317,11 @@ private fun ReceiveQrView(
303317
}
304318
}
305319

320+
@Composable
321+
fun CjitOnBoardingView(modifier: Modifier = Modifier) {
322+
323+
}
324+
306325
@Composable
307326
private fun ReceiveDetailsView(
308327
tab: ReceiveTab,

0 commit comments

Comments
 (0)