Skip to content

Commit d9778b5

Browse files
committed
fix: preserve amount when returning to edit screen
1 parent 8dded68 commit d9778b5

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

app/src/main/java/to/bitkit/ui/nav/entries/SheetEntries.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ import to.bitkit.ui.sheets.QuickPayIntroSheet
7676
import to.bitkit.ui.sheets.UpdateSheet
7777
import to.bitkit.ui.utils.NotificationUtils
7878
import to.bitkit.viewmodels.ActivityListViewModel
79-
import to.bitkit.viewmodels.AmountInputViewModel
8079
import to.bitkit.viewmodels.AppViewModel
8180
import to.bitkit.viewmodels.SendEvent
8281
import to.bitkit.viewmodels.SettingsViewModel
@@ -679,12 +678,7 @@ private fun EntryProviderScope<NavKey>.receiveFlowEntries(
679678
metadata = SheetSceneStrategy.sheet()
680679
) {
681680
val walletState by walletViewModel.walletState.collectAsStateWithLifecycle()
682-
val editInvoiceAmountViewModel = hiltViewModel<AmountInputViewModel>()
683-
684-
LaunchedEffect(Unit) { editInvoiceAmountViewModel.clearInput() }
685-
686681
EditInvoiceScreen(
687-
amountInputViewModel = editInvoiceAmountViewModel,
688682
walletUiState = walletState,
689683
onBack = { navigator.popBackTo(Routes.Receive.Qr, inclusive = true) },
690684
updateInvoice = walletViewModel::updateBip21Invoice,

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ import to.bitkit.viewmodels.previewAmountInputViewModel
7070
@Suppress("ViewModelForwarding")
7171
@Composable
7272
fun EditInvoiceScreen(
73-
amountInputViewModel: AmountInputViewModel,
7473
walletUiState: WalletState,
7574
updateInvoice: (ULong?) -> Unit,
7675
onClickAddTag: () -> Unit,
@@ -80,12 +79,22 @@ fun EditInvoiceScreen(
8079
navigateReceiveConfirm: (CjitEntryDetails) -> Unit,
8180
currencies: CurrencyState = LocalCurrencies.current,
8281
editInvoiceVM: EditInvoiceVM = hiltViewModel(),
82+
amountInputViewModel: AmountInputViewModel = hiltViewModel(),
8383
) {
8484
val blocktankVM = blocktankViewModel ?: return
8585
var keyboardVisible by remember { mutableStateOf(false) }
8686
var isSoftKeyboardVisible by keyboardAsState()
8787
val amountInputUiState by amountInputViewModel.uiState.collectAsStateWithLifecycle()
8888

89+
LaunchedEffect(Unit) {
90+
val amount = walletUiState.bip21AmountSats?.toLong() ?: 0L
91+
if (amount > 0) {
92+
amountInputViewModel.setSats(amount, currencies)
93+
} else {
94+
amountInputViewModel.clearInput()
95+
}
96+
}
97+
8998
LaunchedEffect(Unit) {
9099
editInvoiceVM.editInvoiceEffect.collect { effect ->
91100
val receiveSats = amountInputUiState.sats.toULong()

0 commit comments

Comments
 (0)