1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-11 05:53:42 +00:00

Refactor(billing): Standardize subscription cadence display

This commit is contained in:
Stephon Brown
2026-02-03 16:22:04 -05:00
parent 91f7747df7
commit d32b33da3e
3 changed files with 9 additions and 11 deletions

View File

@@ -127,7 +127,7 @@ describe("PremiumOrgUpgradeComponent", () => {
expect(sut["familiesCardDetails"].title).toBe("planNameFamilies");
expect(sut["familiesCardDetails"].tagline).toBe("Family plan for up to 6 users");
expect(sut["familiesCardDetails"].price.amount).toBe(40 / 12);
expect(sut["familiesCardDetails"].price.cadence).toBe("monthly");
expect(sut["familiesCardDetails"].price.cadence).toBe("month");
expect(sut["familiesCardDetails"].button.type).toBe("primary");
expect(sut["familiesCardDetails"].button.text).toBe("upgradeToFamilies");
expect(sut["familiesCardDetails"].features).toEqual(["Feature A", "Feature B", "Feature C"]);
@@ -137,7 +137,7 @@ describe("PremiumOrgUpgradeComponent", () => {
expect(sut["teamsCardDetails"].title).toBe("planNameTeams");
expect(sut["teamsCardDetails"].tagline).toBe("Teams plan for growing businesses");
expect(sut["teamsCardDetails"].price.amount).toBe(48 / 12);
expect(sut["teamsCardDetails"].price.cadence).toBe("monthly");
expect(sut["teamsCardDetails"].price.cadence).toBe("month");
expect(sut["teamsCardDetails"].button.type).toBe("secondary");
expect(sut["teamsCardDetails"].button.text).toBe("upgradeToTeams");
expect(sut["teamsCardDetails"].features).toEqual([
@@ -151,7 +151,7 @@ describe("PremiumOrgUpgradeComponent", () => {
expect(sut["enterpriseCardDetails"].title).toBe("planNameEnterprise");
expect(sut["enterpriseCardDetails"].tagline).toBe("Enterprise plan for large organizations");
expect(sut["enterpriseCardDetails"].price.amount).toBe(72 / 12);
expect(sut["enterpriseCardDetails"].price.cadence).toBe("monthly");
expect(sut["enterpriseCardDetails"].price.cadence).toBe("month");
expect(sut["enterpriseCardDetails"].button.type).toBe("secondary");
expect(sut["enterpriseCardDetails"].button.text).toBe("upgradeToEnterprise");
expect(sut["enterpriseCardDetails"].features).toEqual([

View File

@@ -20,7 +20,6 @@ import {
PersonalSubscriptionPricingTier,
PersonalSubscriptionPricingTierId,
PersonalSubscriptionPricingTierIds,
SubscriptionCadenceIds,
} from "@bitwarden/common/billing/types/subscription-pricing-tier";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { UnionOfValues } from "@bitwarden/common/vault/types/union-of-values";
@@ -161,7 +160,7 @@ export class PremiumOrgUpgradeComponent implements OnInit {
priceAmount && priceAmount > 0
? {
amount: priceAmount / 12,
cadence: SubscriptionCadenceIds.Monthly,
cadence: "month",
showPerUser: shouldShowPerUser,
}
: undefined,

View File

@@ -1,14 +1,13 @@
import { SubscriptionCadence } from "@bitwarden/common/billing/types/subscription-pricing-tier";
import { BitwardenIcon, ButtonType } from "@bitwarden/components";
export type SubscriptionPricingCardDetails = {
title: string;
tagline: string;
price?: { amount: number; cadence: SubscriptionCadence };
button: {
text: string;
type: ButtonType;
icon?: { type: BitwardenIcon; position: "before" | "after" };
price?: {
amount: number;
cadence: "month" | "monthly" | "year" | "annually";
showPerUser?: boolean;
};
button: { text: string; type: ButtonType; icon?: { type: BitwardenIcon; position: "before" | "after" } };
features: string[];
};