1
0
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:
Shane Melton
2023-06-21 17:38:49 -07:00
parent 5ca5b97a30
commit 204f64b4e7
4 changed files with 23 additions and 13 deletions

View File

@@ -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 ? "&times;" + i.quantity : "" }} @
{{ i.amount | currency : "$" }}
</td>

View File

@@ -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;
}