feat: update to Vue3 (#2677)
* update packages for vue3 * fix make bundle and make checkbundle to include bundle-components * add lnbits/static/bundle-components.js --------- Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
This commit is contained in:
@@ -35,6 +35,7 @@ __bundle__
|
|||||||
coverage.xml
|
coverage.xml
|
||||||
node_modules
|
node_modules
|
||||||
lnbits/static/bundle.js
|
lnbits/static/bundle.js
|
||||||
|
lnbits/static/bundle-components.js
|
||||||
lnbits/static/bundle.css
|
lnbits/static/bundle.css
|
||||||
lnbits/static/bundle.min.js.old
|
lnbits/static/bundle.min.js.old
|
||||||
lnbits/static/bundle.min.css.old
|
lnbits/static/bundle.min.css.old
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
**/lnbits/static/vendor
|
**/lnbits/static/vendor
|
||||||
**/lnbits/static/bundle.*
|
**/lnbits/static/bundle.*
|
||||||
|
**/lnbits/static/bundle-components.*
|
||||||
**/lnbits/static/css/*
|
**/lnbits/static/css/*
|
||||||
|
|
||||||
flake.lock
|
flake.lock
|
||||||
|
|||||||
@@ -103,24 +103,21 @@ sass:
|
|||||||
|
|
||||||
bundle:
|
bundle:
|
||||||
npm install
|
npm install
|
||||||
npm run sass
|
npm run bundle
|
||||||
npm run vendor_copy
|
|
||||||
npm run vendor_json
|
|
||||||
poetry run ./node_modules/.bin/prettier -w ./lnbits/static/vendor.json
|
poetry run ./node_modules/.bin/prettier -w ./lnbits/static/vendor.json
|
||||||
npm run vendor_bundle_css
|
|
||||||
npm run vendor_minify_css
|
|
||||||
npm run vendor_bundle_js
|
|
||||||
npm run vendor_minify_js
|
|
||||||
|
|
||||||
checkbundle:
|
checkbundle:
|
||||||
cp lnbits/static/bundle.min.js lnbits/static/bundle.min.js.old
|
cp lnbits/static/bundle.min.js lnbits/static/bundle.min.js.old
|
||||||
cp lnbits/static/bundle.min.css lnbits/static/bundle.min.css.old
|
cp lnbits/static/bundle.min.css lnbits/static/bundle.min.css.old
|
||||||
|
cp lnbits/static/bundle-components.min.js lnbits/static/bundle-components.min.js.old
|
||||||
make bundle
|
make bundle
|
||||||
diff -q lnbits/static/bundle.min.js lnbits/static/bundle.min.js.old || exit 1
|
diff -q lnbits/static/bundle.min.js lnbits/static/bundle.min.js.old || exit 1
|
||||||
diff -q lnbits/static/bundle.min.css lnbits/static/bundle.min.css.old || exit 1
|
diff -q lnbits/static/bundle.min.css lnbits/static/bundle.min.css.old || exit 1
|
||||||
|
diff -q lnbits/static/bundle-components.min.js lnbits/static/bundle-components.min.js.old || exit 1
|
||||||
@echo "Bundle is OK"
|
@echo "Bundle is OK"
|
||||||
rm lnbits/static/bundle.min.js.old
|
rm lnbits/static/bundle.min.js.old
|
||||||
rm lnbits/static/bundle.min.css.old
|
rm lnbits/static/bundle.min.css.old
|
||||||
|
rm lnbits/static/bundle-components.min.js.old
|
||||||
|
|
||||||
install-pre-commit-hook:
|
install-pre-commit-hook:
|
||||||
@echo "Installing pre-commit hook to git"
|
@echo "Installing pre-commit hook to git"
|
||||||
|
|||||||
@@ -901,7 +901,7 @@
|
|||||||
</q-dialog>
|
</q-dialog>
|
||||||
{% endblock %} {% block scripts %} {{ window_vars(user) }}
|
{% endblock %} {% block scripts %} {{ window_vars(user) }}
|
||||||
<script>
|
<script>
|
||||||
new Vue({
|
window.app = Vue.createApp({
|
||||||
el: '#vue',
|
el: '#vue',
|
||||||
|
|
||||||
data: function () {
|
data: function () {
|
||||||
|
|||||||
@@ -154,10 +154,10 @@
|
|||||||
<q-card>
|
<q-card>
|
||||||
<q-card-section class="text-center">
|
<q-card-section class="text-center">
|
||||||
<p v-text="$t('export_to_phone_desc')"></p>
|
<p v-text="$t('export_to_phone_desc')"></p>
|
||||||
<qrcode
|
<qrcode-vue
|
||||||
:value="'{{request.base_url}}wallet?usr={{user.id}}&wal={{wallet.id}}'"
|
:value="'{{request.base_url}}wallet?usr={{user.id}}&wal={{wallet.id}}'"
|
||||||
:options="{ width: 256 }"
|
:options="{ width: 256 }"
|
||||||
></qrcode>
|
></qrcode-vue>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions class="flex-center q-pb-md">
|
<q-card-actions class="flex-center q-pb-md">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
|||||||
@@ -51,11 +51,11 @@
|
|||||||
>
|
>
|
||||||
<a :href="'lightning:' + transactionDetailsDialog.data.bolt11">
|
<a :href="'lightning:' + transactionDetailsDialog.data.bolt11">
|
||||||
<q-responsive :ratio="1" class="q-mx-xl">
|
<q-responsive :ratio="1" class="q-mx-xl">
|
||||||
<qrcode
|
<qrcode-vue
|
||||||
:value="'lightning:' + transactionDetailsDialog.data.bolt11.toUpperCase()"
|
:value="'lightning:' + transactionDetailsDialog.data.bolt11.toUpperCase()"
|
||||||
:options="{width: 340}"
|
:options="{width: 340}"
|
||||||
class="rounded-borders"
|
class="rounded-borders"
|
||||||
></qrcode>
|
></qrcode-vue>
|
||||||
</q-responsive>
|
</q-responsive>
|
||||||
</a>
|
</a>
|
||||||
<q-btn
|
<q-btn
|
||||||
@@ -138,11 +138,11 @@
|
|||||||
>
|
>
|
||||||
<a :href="'lightning:' + props.row.bolt11">
|
<a :href="'lightning:' + props.row.bolt11">
|
||||||
<q-responsive :ratio="1" class="q-mx-xl">
|
<q-responsive :ratio="1" class="q-mx-xl">
|
||||||
<qrcode
|
<qrcode-vue
|
||||||
:value="'lightning:' + props.row.bolt11.toUpperCase()"
|
:value="'lightning:' + props.row.bolt11.toUpperCase()"
|
||||||
:options="{width: 340}"
|
:options="{width: 340}"
|
||||||
class="rounded-borders"
|
class="rounded-borders"
|
||||||
></qrcode>
|
></qrcode-vue>
|
||||||
</q-responsive>
|
</q-responsive>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ include "users/_createWalletDialog.html" %}
|
|||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<q-table
|
<q-table
|
||||||
:data="users"
|
row-key="id"
|
||||||
:row-key="usersTableRowKey"
|
:rows="users"
|
||||||
:columns="usersTable.columns"
|
:columns="usersTable.columns"
|
||||||
:pagination.sync="usersTable.pagination"
|
:pagination.sync="usersTable.pagination"
|
||||||
:no-data-label="$t('no_users')"
|
:no-data-label="$t('no_users')"
|
||||||
|
|||||||
@@ -100,12 +100,14 @@ def template_renderer(additional_folders: Optional[List] = None) -> Jinja2Templa
|
|||||||
if settings.bundle_assets:
|
if settings.bundle_assets:
|
||||||
t.env.globals["INCLUDED_JS"] = ["bundle.min.js"]
|
t.env.globals["INCLUDED_JS"] = ["bundle.min.js"]
|
||||||
t.env.globals["INCLUDED_CSS"] = ["bundle.min.css"]
|
t.env.globals["INCLUDED_CSS"] = ["bundle.min.css"]
|
||||||
|
t.env.globals["INCLUDED_COMPONENTS"] = ["bundle-components.min.js"]
|
||||||
else:
|
else:
|
||||||
vendor_filepath = Path(settings.lnbits_path, "static", "vendor.json")
|
vendor_filepath = Path(settings.lnbits_path, "static", "vendor.json")
|
||||||
with open(vendor_filepath) as vendor_file:
|
with open(vendor_filepath) as vendor_file:
|
||||||
vendor_files = json.loads(vendor_file.read())
|
vendor_files = json.loads(vendor_file.read())
|
||||||
t.env.globals["INCLUDED_JS"] = vendor_files["js"]
|
t.env.globals["INCLUDED_JS"] = vendor_files["js"]
|
||||||
t.env.globals["INCLUDED_CSS"] = vendor_files["css"]
|
t.env.globals["INCLUDED_CSS"] = vendor_files["css"]
|
||||||
|
t.env.globals["INCLUDED_COMPONENTS"] = vendor_files["components"]
|
||||||
|
|
||||||
t.env.globals["WEBPUSH_PUBKEY"] = settings.lnbits_webpush_pubkey
|
t.env.globals["WEBPUSH_PUBKEY"] = settings.lnbits_webpush_pubkey
|
||||||
|
|
||||||
|
|||||||
+1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+33
-45
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
new Vue({
|
window.app = Vue.createApp({
|
||||||
el: '#vue',
|
el: '#vue',
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
user: null,
|
user: null,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
new Vue({
|
window.app = Vue.createApp({
|
||||||
el: '#vue',
|
el: '#vue',
|
||||||
mixins: [windowMixin],
|
mixins: [windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
|
|||||||
+11
-16
@@ -1,15 +1,10 @@
|
|||||||
/* globals crypto, moment, Vue, axios, Quasar, _ */
|
|
||||||
|
|
||||||
Vue.use(VueI18n)
|
|
||||||
|
|
||||||
window.LOCALE = 'en'
|
window.LOCALE = 'en'
|
||||||
window.i18n = new VueI18n({
|
window.i18n = new VueI18n.createI18n({
|
||||||
locale: window.LOCALE,
|
locale: window.LOCALE,
|
||||||
fallbackLocale: window.LOCALE,
|
fallbackLocale: window.LOCALE,
|
||||||
messages: window.localisation
|
messages: window.localisation
|
||||||
})
|
})
|
||||||
|
|
||||||
window.EventHub = new Vue()
|
|
||||||
window.LNbits = {
|
window.LNbits = {
|
||||||
api: {
|
api: {
|
||||||
request: function (method, url, apiKey, data) {
|
request: function (method, url, apiKey, data) {
|
||||||
@@ -264,12 +259,12 @@ window.LNbits = {
|
|||||||
fiat_currency: data.fiat_currency
|
fiat_currency: data.fiat_currency
|
||||||
}
|
}
|
||||||
|
|
||||||
obj.date = Quasar.utils.date.formatDate(
|
obj.date = Quasar.date.formatDate(
|
||||||
new Date(obj.time * 1000),
|
new Date(obj.time * 1000),
|
||||||
'YYYY-MM-DD HH:mm'
|
'YYYY-MM-DD HH:mm'
|
||||||
)
|
)
|
||||||
obj.dateFrom = moment(obj.date).fromNow()
|
obj.dateFrom = moment(obj.date).fromNow()
|
||||||
obj.expirydate = Quasar.utils.date.formatDate(
|
obj.expirydate = Quasar.date.formatDate(
|
||||||
new Date(obj.expiry * 1000),
|
new Date(obj.expiry * 1000),
|
||||||
'YYYY-MM-DD HH:mm'
|
'YYYY-MM-DD HH:mm'
|
||||||
)
|
)
|
||||||
@@ -294,7 +289,7 @@ window.LNbits = {
|
|||||||
},
|
},
|
||||||
utils: {
|
utils: {
|
||||||
confirmDialog: function (msg) {
|
confirmDialog: function (msg) {
|
||||||
return Quasar.plugins.Dialog.create({
|
return Quasar.Dialog.create({
|
||||||
message: msg,
|
message: msg,
|
||||||
ok: {
|
ok: {
|
||||||
flat: true,
|
flat: true,
|
||||||
@@ -411,14 +406,14 @@ window.LNbits = {
|
|||||||
)
|
)
|
||||||
.join('\r\n')
|
.join('\r\n')
|
||||||
|
|
||||||
var status = Quasar.utils.exportFile(
|
var status = Quasar.exportFile(
|
||||||
`${fileName || 'table-export'}.csv`,
|
`${fileName || 'table-export'}.csv`,
|
||||||
content,
|
content,
|
||||||
'text/csv'
|
'text/csv'
|
||||||
)
|
)
|
||||||
|
|
||||||
if (status !== true) {
|
if (status !== true) {
|
||||||
Quasar.plugins.Notify.create({
|
Quasar.Notify.create({
|
||||||
message: 'Browser denied file download...',
|
message: 'Browser denied file download...',
|
||||||
color: 'negative',
|
color: 'negative',
|
||||||
icon: null
|
icon: null
|
||||||
@@ -432,16 +427,16 @@ window.LNbits = {
|
|||||||
return converter.makeHtml(text)
|
return converter.makeHtml(text)
|
||||||
},
|
},
|
||||||
hexToRgb: function (hex) {
|
hexToRgb: function (hex) {
|
||||||
return Quasar.utils.colors.hexToRgb(hex)
|
return Quasar.colors.hexToRgb(hex)
|
||||||
},
|
},
|
||||||
hexDarken: function (hex, percent) {
|
hexDarken: function (hex, percent) {
|
||||||
return Quasar.utils.colors.lighten(hex, percent)
|
return Quasar.colors.lighten(hex, percent)
|
||||||
},
|
},
|
||||||
hexAlpha: function (hex, alpha) {
|
hexAlpha: function (hex, alpha) {
|
||||||
return Quasar.utils.colors.changeAlpha(hex, alpha)
|
return Quasar.colors.changeAlpha(hex, alpha)
|
||||||
},
|
},
|
||||||
getPaletteColor: function (color) {
|
getPaletteColor: function (color) {
|
||||||
return Quasar.utils.colors.getPaletteColor(color)
|
return Quasar.colors.getPaletteColor(color)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -494,7 +489,7 @@ window.windowMixin = {
|
|||||||
},
|
},
|
||||||
copyText: function (text, message, position) {
|
copyText: function (text, message, position) {
|
||||||
var notify = this.$q.notify
|
var notify = this.$q.notify
|
||||||
Quasar.utils.copyToClipboard(text).then(function () {
|
Quasar.copyToClipboard(text).then(function () {
|
||||||
notify({
|
notify({
|
||||||
message: message || 'Copied to clipboard!',
|
message: message || 'Copied to clipboard!',
|
||||||
position: position || 'bottom'
|
position: position || 'bottom'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* global _, Vue, moment, LNbits, EventHub, decryptLnurlPayAES */
|
window.app.component(QrcodeVue)
|
||||||
|
|
||||||
Vue.component('lnbits-fsat', {
|
window.app.component('lnbits-fsat', {
|
||||||
props: {
|
props: {
|
||||||
amount: {
|
amount: {
|
||||||
type: Number,
|
type: Number,
|
||||||
@@ -15,12 +15,13 @@ Vue.component('lnbits-fsat', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-wallet-list', {
|
window.app.component('lnbits-wallet-list', {
|
||||||
|
props: ['balance'],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
user: null,
|
user: null,
|
||||||
activeWallet: null,
|
activeWallet: null,
|
||||||
activeBalance: [],
|
balance: 0,
|
||||||
showForm: false,
|
showForm: false,
|
||||||
walletName: '',
|
walletName: '',
|
||||||
LNBITS_DENOMINATION: LNBITS_DENOMINATION
|
LNBITS_DENOMINATION: LNBITS_DENOMINATION
|
||||||
@@ -74,7 +75,7 @@ Vue.component('lnbits-wallet-list', {
|
|||||||
`,
|
`,
|
||||||
computed: {
|
computed: {
|
||||||
wallets: function () {
|
wallets: function () {
|
||||||
var bal = this.activeBalance
|
var bal = this.balance
|
||||||
return this.user.wallets.map(function (obj) {
|
return this.user.wallets.map(function (obj) {
|
||||||
obj.live_fsat =
|
obj.live_fsat =
|
||||||
bal.length && bal[0] === obj.id
|
bal.length && bal[0] === obj.id
|
||||||
@@ -87,9 +88,6 @@ Vue.component('lnbits-wallet-list', {
|
|||||||
methods: {
|
methods: {
|
||||||
createWallet: function () {
|
createWallet: function () {
|
||||||
LNbits.api.createWallet(this.user.wallets[0], this.walletName)
|
LNbits.api.createWallet(this.user.wallets[0], this.walletName)
|
||||||
},
|
|
||||||
updateWalletBalance: function (payload) {
|
|
||||||
this.activeBalance = payload
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created: function () {
|
created: function () {
|
||||||
@@ -99,11 +97,11 @@ Vue.component('lnbits-wallet-list', {
|
|||||||
if (window.wallet) {
|
if (window.wallet) {
|
||||||
this.activeWallet = LNbits.map.wallet(window.wallet)
|
this.activeWallet = LNbits.map.wallet(window.wallet)
|
||||||
}
|
}
|
||||||
EventHub.$on('update-wallet-balance', this.updateWalletBalance)
|
document.addEventListener('updateWalletBalance', this.updateWalletBalance)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-extension-list', {
|
window.app.component('lnbits-extension-list', {
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
extensions: [],
|
extensions: [],
|
||||||
@@ -169,7 +167,7 @@ Vue.component('lnbits-extension-list', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-manage', {
|
window.app.component('lnbits-manage', {
|
||||||
props: ['showAdmin', 'showNode', 'showExtensions', 'showUsers'],
|
props: ['showAdmin', 'showNode', 'showExtensions', 'showUsers'],
|
||||||
methods: {
|
methods: {
|
||||||
isActive: function (path) {
|
isActive: function (path) {
|
||||||
@@ -229,9 +227,9 @@ Vue.component('lnbits-manage', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-payment-details', {
|
window.app.component('lnbits-payment-details', {
|
||||||
props: ['payment'],
|
props: ['payment'],
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
LNBITS_DENOMINATION: LNBITS_DENOMINATION
|
LNBITS_DENOMINATION: LNBITS_DENOMINATION
|
||||||
@@ -345,7 +343,7 @@ Vue.component('lnbits-payment-details', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-lnurlpay-success-action', {
|
window.app.component('lnbits-lnurlpay-success-action', {
|
||||||
props: ['payment', 'success_action'],
|
props: ['payment', 'success_action'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -374,10 +372,12 @@ Vue.component('lnbits-lnurlpay-success-action', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-qrcode', {
|
window.app.component('lnbits-qrcode', {
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
|
components: {
|
||||||
|
QrcodeVue
|
||||||
|
},
|
||||||
props: ['value'],
|
props: ['value'],
|
||||||
components: {[VueQrcode.name]: VueQrcode},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
logo: LNBITS_QR_LOGO
|
logo: LNBITS_QR_LOGO
|
||||||
@@ -385,15 +385,14 @@ Vue.component('lnbits-qrcode', {
|
|||||||
},
|
},
|
||||||
template: `
|
template: `
|
||||||
<div class="qrcode__wrapper">
|
<div class="qrcode__wrapper">
|
||||||
<qrcode :value="value"
|
<qrcode-vue :value="value" size="350" class="rounded-borders"></qrcode-vue>
|
||||||
:options="{errorCorrectionLevel: 'Q', width: 800}" class="rounded-borders"></qrcode>
|
|
||||||
<img class="qrcode__image" :src="logo" alt="..." />
|
<img class="qrcode__image" :src="logo" alt="..." />
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-notifications-btn', {
|
window.app.component('lnbits-notifications-btn', {
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
props: ['pubkey'],
|
props: ['pubkey'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -605,8 +604,8 @@ Vue.component('lnbits-notifications-btn', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-dynamic-fields', {
|
window.app.component('lnbits-dynamic-fields', {
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
props: ['options', 'value'],
|
props: ['options', 'value'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -742,8 +741,8 @@ Vue.component('lnbits-dynamic-fields', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-update-balance', {
|
window.app.component('lnbits-update-balance', {
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
props: ['wallet_id', 'callback'],
|
props: ['wallet_id', 'callback'],
|
||||||
computed: {
|
computed: {
|
||||||
denomination() {
|
denomination() {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Vue.component('lnbits-extension-rating', {
|
window.app.component('lnbits-extension-rating', {
|
||||||
name: 'lnbits-extension-rating',
|
name: 'lnbits-extension-rating',
|
||||||
props: ['rating'],
|
props: ['rating'],
|
||||||
template: `
|
template: `
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
Vue.component('lnbits-extension-settings-form', {
|
window.app.component('lnbits-extension-settings-form', {
|
||||||
name: 'lnbits-extension-settings-form',
|
name: 'lnbits-extension-settings-form',
|
||||||
props: ['options', 'adminkey', 'endpoint'],
|
props: ['options', 'adminkey', 'endpoint'],
|
||||||
methods: {
|
methods: {
|
||||||
updateSettings: async function () {
|
async updateSettings() {
|
||||||
if (!this.settings) {
|
if (!this.settings) {
|
||||||
return Quasar.plugins.Notify.create({
|
return this.$q.notify({
|
||||||
message: 'No settings to update',
|
message: 'No settings to update',
|
||||||
type: 'negative'
|
type: 'negative'
|
||||||
})
|
})
|
||||||
@@ -66,7 +66,7 @@ Vue.component('lnbits-extension-settings-form', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-extension-settings-btn-dialog', {
|
window.app.component('lnbits-extension-settings-btn-dialog', {
|
||||||
name: 'lnbits-extension-settings-btn-dialog',
|
name: 'lnbits-extension-settings-btn-dialog',
|
||||||
props: ['options', 'adminkey', 'endpoint'],
|
props: ['options', 'adminkey', 'endpoint'],
|
||||||
template: `
|
template: `
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Vue.component('lnbits-funding-sources', {
|
window.app.component('lnbits-funding-sources', {
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
props: ['form-data', 'allowed-funding-sources'],
|
props: ['form-data', 'allowed-funding-sources'],
|
||||||
methods: {
|
methods: {
|
||||||
getFundingSourceLabel(item) {
|
getFundingSourceLabel(item) {
|
||||||
|
|||||||
@@ -80,10 +80,10 @@ function generateChart(canvas, rawData) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
Vue.component('payment-chart', {
|
window.app.component('payment-chart', {
|
||||||
name: 'payment-chart',
|
name: 'payment-chart',
|
||||||
props: ['wallet'],
|
props: ['wallet'],
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
paymentsChart: {
|
paymentsChart: {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Vue.component('payment-list', {
|
window.app.component('payment-list', {
|
||||||
name: 'payment-list',
|
name: 'payment-list',
|
||||||
props: ['update', 'wallet', 'mobileSimple', 'lazy'],
|
props: ['update', 'wallet', 'mobileSimple', 'lazy'],
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
denomination: LNBITS_DENOMINATION,
|
denomination: LNBITS_DENOMINATION,
|
||||||
@@ -313,7 +313,7 @@ Vue.component('payment-list', {
|
|||||||
<q-table
|
<q-table
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
:data="paymentsOmitter"
|
:rows="paymentsOmitter"
|
||||||
:row-key="paymentTableRowKey"
|
:row-key="paymentTableRowKey"
|
||||||
:columns="paymentsTable.columns"
|
:columns="paymentsTable.columns"
|
||||||
:pagination.sync="paymentsTable.pagination"
|
:pagination.sync="paymentsTable.pagination"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
new Vue({
|
window.app = Vue.createApp({
|
||||||
el: '#vue',
|
el: '#vue',
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
disclaimerDialog: {
|
disclaimerDialog: {
|
||||||
@@ -93,7 +93,6 @@ new Vue({
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.description = SITE_DESCRIPTION
|
this.description = SITE_DESCRIPTION
|
||||||
|
|
||||||
this.isUserAuthorized = !!this.$q.cookies.get('is_lnbits_user_authorized')
|
this.isUserAuthorized = !!this.$q.cookies.get('is_lnbits_user_authorized')
|
||||||
if (this.isUserAuthorized) {
|
if (this.isUserAuthorized) {
|
||||||
window.location.href = '/wallet'
|
window.location.href = '/wallet'
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
window.app.use(VueQrcodeReader)
|
||||||
|
window.app.use(Quasar)
|
||||||
|
window.app.use(window.i18n)
|
||||||
|
window.app.mount('#vue')
|
||||||
+12
-12
@@ -4,7 +4,7 @@ function shortenNodeId(nodeId) {
|
|||||||
: '...'
|
: '...'
|
||||||
}
|
}
|
||||||
|
|
||||||
Vue.component('lnbits-node-ranks', {
|
window.app.component('lnbits-node-ranks', {
|
||||||
props: ['ranks'],
|
props: ['ranks'],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
@@ -35,7 +35,7 @@ Vue.component('lnbits-node-ranks', {
|
|||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-channel-stats', {
|
window.app.component('lnbits-channel-stats', {
|
||||||
props: ['stats'],
|
props: ['stats'],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
@@ -71,7 +71,7 @@ Vue.component('lnbits-channel-stats', {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-stat', {
|
window.app.component('lnbits-stat', {
|
||||||
props: ['title', 'amount', 'msat', 'btc'],
|
props: ['title', 'amount', 'msat', 'btc'],
|
||||||
computed: {
|
computed: {
|
||||||
value: function () {
|
value: function () {
|
||||||
@@ -99,20 +99,20 @@ Vue.component('lnbits-stat', {
|
|||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-node-qrcode', {
|
window.app.component('lnbits-node-qrcode', {
|
||||||
props: ['info'],
|
props: ['info'],
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
template: `
|
template: `
|
||||||
<q-card class="my-card">
|
<q-card class="my-card">
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<div class="text-h6">
|
<div class="text-h6">
|
||||||
<div style="text-align: center">
|
<div style="text-align: center">
|
||||||
<qrcode
|
<vue-qrcode
|
||||||
:value="info.addresses[0]"
|
:value="info.addresses[0]"
|
||||||
:options="{width: 250}"
|
:options="{width: 250}"
|
||||||
v-if='info.addresses[0]'
|
v-if='info.addresses[0]'
|
||||||
class="rounded-borders"
|
class="rounded-borders"
|
||||||
></qrcode>
|
></vue-qrcode>
|
||||||
<div v-else class='text-subtitle1'>
|
<div v-else class='text-subtitle1'>
|
||||||
No addresses available
|
No addresses available
|
||||||
</div>
|
</div>
|
||||||
@@ -132,14 +132,14 @@ Vue.component('lnbits-node-qrcode', {
|
|||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-node-info', {
|
window.app.component('lnbits-node-info', {
|
||||||
props: ['info'],
|
props: ['info'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
showDialog: false
|
showDialog: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
methods: {
|
methods: {
|
||||||
shortenNodeId
|
shortenNodeId
|
||||||
},
|
},
|
||||||
@@ -177,7 +177,7 @@ Vue.component('lnbits-node-info', {
|
|||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-stat', {
|
window.app.component('lnbits-stat', {
|
||||||
props: ['title', 'amount', 'msat', 'btc'],
|
props: ['title', 'amount', 'msat', 'btc'],
|
||||||
computed: {
|
computed: {
|
||||||
value: function () {
|
value: function () {
|
||||||
@@ -205,7 +205,7 @@ Vue.component('lnbits-stat', {
|
|||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-channel-balance', {
|
window.app.component('lnbits-channel-balance', {
|
||||||
props: ['balance', 'color'],
|
props: ['balance', 'color'],
|
||||||
methods: {
|
methods: {
|
||||||
formatMsat: function (msat) {
|
formatMsat: function (msat) {
|
||||||
@@ -246,7 +246,7 @@ Vue.component('lnbits-channel-balance', {
|
|||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.component('lnbits-date', {
|
window.app.component('lnbits-date', {
|
||||||
props: ['ts'],
|
props: ['ts'],
|
||||||
computed: {
|
computed: {
|
||||||
date: function () {
|
date: function () {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
new Vue({
|
window.app = Vue.createApp({
|
||||||
el: '#vue',
|
el: '#vue',
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
isSuperUser: false,
|
isSuperUser: false,
|
||||||
@@ -218,9 +218,6 @@ new Vue({
|
|||||||
formatSat: function (value) {
|
formatSat: function (value) {
|
||||||
return LNbits.utils.formatSat(Math.floor(value / 1000))
|
return LNbits.utils.formatSat(Math.floor(value / 1000))
|
||||||
},
|
},
|
||||||
usersTableRowKey: function (row) {
|
|
||||||
return row.id
|
|
||||||
},
|
|
||||||
createUser() {
|
createUser() {
|
||||||
LNbits.api
|
LNbits.api
|
||||||
.request('POST', '/users/api/v1/user', null, this.createUserDialog.data)
|
.request('POST', '/users/api/v1/user', null, this.createUserDialog.data)
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
/* globals windowMixin, decode, Vue, VueQrcodeReader, VueQrcode, Quasar, LNbits, _, EventHub, decryptLnurlPayAES */
|
window.app = Vue.createApp({
|
||||||
|
|
||||||
Vue.component(VueQrcode.name, VueQrcode)
|
|
||||||
Vue.use(VueQrcodeReader)
|
|
||||||
|
|
||||||
new Vue({
|
|
||||||
el: '#vue',
|
el: '#vue',
|
||||||
mixins: [windowMixin],
|
mixins: [window.windowMixin],
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
updatePayments: false,
|
updatePayments: false,
|
||||||
@@ -321,7 +316,7 @@ new Vue({
|
|||||||
var expireDate = new Date(
|
var expireDate = new Date(
|
||||||
(invoice.data.time_stamp + tag.value) * 1000
|
(invoice.data.time_stamp + tag.value) * 1000
|
||||||
)
|
)
|
||||||
cleanInvoice.expireDate = Quasar.utils.date.formatDate(
|
cleanInvoice.expireDate = this.$q.utils.date.formatDate(
|
||||||
expireDate,
|
expireDate,
|
||||||
'YYYY-MM-DDTHH:mm:ss.SSSZ'
|
'YYYY-MM-DDTHH:mm:ss.SSSZ'
|
||||||
)
|
)
|
||||||
@@ -514,10 +509,11 @@ new Vue({
|
|||||||
fetchBalance: function () {
|
fetchBalance: function () {
|
||||||
LNbits.api.getWallet(this.g.wallet).then(response => {
|
LNbits.api.getWallet(this.g.wallet).then(response => {
|
||||||
this.balance = Math.floor(response.data.balance / 1000)
|
this.balance = Math.floor(response.data.balance / 1000)
|
||||||
EventHub.$emit('update-wallet-balance', [
|
document.dispatchEvent(
|
||||||
this.g.wallet.id,
|
new CustomEvent('updateWalletBalance', {
|
||||||
this.balance
|
detail: [this.g.wallet.id, this.balance]
|
||||||
])
|
})
|
||||||
|
)
|
||||||
})
|
})
|
||||||
if (this.g.wallet.currency) {
|
if (this.g.wallet.currency) {
|
||||||
this.updateFiatBalance()
|
this.updateFiatBalance()
|
||||||
|
|||||||
+15
-13
@@ -3,15 +3,14 @@
|
|||||||
"vendor/moment.js",
|
"vendor/moment.js",
|
||||||
"vendor/underscore.js",
|
"vendor/underscore.js",
|
||||||
"vendor/axios.js",
|
"vendor/axios.js",
|
||||||
"vendor/vue.js",
|
"vendor/vue.global.prod.js",
|
||||||
"vendor/vue-router.js",
|
"vendor/quasar.umd.prod.js",
|
||||||
"vendor/VueQrcodeReader.umd.js",
|
"vendor/vuex.global.js",
|
||||||
"vendor/vue-qrcode.js",
|
"vendor/vue-i18n.global.prod.js",
|
||||||
"vendor/vuex.js",
|
"vendor/vue-router.global.js",
|
||||||
"vendor/quasar.ie.polyfills.umd.min.js",
|
"vendor/vue-qrcode-reader.umd.js",
|
||||||
"vendor/quasar.umd.js",
|
"vendor/qrcode.vue.browser.js",
|
||||||
"vendor/Chart.bundle.js",
|
"vendor/chart.umd.js",
|
||||||
"vendor/vue-i18n.js",
|
|
||||||
"vendor/showdown.js",
|
"vendor/showdown.js",
|
||||||
"i18n/i18n.js",
|
"i18n/i18n.js",
|
||||||
"i18n/de.js",
|
"i18n/de.js",
|
||||||
@@ -34,14 +33,17 @@
|
|||||||
"i18n/kr.js",
|
"i18n/kr.js",
|
||||||
"i18n/fi.js",
|
"i18n/fi.js",
|
||||||
"js/base.js",
|
"js/base.js",
|
||||||
"js/components.js",
|
"js/event-reactions.js",
|
||||||
|
"js/bolt11-decoder.js"
|
||||||
|
],
|
||||||
|
"components": [
|
||||||
"js/components/lnbits-funding-sources.js",
|
"js/components/lnbits-funding-sources.js",
|
||||||
"js/components/extension-settings.js",
|
"js/components/extension-settings.js",
|
||||||
"js/components/extension-rating.js",
|
"js/components/extension-rating.js",
|
||||||
"js/components/payment-list.js",
|
"js/components/payment-list.js",
|
||||||
"js/components/payment-chart.js",
|
"js/components/payment-chart.js",
|
||||||
"js/event-reactions.js",
|
"js/components.js",
|
||||||
"js/bolt11-decoder.js"
|
"js/init-app.js"
|
||||||
],
|
],
|
||||||
"css": ["vendor/quasar.css", "vendor/Chart.css", "css/base.css"]
|
"css": ["vendor/quasar.css", "css/base.css"]
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+179
-131
@@ -1,4 +1,4 @@
|
|||||||
// Axios v1.7.5 Copyright (c) 2024 Matt Zabriskie and contributors
|
// Axios v1.7.7 Copyright (c) 2024 Matt Zabriskie and contributors
|
||||||
(function (global, factory) {
|
(function (global, factory) {
|
||||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||||
typeof define === 'function' && define.amd ? define(factory) :
|
typeof define === 'function' && define.amd ? define(factory) :
|
||||||
@@ -3093,38 +3093,42 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
var composeSignals = function composeSignals(signals, timeout) {
|
var composeSignals = function composeSignals(signals, timeout) {
|
||||||
var controller = new AbortController();
|
var _signals = signals = signals ? signals.filter(Boolean) : [],
|
||||||
var aborted;
|
length = _signals.length;
|
||||||
var onabort = function onabort(cancel) {
|
if (timeout || length) {
|
||||||
if (!aborted) {
|
var controller = new AbortController();
|
||||||
aborted = true;
|
var aborted;
|
||||||
unsubscribe();
|
var onabort = function onabort(reason) {
|
||||||
var err = cancel instanceof Error ? cancel : this.reason;
|
if (!aborted) {
|
||||||
controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));
|
aborted = true;
|
||||||
}
|
unsubscribe();
|
||||||
};
|
var err = reason instanceof Error ? reason : this.reason;
|
||||||
var timer = timeout && setTimeout(function () {
|
controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));
|
||||||
onabort(new AxiosError("timeout ".concat(timeout, " of ms exceeded"), AxiosError.ETIMEDOUT));
|
}
|
||||||
}, timeout);
|
};
|
||||||
var unsubscribe = function unsubscribe() {
|
var timer = timeout && setTimeout(function () {
|
||||||
if (signals) {
|
|
||||||
timer && clearTimeout(timer);
|
|
||||||
timer = null;
|
timer = null;
|
||||||
signals.forEach(function (signal) {
|
onabort(new AxiosError("timeout ".concat(timeout, " of ms exceeded"), AxiosError.ETIMEDOUT));
|
||||||
signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));
|
}, timeout);
|
||||||
});
|
var unsubscribe = function unsubscribe() {
|
||||||
signals = null;
|
if (signals) {
|
||||||
}
|
timer && clearTimeout(timer);
|
||||||
};
|
timer = null;
|
||||||
signals.forEach(function (signal) {
|
signals.forEach(function (signal) {
|
||||||
return signal && signal.addEventListener && signal.addEventListener('abort', onabort);
|
signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);
|
||||||
});
|
});
|
||||||
var signal = controller.signal;
|
signals = null;
|
||||||
signal.unsubscribe = unsubscribe;
|
}
|
||||||
return [signal, function () {
|
};
|
||||||
timer && clearTimeout(timer);
|
signals.forEach(function (signal) {
|
||||||
timer = null;
|
return signal.addEventListener('abort', onabort);
|
||||||
}];
|
});
|
||||||
|
var signal = controller.signal;
|
||||||
|
signal.unsubscribe = function () {
|
||||||
|
return utils$1.asap(unsubscribe);
|
||||||
|
};
|
||||||
|
return signal;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
var composeSignals$1 = composeSignals;
|
var composeSignals$1 = composeSignals;
|
||||||
|
|
||||||
@@ -3163,7 +3167,7 @@
|
|||||||
}, streamChunk);
|
}, streamChunk);
|
||||||
});
|
});
|
||||||
var readBytes = /*#__PURE__*/function () {
|
var readBytes = /*#__PURE__*/function () {
|
||||||
var _ref = _wrapAsyncGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(iterable, chunkSize, encode) {
|
var _ref = _wrapAsyncGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(iterable, chunkSize) {
|
||||||
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk;
|
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk;
|
||||||
return _regeneratorRuntime().wrap(function _callee$(_context2) {
|
return _regeneratorRuntime().wrap(function _callee$(_context2) {
|
||||||
while (1) switch (_context2.prev = _context2.next) {
|
while (1) switch (_context2.prev = _context2.next) {
|
||||||
@@ -3171,82 +3175,111 @@
|
|||||||
_iteratorAbruptCompletion = false;
|
_iteratorAbruptCompletion = false;
|
||||||
_didIteratorError = false;
|
_didIteratorError = false;
|
||||||
_context2.prev = 2;
|
_context2.prev = 2;
|
||||||
_iterator = _asyncIterator(iterable);
|
_iterator = _asyncIterator(readStream(iterable));
|
||||||
case 4:
|
case 4:
|
||||||
_context2.next = 6;
|
_context2.next = 6;
|
||||||
return _awaitAsyncGenerator(_iterator.next());
|
return _awaitAsyncGenerator(_iterator.next());
|
||||||
case 6:
|
case 6:
|
||||||
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
||||||
_context2.next = 27;
|
_context2.next = 12;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
chunk = _step.value;
|
chunk = _step.value;
|
||||||
_context2.t0 = _asyncGeneratorDelegate;
|
return _context2.delegateYield(_asyncGeneratorDelegate(_asyncIterator(streamChunk(chunk, chunkSize))), "t0", 9);
|
||||||
_context2.t1 = _asyncIterator;
|
case 9:
|
||||||
_context2.t2 = streamChunk;
|
|
||||||
if (!ArrayBuffer.isView(chunk)) {
|
|
||||||
_context2.next = 15;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
_context2.t3 = chunk;
|
|
||||||
_context2.next = 18;
|
|
||||||
break;
|
|
||||||
case 15:
|
|
||||||
_context2.next = 17;
|
|
||||||
return _awaitAsyncGenerator(encode(String(chunk)));
|
|
||||||
case 17:
|
|
||||||
_context2.t3 = _context2.sent;
|
|
||||||
case 18:
|
|
||||||
_context2.t4 = _context2.t3;
|
|
||||||
_context2.t5 = chunkSize;
|
|
||||||
_context2.t6 = (0, _context2.t2)(_context2.t4, _context2.t5);
|
|
||||||
_context2.t7 = (0, _context2.t1)(_context2.t6);
|
|
||||||
_context2.t8 = _awaitAsyncGenerator;
|
|
||||||
return _context2.delegateYield((0, _context2.t0)(_context2.t7, _context2.t8), "t9", 24);
|
|
||||||
case 24:
|
|
||||||
_iteratorAbruptCompletion = false;
|
_iteratorAbruptCompletion = false;
|
||||||
_context2.next = 4;
|
_context2.next = 4;
|
||||||
break;
|
break;
|
||||||
case 27:
|
case 12:
|
||||||
_context2.next = 33;
|
_context2.next = 18;
|
||||||
break;
|
break;
|
||||||
case 29:
|
case 14:
|
||||||
_context2.prev = 29;
|
_context2.prev = 14;
|
||||||
_context2.t10 = _context2["catch"](2);
|
_context2.t1 = _context2["catch"](2);
|
||||||
_didIteratorError = true;
|
_didIteratorError = true;
|
||||||
_iteratorError = _context2.t10;
|
_iteratorError = _context2.t1;
|
||||||
case 33:
|
case 18:
|
||||||
_context2.prev = 33;
|
_context2.prev = 18;
|
||||||
_context2.prev = 34;
|
_context2.prev = 19;
|
||||||
if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
|
if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
|
||||||
_context2.next = 38;
|
_context2.next = 23;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
_context2.next = 38;
|
_context2.next = 23;
|
||||||
return _awaitAsyncGenerator(_iterator["return"]());
|
return _awaitAsyncGenerator(_iterator["return"]());
|
||||||
case 38:
|
case 23:
|
||||||
_context2.prev = 38;
|
_context2.prev = 23;
|
||||||
if (!_didIteratorError) {
|
if (!_didIteratorError) {
|
||||||
_context2.next = 41;
|
_context2.next = 26;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
throw _iteratorError;
|
throw _iteratorError;
|
||||||
case 41:
|
case 26:
|
||||||
return _context2.finish(38);
|
return _context2.finish(23);
|
||||||
case 42:
|
case 27:
|
||||||
return _context2.finish(33);
|
return _context2.finish(18);
|
||||||
case 43:
|
case 28:
|
||||||
case "end":
|
case "end":
|
||||||
return _context2.stop();
|
return _context2.stop();
|
||||||
}
|
}
|
||||||
}, _callee, null, [[2, 29, 33, 43], [34,, 38, 42]]);
|
}, _callee, null, [[2, 14, 18, 28], [19,, 23, 27]]);
|
||||||
}));
|
}));
|
||||||
return function readBytes(_x, _x2, _x3) {
|
return function readBytes(_x, _x2) {
|
||||||
return _ref.apply(this, arguments);
|
return _ref.apply(this, arguments);
|
||||||
};
|
};
|
||||||
}();
|
}();
|
||||||
var trackStream = function trackStream(stream, chunkSize, onProgress, onFinish, encode) {
|
var readStream = /*#__PURE__*/function () {
|
||||||
var iterator = readBytes(stream, chunkSize, encode);
|
var _ref2 = _wrapAsyncGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(stream) {
|
||||||
|
var reader, _yield$_awaitAsyncGen, done, value;
|
||||||
|
return _regeneratorRuntime().wrap(function _callee2$(_context3) {
|
||||||
|
while (1) switch (_context3.prev = _context3.next) {
|
||||||
|
case 0:
|
||||||
|
if (!stream[Symbol.asyncIterator]) {
|
||||||
|
_context3.next = 3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return _context3.delegateYield(_asyncGeneratorDelegate(_asyncIterator(stream)), "t0", 2);
|
||||||
|
case 2:
|
||||||
|
return _context3.abrupt("return");
|
||||||
|
case 3:
|
||||||
|
reader = stream.getReader();
|
||||||
|
_context3.prev = 4;
|
||||||
|
case 5:
|
||||||
|
_context3.next = 7;
|
||||||
|
return _awaitAsyncGenerator(reader.read());
|
||||||
|
case 7:
|
||||||
|
_yield$_awaitAsyncGen = _context3.sent;
|
||||||
|
done = _yield$_awaitAsyncGen.done;
|
||||||
|
value = _yield$_awaitAsyncGen.value;
|
||||||
|
if (!done) {
|
||||||
|
_context3.next = 12;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return _context3.abrupt("break", 16);
|
||||||
|
case 12:
|
||||||
|
_context3.next = 14;
|
||||||
|
return value;
|
||||||
|
case 14:
|
||||||
|
_context3.next = 5;
|
||||||
|
break;
|
||||||
|
case 16:
|
||||||
|
_context3.prev = 16;
|
||||||
|
_context3.next = 19;
|
||||||
|
return _awaitAsyncGenerator(reader.cancel());
|
||||||
|
case 19:
|
||||||
|
return _context3.finish(16);
|
||||||
|
case 20:
|
||||||
|
case "end":
|
||||||
|
return _context3.stop();
|
||||||
|
}
|
||||||
|
}, _callee2, null, [[4,, 16, 20]]);
|
||||||
|
}));
|
||||||
|
return function readStream(_x3) {
|
||||||
|
return _ref2.apply(this, arguments);
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
var trackStream = function trackStream(stream, chunkSize, onProgress, onFinish) {
|
||||||
|
var iterator = readBytes(stream, chunkSize);
|
||||||
var bytes = 0;
|
var bytes = 0;
|
||||||
var done;
|
var done;
|
||||||
var _onFinish = function _onFinish(e) {
|
var _onFinish = function _onFinish(e) {
|
||||||
@@ -3257,25 +3290,25 @@
|
|||||||
};
|
};
|
||||||
return new ReadableStream({
|
return new ReadableStream({
|
||||||
pull: function pull(controller) {
|
pull: function pull(controller) {
|
||||||
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
||||||
var _yield$iterator$next, _done, value, len, loadedBytes;
|
var _yield$iterator$next, _done, value, len, loadedBytes;
|
||||||
return _regeneratorRuntime().wrap(function _callee2$(_context3) {
|
return _regeneratorRuntime().wrap(function _callee3$(_context4) {
|
||||||
while (1) switch (_context3.prev = _context3.next) {
|
while (1) switch (_context4.prev = _context4.next) {
|
||||||
case 0:
|
case 0:
|
||||||
_context3.prev = 0;
|
_context4.prev = 0;
|
||||||
_context3.next = 3;
|
_context4.next = 3;
|
||||||
return iterator.next();
|
return iterator.next();
|
||||||
case 3:
|
case 3:
|
||||||
_yield$iterator$next = _context3.sent;
|
_yield$iterator$next = _context4.sent;
|
||||||
_done = _yield$iterator$next.done;
|
_done = _yield$iterator$next.done;
|
||||||
value = _yield$iterator$next.value;
|
value = _yield$iterator$next.value;
|
||||||
if (!_done) {
|
if (!_done) {
|
||||||
_context3.next = 10;
|
_context4.next = 10;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
_onFinish();
|
_onFinish();
|
||||||
controller.close();
|
controller.close();
|
||||||
return _context3.abrupt("return");
|
return _context4.abrupt("return");
|
||||||
case 10:
|
case 10:
|
||||||
len = value.byteLength;
|
len = value.byteLength;
|
||||||
if (onProgress) {
|
if (onProgress) {
|
||||||
@@ -3283,18 +3316,18 @@
|
|||||||
onProgress(loadedBytes);
|
onProgress(loadedBytes);
|
||||||
}
|
}
|
||||||
controller.enqueue(new Uint8Array(value));
|
controller.enqueue(new Uint8Array(value));
|
||||||
_context3.next = 19;
|
_context4.next = 19;
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
_context3.prev = 15;
|
_context4.prev = 15;
|
||||||
_context3.t0 = _context3["catch"](0);
|
_context4.t0 = _context4["catch"](0);
|
||||||
_onFinish(_context3.t0);
|
_onFinish(_context4.t0);
|
||||||
throw _context3.t0;
|
throw _context4.t0;
|
||||||
case 19:
|
case 19:
|
||||||
case "end":
|
case "end":
|
||||||
return _context3.stop();
|
return _context4.stop();
|
||||||
}
|
}
|
||||||
}, _callee2, null, [[0, 15]]);
|
}, _callee3, null, [[0, 15]]);
|
||||||
}))();
|
}))();
|
||||||
},
|
},
|
||||||
cancel: function cancel(reason) {
|
cancel: function cancel(reason) {
|
||||||
@@ -3377,6 +3410,7 @@
|
|||||||
}(new Response());
|
}(new Response());
|
||||||
var getBodyLength = /*#__PURE__*/function () {
|
var getBodyLength = /*#__PURE__*/function () {
|
||||||
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(body) {
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(body) {
|
||||||
|
var _request;
|
||||||
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
||||||
while (1) switch (_context2.prev = _context2.next) {
|
while (1) switch (_context2.prev = _context2.next) {
|
||||||
case 0:
|
case 0:
|
||||||
@@ -3393,32 +3427,36 @@
|
|||||||
return _context2.abrupt("return", body.size);
|
return _context2.abrupt("return", body.size);
|
||||||
case 4:
|
case 4:
|
||||||
if (!utils$1.isSpecCompliantForm(body)) {
|
if (!utils$1.isSpecCompliantForm(body)) {
|
||||||
_context2.next = 8;
|
_context2.next = 9;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
_context2.next = 7;
|
_request = new Request(platform.origin, {
|
||||||
return new Request(body).arrayBuffer();
|
method: 'POST',
|
||||||
case 7:
|
body: body
|
||||||
return _context2.abrupt("return", _context2.sent.byteLength);
|
});
|
||||||
|
_context2.next = 8;
|
||||||
|
return _request.arrayBuffer();
|
||||||
case 8:
|
case 8:
|
||||||
|
return _context2.abrupt("return", _context2.sent.byteLength);
|
||||||
|
case 9:
|
||||||
if (!(utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body))) {
|
if (!(utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body))) {
|
||||||
_context2.next = 10;
|
_context2.next = 11;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return _context2.abrupt("return", body.byteLength);
|
return _context2.abrupt("return", body.byteLength);
|
||||||
case 10:
|
case 11:
|
||||||
if (utils$1.isURLSearchParams(body)) {
|
if (utils$1.isURLSearchParams(body)) {
|
||||||
body = body + '';
|
body = body + '';
|
||||||
}
|
}
|
||||||
if (!utils$1.isString(body)) {
|
if (!utils$1.isString(body)) {
|
||||||
_context2.next = 15;
|
_context2.next = 16;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
_context2.next = 14;
|
_context2.next = 15;
|
||||||
return encodeText(body);
|
return encodeText(body);
|
||||||
case 14:
|
|
||||||
return _context2.abrupt("return", _context2.sent.byteLength);
|
|
||||||
case 15:
|
case 15:
|
||||||
|
return _context2.abrupt("return", _context2.sent.byteLength);
|
||||||
|
case 16:
|
||||||
case "end":
|
case "end":
|
||||||
return _context2.stop();
|
return _context2.stop();
|
||||||
}
|
}
|
||||||
@@ -3448,18 +3486,15 @@
|
|||||||
}();
|
}();
|
||||||
var fetchAdapter = isFetchSupported && ( /*#__PURE__*/function () {
|
var fetchAdapter = isFetchSupported && ( /*#__PURE__*/function () {
|
||||||
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(config) {
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(config) {
|
||||||
var _resolveConfig, url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, _resolveConfig$withCr, withCredentials, fetchOptions, _ref5, _ref6, composedSignal, stopTimeout, finished, request, onFinish, requestContentLength, _request, contentTypeHeader, _progressEventDecorat, _progressEventDecorat2, onProgress, flush, isCredentialsSupported, response, isStreamResponse, options, responseContentLength, _ref7, _ref8, _onProgress, _flush, responseData;
|
var _resolveConfig, url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, _resolveConfig$withCr, withCredentials, fetchOptions, composedSignal, request, unsubscribe, requestContentLength, _request, contentTypeHeader, _progressEventDecorat, _progressEventDecorat2, onProgress, flush, isCredentialsSupported, response, isStreamResponse, options, responseContentLength, _ref5, _ref6, _onProgress, _flush, responseData;
|
||||||
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
||||||
while (1) switch (_context4.prev = _context4.next) {
|
while (1) switch (_context4.prev = _context4.next) {
|
||||||
case 0:
|
case 0:
|
||||||
_resolveConfig = resolveConfig(config), url = _resolveConfig.url, method = _resolveConfig.method, data = _resolveConfig.data, signal = _resolveConfig.signal, cancelToken = _resolveConfig.cancelToken, timeout = _resolveConfig.timeout, onDownloadProgress = _resolveConfig.onDownloadProgress, onUploadProgress = _resolveConfig.onUploadProgress, responseType = _resolveConfig.responseType, headers = _resolveConfig.headers, _resolveConfig$withCr = _resolveConfig.withCredentials, withCredentials = _resolveConfig$withCr === void 0 ? 'same-origin' : _resolveConfig$withCr, fetchOptions = _resolveConfig.fetchOptions;
|
_resolveConfig = resolveConfig(config), url = _resolveConfig.url, method = _resolveConfig.method, data = _resolveConfig.data, signal = _resolveConfig.signal, cancelToken = _resolveConfig.cancelToken, timeout = _resolveConfig.timeout, onDownloadProgress = _resolveConfig.onDownloadProgress, onUploadProgress = _resolveConfig.onUploadProgress, responseType = _resolveConfig.responseType, headers = _resolveConfig.headers, _resolveConfig$withCr = _resolveConfig.withCredentials, withCredentials = _resolveConfig$withCr === void 0 ? 'same-origin' : _resolveConfig$withCr, fetchOptions = _resolveConfig.fetchOptions;
|
||||||
responseType = responseType ? (responseType + '').toLowerCase() : 'text';
|
responseType = responseType ? (responseType + '').toLowerCase() : 'text';
|
||||||
_ref5 = signal || cancelToken || timeout ? composeSignals$1([signal, cancelToken], timeout) : [], _ref6 = _slicedToArray(_ref5, 2), composedSignal = _ref6[0], stopTimeout = _ref6[1];
|
composedSignal = composeSignals$1([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
|
||||||
onFinish = function onFinish() {
|
unsubscribe = composedSignal && composedSignal.unsubscribe && function () {
|
||||||
!finished && setTimeout(function () {
|
composedSignal.unsubscribe();
|
||||||
composedSignal && composedSignal.unsubscribe();
|
|
||||||
});
|
|
||||||
finished = true;
|
|
||||||
};
|
};
|
||||||
_context4.prev = 4;
|
_context4.prev = 4;
|
||||||
_context4.t0 = onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head';
|
_context4.t0 = onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head';
|
||||||
@@ -3487,7 +3522,7 @@
|
|||||||
}
|
}
|
||||||
if (_request.body) {
|
if (_request.body) {
|
||||||
_progressEventDecorat = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress))), _progressEventDecorat2 = _slicedToArray(_progressEventDecorat, 2), onProgress = _progressEventDecorat2[0], flush = _progressEventDecorat2[1];
|
_progressEventDecorat = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress))), _progressEventDecorat2 = _slicedToArray(_progressEventDecorat, 2), onProgress = _progressEventDecorat2[0], flush = _progressEventDecorat2[1];
|
||||||
data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);
|
data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
|
||||||
}
|
}
|
||||||
case 15:
|
case 15:
|
||||||
if (!utils$1.isString(withCredentials)) {
|
if (!utils$1.isString(withCredentials)) {
|
||||||
@@ -3510,26 +3545,25 @@
|
|||||||
case 20:
|
case 20:
|
||||||
response = _context4.sent;
|
response = _context4.sent;
|
||||||
isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');
|
isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');
|
||||||
if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {
|
if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) {
|
||||||
options = {};
|
options = {};
|
||||||
['status', 'statusText', 'headers'].forEach(function (prop) {
|
['status', 'statusText', 'headers'].forEach(function (prop) {
|
||||||
options[prop] = response[prop];
|
options[prop] = response[prop];
|
||||||
});
|
});
|
||||||
responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length'));
|
responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length'));
|
||||||
_ref7 = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || [], _ref8 = _slicedToArray(_ref7, 2), _onProgress = _ref8[0], _flush = _ref8[1];
|
_ref5 = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || [], _ref6 = _slicedToArray(_ref5, 2), _onProgress = _ref6[0], _flush = _ref6[1];
|
||||||
response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, _onProgress, function () {
|
response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, _onProgress, function () {
|
||||||
_flush && _flush();
|
_flush && _flush();
|
||||||
isStreamResponse && onFinish();
|
unsubscribe && unsubscribe();
|
||||||
}, encodeText), options);
|
}), options);
|
||||||
}
|
}
|
||||||
responseType = responseType || 'text';
|
responseType = responseType || 'text';
|
||||||
_context4.next = 26;
|
_context4.next = 26;
|
||||||
return resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config);
|
return resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config);
|
||||||
case 26:
|
case 26:
|
||||||
responseData = _context4.sent;
|
responseData = _context4.sent;
|
||||||
!isStreamResponse && onFinish();
|
!isStreamResponse && unsubscribe && unsubscribe();
|
||||||
stopTimeout && stopTimeout();
|
_context4.next = 30;
|
||||||
_context4.next = 31;
|
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
settle(resolve, reject, {
|
settle(resolve, reject, {
|
||||||
data: responseData,
|
data: responseData,
|
||||||
@@ -3540,26 +3574,26 @@
|
|||||||
request: request
|
request: request
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
case 31:
|
case 30:
|
||||||
return _context4.abrupt("return", _context4.sent);
|
return _context4.abrupt("return", _context4.sent);
|
||||||
case 34:
|
case 33:
|
||||||
_context4.prev = 34;
|
_context4.prev = 33;
|
||||||
_context4.t2 = _context4["catch"](4);
|
_context4.t2 = _context4["catch"](4);
|
||||||
onFinish();
|
unsubscribe && unsubscribe();
|
||||||
if (!(_context4.t2 && _context4.t2.name === 'TypeError' && /fetch/i.test(_context4.t2.message))) {
|
if (!(_context4.t2 && _context4.t2.name === 'TypeError' && /fetch/i.test(_context4.t2.message))) {
|
||||||
_context4.next = 39;
|
_context4.next = 38;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), {
|
throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), {
|
||||||
cause: _context4.t2.cause || _context4.t2
|
cause: _context4.t2.cause || _context4.t2
|
||||||
});
|
});
|
||||||
case 39:
|
case 38:
|
||||||
throw AxiosError.from(_context4.t2, _context4.t2 && _context4.t2.code, config, request);
|
throw AxiosError.from(_context4.t2, _context4.t2 && _context4.t2.code, config, request);
|
||||||
case 40:
|
case 39:
|
||||||
case "end":
|
case "end":
|
||||||
return _context4.stop();
|
return _context4.stop();
|
||||||
}
|
}
|
||||||
}, _callee4, null, [[4, 34]]);
|
}, _callee4, null, [[4, 33]]);
|
||||||
}));
|
}));
|
||||||
return function (_x5) {
|
return function (_x5) {
|
||||||
return _ref4.apply(this, arguments);
|
return _ref4.apply(this, arguments);
|
||||||
@@ -3683,7 +3717,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var VERSION = "1.7.5";
|
var VERSION = "1.7.7";
|
||||||
|
|
||||||
var validators$1 = {};
|
var validators$1 = {};
|
||||||
|
|
||||||
@@ -4064,6 +4098,20 @@
|
|||||||
this._listeners.splice(index, 1);
|
this._listeners.splice(index, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
key: "toAbortSignal",
|
||||||
|
value: function toAbortSignal() {
|
||||||
|
var _this = this;
|
||||||
|
var controller = new AbortController();
|
||||||
|
var abort = function abort(err) {
|
||||||
|
controller.abort(err);
|
||||||
|
};
|
||||||
|
this.subscribe(abort);
|
||||||
|
controller.signal.unsubscribe = function () {
|
||||||
|
return _this.unsubscribe(abort);
|
||||||
|
};
|
||||||
|
return controller.signal;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
||||||
|
|||||||
Vendored
+14
File diff suppressed because one or more lines are too long
+1099
File diff suppressed because it is too large
Load Diff
Vendored
+3125
-3166
File diff suppressed because it is too large
Load Diff
+127
File diff suppressed because one or more lines are too long
Vendored
+13
-8
@@ -7,13 +7,13 @@
|
|||||||
exports.noConflict = function () { global._ = current; return exports; };
|
exports.noConflict = function () { global._ = current; return exports; };
|
||||||
}()));
|
}()));
|
||||||
}(this, (function () {
|
}(this, (function () {
|
||||||
// Underscore.js 1.13.6
|
// Underscore.js 1.13.7
|
||||||
// https://underscorejs.org
|
// https://underscorejs.org
|
||||||
// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
|
// (c) 2009-2024 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
|
||||||
// Underscore may be freely distributed under the MIT license.
|
// Underscore may be freely distributed under the MIT license.
|
||||||
|
|
||||||
// Current version.
|
// Current version.
|
||||||
var VERSION = '1.13.6';
|
var VERSION = '1.13.7';
|
||||||
|
|
||||||
// Establish the root object, `window` (`self`) in the browser, `global`
|
// Establish the root object, `window` (`self`) in the browser, `global`
|
||||||
// on the server, or `this` in some virtual machines. We use `self`
|
// on the server, or `this` in some virtual machines. We use `self`
|
||||||
@@ -150,8 +150,11 @@
|
|||||||
// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.
|
// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.
|
||||||
// In IE 11, the most common among them, this problem also applies to
|
// In IE 11, the most common among them, this problem also applies to
|
||||||
// `Map`, `WeakMap` and `Set`.
|
// `Map`, `WeakMap` and `Set`.
|
||||||
var hasStringTagBug = (
|
// Also, there are cases where an application can override the native
|
||||||
supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))
|
// `DataView` object, in cases like that we can't use the constructor
|
||||||
|
// safely and should just rely on alternate `DataView` checks
|
||||||
|
var hasDataViewBug = (
|
||||||
|
supportsDataView && (!/\[native code\]/.test(String(DataView)) || hasObjectTag(new DataView(new ArrayBuffer(8))))
|
||||||
),
|
),
|
||||||
isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));
|
isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));
|
||||||
|
|
||||||
@@ -159,11 +162,13 @@
|
|||||||
|
|
||||||
// In IE 10 - Edge 13, we need a different heuristic
|
// In IE 10 - Edge 13, we need a different heuristic
|
||||||
// to determine whether an object is a `DataView`.
|
// to determine whether an object is a `DataView`.
|
||||||
function ie10IsDataView(obj) {
|
// Also, in cases where the native `DataView` is
|
||||||
|
// overridden we can't rely on the tag itself.
|
||||||
|
function alternateIsDataView(obj) {
|
||||||
return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer);
|
return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView);
|
var isDataView$1 = (hasDataViewBug ? alternateIsDataView : isDataView);
|
||||||
|
|
||||||
// Is a given value an array?
|
// Is a given value an array?
|
||||||
// Delegates to ECMA5's native `Array.isArray`.
|
// Delegates to ECMA5's native `Array.isArray`.
|
||||||
@@ -376,7 +381,7 @@
|
|||||||
var className = toString.call(a);
|
var className = toString.call(a);
|
||||||
if (className !== toString.call(b)) return false;
|
if (className !== toString.call(b)) return false;
|
||||||
// Work around a bug in IE 10 - Edge 13.
|
// Work around a bug in IE 10 - Edge 13.
|
||||||
if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) {
|
if (hasDataViewBug && className == '[object Object]' && isDataView$1(a)) {
|
||||||
if (!isDataView$1(b)) return false;
|
if (!isDataView$1(b)) return false;
|
||||||
className = tagDataView;
|
className = tagDataView;
|
||||||
}
|
}
|
||||||
|
|||||||
+6690
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+112
-5508
File diff suppressed because it is too large
Load Diff
+3916
File diff suppressed because it is too large
Load Diff
+9
File diff suppressed because one or more lines are too long
Vendored
+1514
File diff suppressed because it is too large
Load Diff
+188
-184
@@ -32,196 +32,198 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body data-theme="bitcoin">
|
<body data-theme="bitcoin">
|
||||||
<q-layout id="vue" view="hHh lpR lfr" v-cloak>
|
<div id="vue">
|
||||||
<q-header bordered class="bg-marginal-bg">
|
<q-layout view="hHh lpR lfr" v-cloak>
|
||||||
<q-toolbar>
|
<q-header bordered class="bg-marginal-bg">
|
||||||
{% block drawer_toggle %}
|
<q-toolbar>
|
||||||
<q-btn
|
{% block drawer_toggle %}
|
||||||
dense
|
<q-btn
|
||||||
flat
|
dense
|
||||||
round
|
flat
|
||||||
icon="menu"
|
round
|
||||||
@click="g.visibleDrawer = !g.visibleDrawer"
|
icon="menu"
|
||||||
></q-btn>
|
@click="g.visibleDrawer = !g.visibleDrawer"
|
||||||
{% endblock %}
|
></q-btn>
|
||||||
<q-toolbar-title>
|
{% endblock %}
|
||||||
{% block toolbar_title %}
|
<q-toolbar-title>
|
||||||
<q-btn flat no-caps dense size="lg" type="a" href="/"
|
{% block toolbar_title %}
|
||||||
>{% if USE_CUSTOM_LOGO %}
|
<q-btn flat no-caps dense size="lg" type="a" href="/"
|
||||||
<img height="30px" alt="Logo" src="{{ USE_CUSTOM_LOGO }}" />
|
>{% if USE_CUSTOM_LOGO %}
|
||||||
{%else%} {% if SITE_TITLE != 'LNbits' %} {{ SITE_TITLE }} {% else
|
<img height="30px" alt="Logo" src="{{ USE_CUSTOM_LOGO }}" />
|
||||||
%}
|
{%else%} {% if SITE_TITLE != 'LNbits' %} {{ SITE_TITLE }} {%
|
||||||
<span><strong>LN</strong>bits</span> {% endif %} {%endif%} </q-btn
|
else %}
|
||||||
>{% endblock %} {% block toolbar_subtitle %}{%if user and
|
<span><strong>LN</strong>bits</span> {% endif %} {%endif%} </q-btn
|
||||||
user.super_user%}
|
>{% endblock %} {% block toolbar_subtitle %}{%if user and
|
||||||
<q-badge align="middle">Super User</q-badge>
|
user.super_user%}
|
||||||
{% elif user and user.admin %}
|
<q-badge align="middle">Super User</q-badge>
|
||||||
<q-badge align="middle">Admin User</q-badge>
|
{% elif user and user.admin %}
|
||||||
{%endif%}{% endblock %}
|
<q-badge align="middle">Admin User</q-badge>
|
||||||
</q-toolbar-title>
|
{%endif%}{% endblock %}
|
||||||
{% block beta %} {% if VOIDWALLET %}
|
</q-toolbar-title>
|
||||||
<q-badge
|
{% block beta %} {% if VOIDWALLET %}
|
||||||
v-text="$t('voidwallet_active')"
|
<q-badge
|
||||||
color="red"
|
v-text="$t('voidwallet_active')"
|
||||||
class="q-mr-md gt-md"
|
color="red"
|
||||||
>
|
class="q-mr-md gt-md"
|
||||||
</q-badge>
|
>
|
||||||
{%endif%}
|
</q-badge>
|
||||||
<q-badge
|
|
||||||
v-if="'{{LNBITS_CUSTOM_BADGE}}' && '{{LNBITS_CUSTOM_BADGE}}' != 'None'"
|
|
||||||
v-show="$q.screen.gt.sm"
|
|
||||||
color="{{ LNBITS_CUSTOM_BADGE_COLOR }}"
|
|
||||||
class="q-mr-md"
|
|
||||||
label="{{LNBITS_CUSTOM_BADGE}}"
|
|
||||||
>
|
|
||||||
</q-badge>
|
|
||||||
{% if LNBITS_SERVICE_FEE > 0 %}
|
|
||||||
<q-badge
|
|
||||||
v-show="$q.screen.gt.sm"
|
|
||||||
v-if="g.user"
|
|
||||||
color="green"
|
|
||||||
class="q-mr-md"
|
|
||||||
>
|
|
||||||
{% if LNBITS_SERVICE_FEE_MAX > 0 %}
|
|
||||||
<span
|
|
||||||
v-text='$t("service_fee_max", { amount: "{{ LNBITS_SERVICE_FEE }}", max: "{{ LNBITS_SERVICE_FEE_MAX }}"})'
|
|
||||||
></span>
|
|
||||||
{%else%}
|
|
||||||
<span
|
|
||||||
v-text='$t("service_fee", { amount: "{{ LNBITS_SERVICE_FEE }}" })'
|
|
||||||
></span>
|
|
||||||
{%endif%}
|
{%endif%}
|
||||||
<q-tooltip
|
<q-badge
|
||||||
><span v-text='$t("service_fee_tooltip")'></span
|
v-if="'{{LNBITS_CUSTOM_BADGE}}' && '{{LNBITS_CUSTOM_BADGE}}' != 'None'"
|
||||||
></q-tooltip>
|
v-show="$q.screen.gt.sm"
|
||||||
</q-badge>
|
color="{{ LNBITS_CUSTOM_BADGE_COLOR }}"
|
||||||
|
class="q-mr-md"
|
||||||
|
label="{{LNBITS_CUSTOM_BADGE}}"
|
||||||
|
>
|
||||||
|
</q-badge>
|
||||||
|
{% if LNBITS_SERVICE_FEE > 0 %}
|
||||||
|
<q-badge
|
||||||
|
v-show="$q.screen.gt.sm"
|
||||||
|
v-if="g.user"
|
||||||
|
color="green"
|
||||||
|
class="q-mr-md"
|
||||||
|
>
|
||||||
|
{% if LNBITS_SERVICE_FEE_MAX > 0 %}
|
||||||
|
<span
|
||||||
|
v-text='$t("service_fee_max", { amount: "{{ LNBITS_SERVICE_FEE }}", max: "{{ LNBITS_SERVICE_FEE_MAX }}"})'
|
||||||
|
></span>
|
||||||
|
{%else%}
|
||||||
|
<span
|
||||||
|
v-text='$t("service_fee", { amount: "{{ LNBITS_SERVICE_FEE }}" })'
|
||||||
|
></span>
|
||||||
|
{%endif%}
|
||||||
|
<q-tooltip
|
||||||
|
><span v-text='$t("service_fee_tooltip")'></span
|
||||||
|
></q-tooltip>
|
||||||
|
</q-badge>
|
||||||
|
|
||||||
{%endif%} {% endblock %}
|
{%endif%} {% endblock %}
|
||||||
<q-badge v-if="g.offline" color="red" class="q-mr-md">
|
<q-badge v-if="g.offline" color="red" class="q-mr-md">
|
||||||
<span>OFFLINE</span>
|
<span>OFFLINE</span>
|
||||||
</q-badge>
|
</q-badge>
|
||||||
|
|
||||||
<q-btn-dropdown
|
<q-btn-dropdown
|
||||||
v-if="isUserAuthorized"
|
v-if="isUserAuthorized"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
size="sm"
|
size="sm"
|
||||||
class="q-pl-sm"
|
class="q-pl-sm"
|
||||||
>
|
>
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<div>
|
<div>
|
||||||
{%if user and user.config and user.config.picture%}
|
{%if user and user.config and user.config.picture%}
|
||||||
<img src="{{user.config.picture}}" style="max-width: 32px" />
|
<img src="{{user.config.picture}}" style="max-width: 32px" />
|
||||||
{%else%}
|
{%else%}
|
||||||
<q-icon name="account_circle" />
|
<q-icon name="account_circle" />
|
||||||
{%endif%}
|
{%endif%}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<q-list>
|
<q-list>
|
||||||
<q-item tag="a" href="/account" clickable v-close-popup
|
<q-item tag="a" href="/account" clickable v-close-popup
|
||||||
><q-item-section>
|
><q-item-section>
|
||||||
<q-icon name="person" />
|
<q-icon name="person" />
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label>
|
<q-item-label>
|
||||||
<span v-text="$t('my_account')"></span>
|
<span v-text="$t('my_account')"></span>
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label> </q-item-label>
|
<q-item-label> </q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-separator></q-separator>
|
<q-separator></q-separator>
|
||||||
<q-item clickable v-close-popup @click="logout"
|
<q-item clickable v-close-popup @click="logout"
|
||||||
><q-item-section>
|
><q-item-section>
|
||||||
<q-icon name="logout" />
|
<q-icon name="logout" />
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label>
|
<q-item-label>
|
||||||
<span v-text="$t('logout')"></span>
|
<span v-text="$t('logout')"></span>
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label> </q-item-label>
|
<q-item-label> </q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-btn-dropdown>
|
</q-btn-dropdown>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
</q-header>
|
</q-header>
|
||||||
|
|
||||||
{% block drawer %}
|
{% block drawer %}
|
||||||
<q-drawer
|
<q-drawer
|
||||||
v-model="g.visibleDrawer"
|
v-model="g.visibleDrawer"
|
||||||
side="left"
|
side="left"
|
||||||
:width="($q.screen.lt.md) ? 260 : 230"
|
:width="($q.screen.lt.md) ? 260 : 230"
|
||||||
show-if-above
|
show-if-above
|
||||||
:elevated="$q.screen.lt.md"
|
:elevated="$q.screen.lt.md"
|
||||||
>
|
>
|
||||||
<lnbits-wallet-list></lnbits-wallet-list>
|
<lnbits-wallet-list :balance="balance"></lnbits-wallet-list>
|
||||||
|
|
||||||
<lnbits-manage
|
<lnbits-manage
|
||||||
:show-admin="'{{LNBITS_ADMIN_UI}}' == 'True'"
|
:show-admin="'{{LNBITS_ADMIN_UI}}' == 'True'"
|
||||||
:show-users="'{{LNBITS_ADMIN_UI}}' == 'True'"
|
:show-users="'{{LNBITS_ADMIN_UI}}' == 'True'"
|
||||||
:show-node="'{{LNBITS_NODE_UI}}' == 'True'"
|
:show-node="'{{LNBITS_NODE_UI}}' == 'True'"
|
||||||
:show-extensions="'{{LNBITS_EXTENSIONS_DEACTIVATE_ALL}}' == 'False'"
|
:show-extensions="'{{LNBITS_EXTENSIONS_DEACTIVATE_ALL}}' == 'False'"
|
||||||
></lnbits-manage>
|
></lnbits-manage>
|
||||||
<lnbits-extension-list class="q-pb-xl"></lnbits-extension-list>
|
<lnbits-extension-list class="q-pb-xl"></lnbits-extension-list>
|
||||||
</q-drawer>
|
</q-drawer>
|
||||||
{% endblock %} {% block page_container %}
|
{% endblock %} {% block page_container %}
|
||||||
<q-page-container>
|
<q-page-container>
|
||||||
<q-page class="q-px-md q-py-lg" :class="{'q-px-lg': $q.screen.gt.xs}">
|
<q-page class="q-px-md q-py-lg" :class="{'q-px-lg': $q.screen.gt.xs}">
|
||||||
{% block page %}{% endblock %}
|
{% block page %}{% endblock %}
|
||||||
</q-page>
|
</q-page>
|
||||||
</q-page-container>
|
</q-page-container>
|
||||||
{% endblock %} {% block footer %}
|
{% endblock %} {% block footer %}
|
||||||
|
|
||||||
<q-footer
|
<q-footer
|
||||||
class="bg-transparent q-px-lg q-py-md"
|
class="bg-transparent q-px-lg q-py-md"
|
||||||
:class="{'text-dark': !$q.dark.isActive}"
|
:class="{'text-dark': !$q.dark.isActive}"
|
||||||
>
|
>
|
||||||
<q-space class="q-py-lg lt-md"></q-space>
|
<q-space class="q-py-lg lt-md"></q-space>
|
||||||
<q-toolbar class="gt-sm">
|
<q-toolbar class="gt-sm">
|
||||||
<q-toolbar-title class="text-caption">
|
<q-toolbar-title class="text-caption">
|
||||||
{{ SITE_TITLE }}, {{SITE_TAGLINE}}
|
{{ SITE_TITLE }}, {{SITE_TAGLINE}}
|
||||||
<br />
|
<br />
|
||||||
<small
|
<small
|
||||||
v-text="$t('lnbits_version') + ': {{LNBITS_VERSION}}'"
|
v-text="$t('lnbits_version') + ': {{LNBITS_VERSION}}'"
|
||||||
></small>
|
></small>
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-space></q-space>
|
<q-space></q-space>
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
:color="($q.dark.isActive) ? 'white' : 'primary'"
|
:color="($q.dark.isActive) ? 'white' : 'primary'"
|
||||||
type="a"
|
type="a"
|
||||||
href="/docs"
|
href="/docs"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
<span v-text="$t('api_docs')"></span>
|
<span v-text="$t('api_docs')"></span>
|
||||||
<q-tooltip
|
<q-tooltip
|
||||||
><span v-text="$t('view_swagger_docs')"></span
|
><span v-text="$t('view_swagger_docs')"></span
|
||||||
></q-tooltip>
|
></q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
:color="($q.dark.isActive) ? 'white' : 'primary'"
|
:color="($q.dark.isActive) ? 'white' : 'primary'"
|
||||||
icon="code"
|
icon="code"
|
||||||
type="a"
|
type="a"
|
||||||
href="https://github.com/lnbits/lnbits"
|
href="https://github.com/lnbits/lnbits"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
<q-tooltip><span v-text="$t('view_github')"></span></q-tooltip>
|
<q-tooltip><span v-text="$t('view_github')"></span></q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
</q-footer>
|
</q-footer>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</q-layout>
|
</q-layout>
|
||||||
|
</div>
|
||||||
|
|
||||||
{% block vue_templates %}{% endblock %}
|
{% block vue_templates %}{% endblock %}
|
||||||
<!---->
|
<!---->
|
||||||
@@ -258,6 +260,8 @@
|
|||||||
{ value: 'fi', label: 'Suomi', display: '🇫🇮 FI' }
|
{ value: 'fi', label: 'Suomi', display: '🇫🇮 FI' }
|
||||||
]
|
]
|
||||||
</script>
|
</script>
|
||||||
{% block scripts %}{% endblock %}
|
{% block scripts %}{% endblock %} {% for url in INCLUDED_COMPONENTS %}
|
||||||
|
<script src="{{ static_url_for('static', url) }}"></script>
|
||||||
|
{% endfor %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
+408
-417
File diff suppressed because it is too large
Load Diff
+37
-35
@@ -6,45 +6,46 @@
|
|||||||
"vendor_json": "node -e \"require('fs').writeFileSync('./lnbits/static/vendor.json', JSON.stringify(require('./package.json').bundle))\"",
|
"vendor_json": "node -e \"require('fs').writeFileSync('./lnbits/static/vendor.json', JSON.stringify(require('./package.json').bundle))\"",
|
||||||
"vendor_bundle_css": "node -e \"require('concat')(require('./package.json').bundle.css.map(a => 'lnbits/static/'+a), './lnbits/static/bundle.css')\"",
|
"vendor_bundle_css": "node -e \"require('concat')(require('./package.json').bundle.css.map(a => 'lnbits/static/'+a), './lnbits/static/bundle.css')\"",
|
||||||
"vendor_bundle_js": "node -e \"require('concat')(require('./package.json').bundle.js.map(a => 'lnbits/static/'+a),'./lnbits/static/bundle.js')\"",
|
"vendor_bundle_js": "node -e \"require('concat')(require('./package.json').bundle.js.map(a => 'lnbits/static/'+a),'./lnbits/static/bundle.js')\"",
|
||||||
|
"vendor_bundle_components": "node -e \"require('concat')(require('./package.json').bundle.components.map(a => 'lnbits/static/'+a), './lnbits/static/bundle-components.js')\"",
|
||||||
"vendor_minify_css": "./node_modules/.bin/minify ./lnbits/static/bundle.css > ./lnbits/static/bundle.min.css",
|
"vendor_minify_css": "./node_modules/.bin/minify ./lnbits/static/bundle.css > ./lnbits/static/bundle.min.css",
|
||||||
"vendor_minify_js": "./node_modules/.bin/minify ./lnbits/static/bundle.js > ./lnbits/static/bundle.min.js"
|
"vendor_minify_js": "./node_modules/.bin/minify ./lnbits/static/bundle.js > ./lnbits/static/bundle.min.js",
|
||||||
|
"vendor_minify_components": "./node_modules/.bin/minify ./lnbits/static/bundle-components.js > ./lnbits/static/bundle-components.min.js",
|
||||||
|
"bundle": "npm run sass && npm run vendor_copy && npm run vendor_json && npm run vendor_bundle_css && npm run vendor_bundle_js && npm run vendor_bundle_components && npm run vendor_minify_css && npm run vendor_minify_js && npm run vendor_minify_components"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"concat": "^1.0.3",
|
"concat": "^1.0.3",
|
||||||
"minify": "^9.2.0",
|
"minify": "^9.2.0",
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.3.3",
|
||||||
"pyright": "1.1.289",
|
"pyright": "1.1.289",
|
||||||
"sass": "^1.60.0"
|
"sass": "^1.78.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@chenfengyuan/vue-qrcode": "1.0.2",
|
"axios": "^1.7.7",
|
||||||
"axios": "^1.7.5",
|
"chart.js": "^4.4.4",
|
||||||
"chart.js": "^2.9.4",
|
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"quasar": "1.13.2",
|
"qrcode.vue": "^3.4.1",
|
||||||
|
"quasar": "2.16.10",
|
||||||
"showdown": "^2.1.0",
|
"showdown": "^2.1.0",
|
||||||
"underscore": "^1.13.6",
|
"underscore": "^1.13.7",
|
||||||
"vue": "2.6.12",
|
"vue": "3.5.2",
|
||||||
"vue-i18n": "^8.28.2",
|
"vue-i18n": "^9.14.0",
|
||||||
"vue-qrcode-reader": "^2.3.18",
|
"vue-qrcode-reader": "^5.5.7",
|
||||||
"vue-router": "3.4.3",
|
"vue-router": "4.4.3",
|
||||||
"vuex": "3.5.1"
|
"vuex": "4.1.0"
|
||||||
},
|
},
|
||||||
"vendor": [
|
"vendor": [
|
||||||
"./node_modules/moment/moment.js",
|
"./node_modules/moment/moment.js",
|
||||||
"./node_modules/underscore/underscore.js",
|
"./node_modules/underscore/underscore.js",
|
||||||
"./node_modules/axios/dist/axios.js",
|
"./node_modules/axios/dist/axios.js",
|
||||||
"./node_modules/vue/dist/vue.js",
|
"./node_modules/vue/dist/vue.global.prod.js",
|
||||||
"./node_modules/vue-router/dist/vue-router.js",
|
"./node_modules/quasar/dist/quasar.umd.prod.js",
|
||||||
"./node_modules/vue-qrcode-reader/dist/VueQrcodeReader.umd.js",
|
"./node_modules/vuex/dist/vuex.global.js",
|
||||||
"./node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.js",
|
"./node_modules/vue-i18n/dist/vue-i18n.global.prod.js",
|
||||||
"./node_modules/vuex/dist/vuex.js",
|
"./node_modules/vue-router/dist/vue-router.global.js",
|
||||||
"./node_modules/quasar/dist/quasar.ie.polyfills.umd.min.js",
|
"./node_modules/vue-qrcode-reader/dist/vue-qrcode-reader.umd.js",
|
||||||
"./node_modules/quasar/dist/quasar.umd.js",
|
"./node_modules/qrcode.vue/dist/qrcode.vue.browser.js",
|
||||||
"./node_modules/chart.js/dist/Chart.bundle.js",
|
"./node_modules/chart.js/dist/chart.umd.js",
|
||||||
"./node_modules/quasar/dist/quasar.css",
|
"./node_modules/quasar/dist/quasar.css",
|
||||||
"./node_modules/chart.js/dist/Chart.css",
|
|
||||||
"./node_modules/vue-i18n/dist/vue-i18n.js",
|
|
||||||
"./node_modules/showdown/dist/showdown.js"
|
"./node_modules/showdown/dist/showdown.js"
|
||||||
],
|
],
|
||||||
"bundle": {
|
"bundle": {
|
||||||
@@ -52,15 +53,14 @@
|
|||||||
"vendor/moment.js",
|
"vendor/moment.js",
|
||||||
"vendor/underscore.js",
|
"vendor/underscore.js",
|
||||||
"vendor/axios.js",
|
"vendor/axios.js",
|
||||||
"vendor/vue.js",
|
"vendor/vue.global.prod.js",
|
||||||
"vendor/vue-router.js",
|
"vendor/quasar.umd.prod.js",
|
||||||
"vendor/VueQrcodeReader.umd.js",
|
"vendor/vuex.global.js",
|
||||||
"vendor/vue-qrcode.js",
|
"vendor/vue-i18n.global.prod.js",
|
||||||
"vendor/vuex.js",
|
"vendor/vue-router.global.js",
|
||||||
"vendor/quasar.ie.polyfills.umd.min.js",
|
"vendor/vue-qrcode-reader.umd.js",
|
||||||
"vendor/quasar.umd.js",
|
"vendor/qrcode.vue.browser.js",
|
||||||
"vendor/Chart.bundle.js",
|
"vendor/chart.umd.js",
|
||||||
"vendor/vue-i18n.js",
|
|
||||||
"vendor/showdown.js",
|
"vendor/showdown.js",
|
||||||
"i18n/i18n.js",
|
"i18n/i18n.js",
|
||||||
"i18n/de.js",
|
"i18n/de.js",
|
||||||
@@ -83,18 +83,20 @@
|
|||||||
"i18n/kr.js",
|
"i18n/kr.js",
|
||||||
"i18n/fi.js",
|
"i18n/fi.js",
|
||||||
"js/base.js",
|
"js/base.js",
|
||||||
"js/components.js",
|
"js/event-reactions.js",
|
||||||
|
"js/bolt11-decoder.js"
|
||||||
|
],
|
||||||
|
"components": [
|
||||||
"js/components/lnbits-funding-sources.js",
|
"js/components/lnbits-funding-sources.js",
|
||||||
"js/components/extension-settings.js",
|
"js/components/extension-settings.js",
|
||||||
"js/components/extension-rating.js",
|
"js/components/extension-rating.js",
|
||||||
"js/components/payment-list.js",
|
"js/components/payment-list.js",
|
||||||
"js/components/payment-chart.js",
|
"js/components/payment-chart.js",
|
||||||
"js/event-reactions.js",
|
"js/components.js",
|
||||||
"js/bolt11-decoder.js"
|
"js/init-app.js"
|
||||||
],
|
],
|
||||||
"css": [
|
"css": [
|
||||||
"vendor/quasar.css",
|
"vendor/quasar.css",
|
||||||
"vendor/Chart.css",
|
|
||||||
"css/base.css"
|
"css/base.css"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user