mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 01:03:35 +00:00
[AC-1423] Switch to AddonProductType enum instead of boolean
This commit is contained in:
@@ -70,10 +70,8 @@
|
||||
<ng-template body>
|
||||
<ng-container *ngIf="subscription">
|
||||
<tr bitRow *ngFor="let i of lineItems">
|
||||
<td bitCell [ngClass]="{ 'tw-pl-20': i.addonSubscriptionItem }">
|
||||
<span *ngIf="!i.addonSubscriptionItem"
|
||||
>{{ productName(i.bitwardenProduct) }} -</span
|
||||
>
|
||||
<td bitCell [ngClass]="{ 'tw-pl-20': i.addonProduct != null }">
|
||||
<span *ngIf="i.addonProduct == null">{{ productName(i.bitwardenProduct) }} -</span>
|
||||
{{ i.name }} {{ i.quantity > 1 ? "×" + i.quantity : "" }} @
|
||||
{{ i.amount | currency : "$" }}
|
||||
</td>
|
||||
|
||||
@@ -349,22 +349,25 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to sort subscription items by product type and then by addon status
|
||||
* Helper to sort subscription items by product type and then by addon product type
|
||||
*/
|
||||
function sortSubscriptionItems(
|
||||
a: BillingSubscriptionItemResponse,
|
||||
b: BillingSubscriptionItemResponse
|
||||
) {
|
||||
if (a.bitwardenProduct == b.bitwardenProduct) {
|
||||
// sort addon items to the bottom
|
||||
if (a.addonSubscriptionItem == b.addonSubscriptionItem) {
|
||||
return 0;
|
||||
// Both are addon products, sort by enum value
|
||||
if (a.addonProduct != null && b.addonProduct != null) {
|
||||
return a.addonProduct - b.addonProduct;
|
||||
}
|
||||
|
||||
if (a.addonSubscriptionItem) {
|
||||
return 1;
|
||||
// 'a' is not an addon product, sort it to the bottom
|
||||
if (a.addonProduct == null) {
|
||||
return -1;
|
||||
}
|
||||
return -1;
|
||||
|
||||
// 'a' is an addon product, sort it to the top
|
||||
return 1;
|
||||
}
|
||||
return a.bitwardenProduct - b.bitwardenProduct;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user