Merge pull request 'Ticket waves never rendered in the organiser table' (#68) from fix/wave-chip-lnbits-global into main
Some checks failed
lint.yml / Merge pull request 'Ticket waves never rendered in the organiser table' (#68) from fix/wave-chip-lnbits-global into main (push) Failing after 0s
Some checks failed
lint.yml / Merge pull request 'Ticket waves never rendered in the organiser table' (#68) from fix/wave-chip-lnbits-global into main (push) Failing after 0s
Reviewed-on: #68
This commit is contained in:
commit
0e9cc76fef
2 changed files with 21 additions and 17 deletions
|
|
@ -414,6 +414,26 @@ window.PageEvents = {
|
||||||
this.ticketImageUploadTarget = null
|
this.ticketImageUploadTarget = null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
waveSummary(eventId, wave) {
|
||||||
|
// Built here, not in the template. Vue resolves template expressions
|
||||||
|
// against the component instance, where the `LNbits` global is NOT
|
||||||
|
// in scope — upstream's v1.6.8 chip called `LNbits.utils` inline and
|
||||||
|
// threw "Cannot read properties of undefined (reading 'utils')",
|
||||||
|
// which killed the whole v-for and left the wave list looking empty.
|
||||||
|
// No other template in this extension touches `LNbits` directly.
|
||||||
|
const price = this.isFiatCurrency(wave.currency)
|
||||||
|
? LNbits.utils.formatCurrency(
|
||||||
|
Number(wave.price_per_ticket || 0).toFixed(2),
|
||||||
|
wave.currency
|
||||||
|
)
|
||||||
|
: `${wave.price_per_ticket} sats`
|
||||||
|
// Wave dates can carry a time (closing_date defaults from
|
||||||
|
// event_end_date); show the day only.
|
||||||
|
const opens = String(wave.opening_date || '').slice(0, 10)
|
||||||
|
const closes = String(wave.closing_date || '').slice(0, 10)
|
||||||
|
const sold = this.soldTicketsForWave(eventId, wave.id)
|
||||||
|
return `${wave.title} - ${opens} to ${closes} - ${price} - ${wave.amount_tickets} tickets - ${sold} sold`
|
||||||
|
},
|
||||||
soldTicketsForWave(eventId, waveId) {
|
soldTicketsForWave(eventId, waveId) {
|
||||||
return this.allPaidTickets.filter(
|
return this.allPaidTickets.filter(
|
||||||
ticket =>
|
ticket =>
|
||||||
|
|
|
||||||
|
|
@ -271,23 +271,7 @@
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
style="white-space: normal; line-height: 1.3"
|
style="white-space: normal; line-height: 1.3"
|
||||||
v-text="
|
v-text="waveSummary(props.row.id, wave)"
|
||||||
`${wave.title} - ${wave.opening_date} to ${
|
|
||||||
wave.closing_date
|
|
||||||
} - ${
|
|
||||||
isFiatCurrency(wave.currency)
|
|
||||||
? LNbits.utils.formatCurrency(
|
|
||||||
Number(
|
|
||||||
wave.price_per_ticket || 0
|
|
||||||
).toFixed(2),
|
|
||||||
wave.currency
|
|
||||||
)
|
|
||||||
: `${wave.price_per_ticket} sats`
|
|
||||||
} - ${wave.amount_tickets} tickets - ${soldTicketsForWave(
|
|
||||||
props.row.id,
|
|
||||||
wave.id
|
|
||||||
)} sold`
|
|
||||||
"
|
|
||||||
></span>
|
></span>
|
||||||
</q-chip>
|
</q-chip>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue