diff --git a/electrum/gui/qml/components/InvoiceDialog.qml b/electrum/gui/qml/components/InvoiceDialog.qml index 0a52b73a4..aa89d1d97 100644 --- a/electrum/gui/qml/components/InvoiceDialog.qml +++ b/electrum/gui/qml/components/InvoiceDialog.qml @@ -63,7 +63,9 @@ ElDialog { : invoice.status == Invoice.Paid ? InfoTextArea.IconStyle.Done : invoice.status == Invoice.Unpaid && invoice.expiration > 0 - ? InfoTextArea.IconStyle.Pending + ? invoice.canPay + ? InfoTextArea.IconStyle.Pending + : InfoTextArea.IconStyle.Error : InfoTextArea.IconStyle.Info } diff --git a/electrum/gui/qml/qeinvoice.py b/electrum/gui/qml/qeinvoice.py index e960dd39d..ac7bbbf7f 100644 --- a/electrum/gui/qml/qeinvoice.py +++ b/electrum/gui/qml/qeinvoice.py @@ -327,9 +327,8 @@ class QEInvoice(QObject, QtEventListener): lnaddr = self._effectiveInvoice._lnaddr if lnaddr.amount and amount.satsInt < lnaddr.amount * COIN: self.userinfo = _('Cannot pay less than the amount specified in the invoice') - elif self.address and self.get_max_spendable_onchain() < amount.satsInt: - # TODO: validate address? - # TODO: subtract fee? + elif not self.address or self.get_max_spendable_onchain() < amount.satsInt: + # TODO: for onchain: validate address? subtract fee? self.userinfo = _('Insufficient balance') else: self.userinfo = userinfo_for_invoice_status(self.status)