mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-22 22:25:47 +01:00
fix: QR request case (#2668)
* fix the hotfix to fix a fuckup
* fixup!
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
This commit is contained in:
parent
e8a6870d7a
commit
fbd22c1a22
1 changed files with 51 additions and 47 deletions
|
@ -211,6 +211,54 @@ new Vue({
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
lnurlScan() {
|
||||||
|
LNbits.api
|
||||||
|
.request(
|
||||||
|
'GET',
|
||||||
|
'/api/v1/lnurlscan/' + this.parse.data.request,
|
||||||
|
this.g.wallet.adminkey
|
||||||
|
)
|
||||||
|
.catch(err => {
|
||||||
|
LNbits.utils.notifyApiError(err)
|
||||||
|
})
|
||||||
|
.then(response => {
|
||||||
|
let data = response.data
|
||||||
|
|
||||||
|
if (data.status === 'ERROR') {
|
||||||
|
this.$q.notify({
|
||||||
|
timeout: 5000,
|
||||||
|
type: 'warning',
|
||||||
|
message: `${data.domain} lnurl call failed.`,
|
||||||
|
caption: data.reason
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.kind === 'pay') {
|
||||||
|
this.parse.lnurlpay = Object.freeze(data)
|
||||||
|
this.parse.data.amount = data.minSendable / 1000
|
||||||
|
} else if (data.kind === 'auth') {
|
||||||
|
this.parse.lnurlauth = Object.freeze(data)
|
||||||
|
} else if (data.kind === 'withdraw') {
|
||||||
|
this.parse.show = false
|
||||||
|
this.receive.show = true
|
||||||
|
this.receive.status = 'pending'
|
||||||
|
this.receive.paymentReq = null
|
||||||
|
this.receive.paymentHash = null
|
||||||
|
this.receive.data.amount = data.maxWithdrawable / 1000
|
||||||
|
this.receive.data.memo = data.defaultDescription
|
||||||
|
this.receive.minMax = [
|
||||||
|
data.minWithdrawable / 1000,
|
||||||
|
data.maxWithdrawable / 1000
|
||||||
|
]
|
||||||
|
this.receive.lnurl = {
|
||||||
|
domain: data.domain,
|
||||||
|
callback: data.callback,
|
||||||
|
fixed: data.fixed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
decodeQR: function (res) {
|
decodeQR: function (res) {
|
||||||
this.parse.data.request = res
|
this.parse.data.request = res
|
||||||
this.decodeRequest()
|
this.decodeRequest()
|
||||||
|
@ -218,7 +266,8 @@ new Vue({
|
||||||
},
|
},
|
||||||
decodeRequest: function () {
|
decodeRequest: function () {
|
||||||
this.parse.show = true
|
this.parse.show = true
|
||||||
let req = this.parse.data.request.toLowerCase()
|
this.parse.data.request = this.parse.data.request.trim().toLowerCase()
|
||||||
|
let req = this.parse.data.request
|
||||||
if (req.startsWith('lightning:')) {
|
if (req.startsWith('lightning:')) {
|
||||||
this.parse.data.request = req.slice(10)
|
this.parse.data.request = req.slice(10)
|
||||||
} else if (req.startsWith('lnurl:')) {
|
} else if (req.startsWith('lnurl:')) {
|
||||||
|
@ -228,52 +277,7 @@ new Vue({
|
||||||
}
|
}
|
||||||
req = this.parse.data.request
|
req = this.parse.data.request
|
||||||
if (req.startsWith('lnurl1') || req.match(/[\w.+-~_]+@[\w.+-~_]/)) {
|
if (req.startsWith('lnurl1') || req.match(/[\w.+-~_]+@[\w.+-~_]/)) {
|
||||||
LNbits.api
|
this.lnurlScan()
|
||||||
.request(
|
|
||||||
'GET',
|
|
||||||
'/api/v1/lnurlscan/' + this.parse.data.request,
|
|
||||||
this.g.wallet.adminkey
|
|
||||||
)
|
|
||||||
.catch(err => {
|
|
||||||
LNbits.utils.notifyApiError(err)
|
|
||||||
})
|
|
||||||
.then(response => {
|
|
||||||
let data = response.data
|
|
||||||
|
|
||||||
if (data.status === 'ERROR') {
|
|
||||||
this.$q.notify({
|
|
||||||
timeout: 5000,
|
|
||||||
type: 'warning',
|
|
||||||
message: `${data.domain} lnurl call failed.`,
|
|
||||||
caption: data.reason
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.kind === 'pay') {
|
|
||||||
this.parse.lnurlpay = Object.freeze(data)
|
|
||||||
this.parse.data.amount = data.minSendable / 1000
|
|
||||||
} else if (data.kind === 'auth') {
|
|
||||||
this.parse.lnurlauth = Object.freeze(data)
|
|
||||||
} else if (data.kind === 'withdraw') {
|
|
||||||
this.parse.show = false
|
|
||||||
this.receive.show = true
|
|
||||||
this.receive.status = 'pending'
|
|
||||||
this.receive.paymentReq = null
|
|
||||||
this.receive.paymentHash = null
|
|
||||||
this.receive.data.amount = data.maxWithdrawable / 1000
|
|
||||||
this.receive.data.memo = data.defaultDescription
|
|
||||||
this.receive.minMax = [
|
|
||||||
data.minWithdrawable / 1000,
|
|
||||||
data.maxWithdrawable / 1000
|
|
||||||
]
|
|
||||||
this.receive.lnurl = {
|
|
||||||
domain: data.domain,
|
|
||||||
callback: data.callback,
|
|
||||||
fixed: data.fixed
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue