Skip to content

Commit a85ef4f

Browse files
committed
feat: update bolt11
1 parent 9074056 commit a85ef4f

File tree

3 files changed

+22
-9
lines changed

3 files changed

+22
-9
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,22 @@ import to.bitkit.viewmodels.SendEvent
4747
@Composable
4848
fun EditInvoiceScreen(
4949
currencyUiState: CurrencyUiState = LocalCurrencies.current,
50+
updateInvoice: (ULong?, String) -> Unit,
5051
onEvent: (SendEvent) -> Unit,
5152
onBack: () -> Unit,
5253
) {
5354
val currencyVM = currencyViewModel ?: return
5455
var input: String by remember { mutableStateOf("") }
5556
var noteText by remember { mutableStateOf("") }
57+
var satsString by remember { mutableStateOf("") }
5658
var keyboardVisible by remember { mutableStateOf(false) }
5759

5860
AmountInputHandler(
5961
input = input,
6062
primaryDisplay = currencyUiState.primaryDisplay,
6163
displayUnit = currencyUiState.displayUnit,
6264
onInputChanged = { newInput -> input = newInput },
63-
onAmountCalculated = { sats -> },
65+
onAmountCalculated = { sats -> satsString = sats },
6466
currencyVM = currencyVM
6567
)
6668

@@ -76,7 +78,7 @@ fun EditInvoiceScreen(
7678
onClickBalance = { keyboardVisible = true },
7779
onInputChanged = { newText -> input = newText },
7880
onContinueKeyboard = { keyboardVisible = false },
79-
onContinueGeneral = {}
81+
onContinueGeneral = { updateInvoice(satsString.toULongOrNull(), noteText) }
8082
)
8183
}
8284

@@ -173,9 +175,7 @@ fun EditInvoiceContent(
173175
minLines = 4,
174176
colors = AppTextFieldDefaults.noIndicatorColors,
175177
shape = MaterialTheme.shapes.medium,
176-
modifier = Modifier
177-
.fillMaxWidth()
178-
.defaultMinSize(minHeight = 74.dp),
178+
modifier = Modifier.fillMaxWidth(),
179179
)
180180

181181
Spacer(modifier = Modifier.height(16.dp))

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,10 @@ fun ReceiveQrSheet(
159159
composable(ReceiveRoutes.EDIT_INVOICE) {
160160
EditInvoiceScreen (
161161
onEvent = {}, // TODO IMPLEMENT
162-
onBack = { navController.popBackStack() }
162+
onBack = { navController.popBackStack() },
163+
updateInvoice = { sats, description ->
164+
wallet.updateQr(amountSats = sats, description = description)
165+
}
163166
)
164167
}
165168
}

app/src/main/java/to/bitkit/viewmodels/WalletViewModel.kt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import com.google.firebase.messaging.FirebaseMessaging
1010
import dagger.hilt.android.lifecycle.HiltViewModel
1111
import dagger.hilt.android.qualifiers.ApplicationContext
1212
import kotlinx.coroutines.CoroutineDispatcher
13+
import kotlinx.coroutines.Dispatchers
1314
import kotlinx.coroutines.delay
1415
import kotlinx.coroutines.flow.MutableStateFlow
1516
import kotlinx.coroutines.flow.asStateFlow
1617
import kotlinx.coroutines.flow.filter
1718
import kotlinx.coroutines.flow.update
1819
import kotlinx.coroutines.launch
19-
import kotlinx.coroutines.runBlocking
2020
import kotlinx.coroutines.tasks.await
2121
import org.lightningdevkit.ldknode.BalanceDetails
2222
import org.lightningdevkit.ldknode.ChannelDetails
@@ -44,8 +44,6 @@ import to.bitkit.services.LightningService
4444
import to.bitkit.ui.shared.toast.ToastEventBus
4545
import to.bitkit.utils.AddressChecker
4646
import to.bitkit.utils.Logger
47-
import uniffi.bitkitcore.Scanner
48-
import uniffi.bitkitcore.decode
4947
import javax.inject.Inject
5048

5149
@HiltViewModel
@@ -334,6 +332,18 @@ class WalletViewModel @Inject constructor(
334332
}
335333
}
336334

335+
fun updateQr(
336+
amountSats: ULong? = null,
337+
description: String
338+
) {
339+
viewModelScope.launch(Dispatchers.IO) {
340+
_bolt11 = createInvoice(amountSats = amountSats, description= description)
341+
}
342+
343+
//TODO UPDATE BIP21
344+
}
345+
346+
337347
suspend fun createInvoice(
338348
amountSats: ULong? = null,
339349
description: String,

0 commit comments

Comments
 (0)