diff --git a/apps/web/src/app/billing/individual/premium/premium.component.ts b/apps/web/src/app/billing/individual/premium/premium.component.ts index d116e0f2036..8979313597f 100644 --- a/apps/web/src/app/billing/individual/premium/premium.component.ts +++ b/apps/web/src/app/billing/individual/premium/premium.component.ts @@ -12,6 +12,7 @@ import { AccountService } from "@bitwarden/common/auth/abstractions/account.serv import { TokenService } from "@bitwarden/common/auth/abstractions/token.service"; import { BillingAccountProfileStateService } from "@bitwarden/common/billing/abstractions"; import { TaxServiceAbstraction } from "@bitwarden/common/billing/abstractions/tax.service.abstraction"; +import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -90,17 +91,20 @@ export class PremiumComponent { ), ); - // Show new design when user doesn't have premium from any source this.shouldShowNewDesign$ = combineLatest([ this.hasPremiumFromAnyOrganization$, this.hasPremiumPersonally$, - ]).pipe(map(([hasOrgPremium, hasPersonalPremium]) => !hasOrgPremium && !hasPersonalPremium)); + this.configService.getFeatureFlag$(FeatureFlag.PremiumUpgradeNewDesign), + ]).pipe( + map( + ([hasOrgPremium, hasPersonalPremium, newDesignFeatureFlagEnabled]) => + !hasOrgPremium && !hasPersonalPremium && newDesignFeatureFlagEnabled, + ), + ); - // Load personal subscription pricing tiers this.personalPricingTiers$ = this.subscriptionPricingService.getPersonalSubscriptionPricingTiers$(); - // Initialize combined observables for pricing cards this.premiumCardData$ = this.personalPricingTiers$.pipe( map((tiers) => { const tier = tiers.find((t) => t.id === "premium"); diff --git a/libs/common/src/enums/feature-flag.enum.ts b/libs/common/src/enums/feature-flag.enum.ts index 18134fee2c3..5dcc83303fa 100644 --- a/libs/common/src/enums/feature-flag.enum.ts +++ b/libs/common/src/enums/feature-flag.enum.ts @@ -28,6 +28,7 @@ export enum FeatureFlag { PM21881_ManagePaymentDetailsOutsideCheckout = "pm-21881-manage-payment-details-outside-checkout", PM21821_ProviderPortalTakeover = "pm-21821-provider-portal-takeover", PM22415_TaxIDWarnings = "pm-22415-tax-id-warnings", + PremiumUpgradeNewDesign = "premium-upgrade-new-design", /* Key Management */ PrivateKeyRegeneration = "pm-12241-private-key-regeneration", @@ -107,6 +108,7 @@ export const DefaultFeatureFlagValue = { [FeatureFlag.PM21881_ManagePaymentDetailsOutsideCheckout]: FALSE, [FeatureFlag.PM21821_ProviderPortalTakeover]: FALSE, [FeatureFlag.PM22415_TaxIDWarnings]: FALSE, + [FeatureFlag.PremiumUpgradeNewDesign]: FALSE, /* Key Management */ [FeatureFlag.PrivateKeyRegeneration]: FALSE,