refactor: move copyText and formatBalance into utils (#3584)

This commit is contained in:
dni ⚡ 2025-11-27 12:23:42 +01:00 committed by GitHub
parent 9c257aa23d
commit e6ca8a33c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 53 additions and 24 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -95,6 +95,8 @@ window.i18n = new VueI18n.createI18n({
window.app.mixin({
data() {
return {
api: window._lnbitsApi,
utils: window._lnbitsUtils,
g: window.g,
utils: window._lnbitsUtils,
...WINDOW_SETTINGS
@ -107,6 +109,11 @@ window.app.mixin({
const isVueRoute = matchedRoute?.matched?.length > 0
return isVueRoute
}
},
// backwards compatibility for extensions, should not be used in the future
methods: {
copyText: window._lnbitsUtils.copyText,
formatBalance: window._lnbitsUtils.formatBalance
}
})

View file

@ -1,4 +1,12 @@
window._lnbitsUtils = {
copyText(text, message, position) {
Quasar.copyToClipboard(text).then(() => {
Quasar.Notify.create({
message: message || 'Copied to clipboard!',
position: position || 'bottom'
})
})
},
confirmDialog(msg) {
return Quasar.Dialog.create({
message: msg,
@ -52,6 +60,12 @@ window._lnbitsUtils = {
const timestampMs = new Date(isoDateString).getTime()
return moment.utc(timestampMs).local().fromNow()
},
formatBalance(amount, denomination = 'sats') {
if (denomination === 'sats') {
return LNbits.utils.formatSat(amount) + ' sats'
}
return LNbits.utils.formatCurrency(amount / 100, denomination)
},
formatCurrency(value, currency) {
return new Intl.NumberFormat(window.i18n.global.locale, {
style: 'currency',

View file

@ -60,21 +60,6 @@ window.windowMixin = {
}
})
},
formatBalance(amount) {
if (LNBITS_DENOMINATION != 'sats') {
return LNbits.utils.formatCurrency(amount / 100, LNBITS_DENOMINATION)
} else {
return LNbits.utils.formatSat(amount) + ' sats'
}
},
copyText(text, message, position) {
Quasar.copyToClipboard(text).then(() => {
Quasar.Notify.create({
message: message || 'Copied to clipboard!',
position: position || 'bottom'
})
})
},
refreshRoute() {
const path = window.location.pathname
console.log(path)

View file

@ -85,7 +85,9 @@
</div>
<div class="row items-center q-pt-sm">
<h6 class="q-my-none ellipsis full-width">
<strong v-text="formatBalance(wallet.sat)"></strong>
<strong
v-text="utils.formatBalance(wallet.sat, g.denomination)"
></strong>
</h6>
</div>
</q-card-section>

View file

@ -40,7 +40,9 @@
><span v-text="walletRec.name"></span
></q-item-label>
<q-item-label class="q-my-none ellipsis full-width" caption>
<strong v-text="formatBalance(walletRec.sat)"></strong>
<strong
v-text="utils.formatBalance(walletRec.sat, g.denomination)"
></strong>
</q-item-label>
</q-item-section>
<q-item-section

View file

@ -30,7 +30,9 @@
<div class="col-auto">
<div class="text-h3 q-my-none full-width">
<strong
v-text="formatBalance(g.wallet.sat)"
v-text="
utils.formatBalance(g.wallet.sat, g.denomination)
"
class="text-no-wrap"
:style="{
fontSize: 'clamp(0.75rem, 10vw, 3rem)',
@ -94,7 +96,13 @@
<span
class="text-h5 text-italic"
style="opacity: 0.75"
v-text="formatBalance(g.wallet.sat)"
v-text="
utils.formatBalance(
g.wallet.sat,
g.denomination,
g.denomination
)
"
>
</span>
</div>
@ -432,7 +440,9 @@
<div class="column content-center text-center q-mb-md">
<div v-if="!g.isFiatPriority">
<h4 class="q-my-none text-bold">
<span v-text="formatBalance(parse.invoice.sat)"></span>
<span
v-text="utils.formatBalance(parse.invoice.sat, g.denomination)"
></span>
</h4>
</div>
<div v-else>
@ -454,7 +464,11 @@
<div v-if="g.fiatTracking">
<div v-if="g.isFiatPriority">
<h5 class="q-my-none text-bold">
<span v-text="formatBalance(parse.invoice.sat)"></span>
<span
v-text="
utils.formatBalance(parse.invoice.sat, g.denomination)
"
></span>
</h5>
</div>
<div v-else style="opacity: 0.75">

View file

@ -93,7 +93,12 @@
<div class="row items-center q-pt-sm">
<h6 class="q-my-none ellipsis full-width">
<strong
v-text="formatBalance(props.row.balance_msat / 1000)"
v-text="
utils.formatBalance(
props.row.balance_msat / 1000,
g.denomination
)
"
></strong>
</h6>
</div>