@@ -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
307326private fun ReceiveDetailsView (
308327 tab : ReceiveTab ,
0 commit comments