feat: handle intents (#2161)

if lightning/lnurl param is present in /wallet, it will pass to the decode dialogue

* chore: code format
* fix: call to `decodeRequest`
* feat: set `position="top"` for all dialogs (avoid mobile keyboard overlap)

---------

Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
This commit is contained in:
Arc
2023-12-11 19:40:22 +00:00
committed by GitHub
parent 8352223704
commit 297c42371d
2 changed files with 13 additions and 6 deletions

View File

@@ -232,7 +232,7 @@
</q-td>
</q-tr>
<q-dialog v-model="props.expand" :props="props">
<q-dialog v-model="props.expand" :props="props" position="top">
<q-card class="q-pa-lg q-pt-xl lnbits__dialog-card">
<div class="text-center q-mb-lg">
<div v-if="props.row.isIn && props.row.pending">
@@ -469,7 +469,7 @@
</div>
</div>
<q-dialog v-model="receive.show">
<q-dialog v-model="receive.show" position="top">
{% raw %}
<q-card
v-if="!receive.paymentReq"
@@ -580,7 +580,7 @@
{% endraw %}
</q-dialog>
<q-dialog v-model="parse.show" @hide="closeParseDialog">
<q-dialog v-model="parse.show" @hide="closeParseDialog" position="top">
<q-card class="q-pa-lg q-pt-xl lnbits__dialog-card">
<div v-if="parse.invoice">
<h6 v-if="'{{LNBITS_DENOMINATION}}' != 'sats'" class="q-my-none">
@@ -804,7 +804,7 @@
</q-card>
</q-dialog>
<q-dialog v-model="parse.camera.show">
<q-dialog v-model="parse.camera.show" position="top">
<q-card class="q-pa-lg q-pt-xl">
<div class="text-center q-mb-lg">
<qrcode-stream
@@ -825,7 +825,7 @@
</q-card>
</q-dialog>
<q-dialog v-model="paymentsChart.show">
<q-dialog v-model="paymentsChart.show" position="top">
<q-card class="q-pa-sm" style="width: 800px; max-width: unset">
<q-card-section>
<div class="row q-gutter-sm justify-between">
@@ -872,7 +872,7 @@
</q-btn>
</q-tabs>
<q-dialog v-model="disclaimerDialog.show">
<q-dialog v-model="disclaimerDialog.show" position="top">
<q-card class="q-pa-lg">
<h6 class="q-my-md text-primary">Warning</h6>
<p v-text="$t('disclaimer_dialog')"></p>

View File

@@ -854,6 +854,13 @@ new Vue({
}
},
created: function () {
let urlParams = new URLSearchParams(window.location.search)
if (urlParams.has('lightning') || urlParams.has('lnurl')) {
this.parse.data.request =
urlParams.get('lightning') || urlParams.get('lnurl')
this.decodeRequest()
this.parse.show = true
}
this.fetchBalance()
this.fetchPayments()