Skip to content

Commit ef278b8

Browse files
committed
show extra and gifted minutes in billing section
- adds separate "add-ons" section to display extra execution minutes and gifted execution minutes when present - renames renderQuotas to renderMonthlyQuotas for clarity
1 parent a5ba6ab commit ef278b8

File tree

1 file changed

+44
-2
lines changed
  • frontend/src/pages/org/settings/components

1 file changed

+44
-2
lines changed

frontend/src/pages/org/settings/components/billing.ts

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,13 +191,24 @@ export class OrgSettingsBilling extends BtrixElement {
191191
</h5>
192192
${when(
193193
this.org,
194-
(org) => this.renderQuotas(org.quotas),
194+
(org) => this.renderMonthlyQuotas(org.quotas),
195195
() =>
196196
html` <sl-skeleton class="mb-2"></sl-skeleton>
197197
<sl-skeleton class="mb-2"></sl-skeleton>
198198
<sl-skeleton class="mb-2"></sl-skeleton>
199199
<sl-skeleton class="mb-2"></sl-skeleton>`,
200200
)}
201+
${when(
202+
this.org?.quotas.extraExecMinutes ||
203+
this.org?.quotas.giftedExecMinutes,
204+
() =>
205+
html` <h5
206+
class="mb-2 mt-4 text-xs leading-none text-neutral-500"
207+
>
208+
${msg("Add-ons")}
209+
</h5>
210+
${this.renderExtraQuotas(this.org!.quotas)}`,
211+
)}
201212
${when(
202213
this.org?.subscription,
203214
() =>
@@ -354,7 +365,7 @@ export class OrgSettingsBilling extends BtrixElement {
354365
: nothing}`;
355366
};
356367

357-
private readonly renderQuotas = (quotas: OrgQuotas) => {
368+
private readonly renderMonthlyQuotas = (quotas: OrgQuotas) => {
358369
const maxExecMinutesPerMonth =
359370
quotas.maxExecMinutesPerMonth &&
360371
this.localize.number(quotas.maxExecMinutesPerMonth, {
@@ -390,6 +401,37 @@ export class OrgSettingsBilling extends BtrixElement {
390401
`;
391402
};
392403

404+
private readonly renderExtraQuotas = (quotas: OrgQuotas) => {
405+
const extraExecMinutes = quotas.extraExecMinutes
406+
? this.localize.number(quotas.extraExecMinutes, {
407+
style: "unit",
408+
unit: "minute",
409+
unitDisplay: "long",
410+
})
411+
: null;
412+
413+
const giftedExecMinutes = quotas.giftedExecMinutes
414+
? this.localize.number(quotas.giftedExecMinutes, {
415+
style: "unit",
416+
unit: "minute",
417+
unitDisplay: "long",
418+
})
419+
: null;
420+
421+
return html`
422+
<ul class="leading-relaxed text-neutral-700">
423+
${extraExecMinutes &&
424+
html`<li>
425+
${msg(str`${extraExecMinutes} of add-on execution time`)}
426+
</li>`}
427+
${giftedExecMinutes &&
428+
html`<li>
429+
${msg(str`${giftedExecMinutes} of gifted execution time`)}
430+
</li>`}
431+
</ul>
432+
`;
433+
};
434+
393435
private renderPortalLink() {
394436
return html`
395437
<a

0 commit comments

Comments
 (0)