From 2a1d9b7f31e83ed7d14bbeecc952fdceffd21ef2 Mon Sep 17 00:00:00 2001
From: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Date: Thu, 5 Sep 2024 11:20:23 -0400
Subject: [PATCH 01/12] [AC-2963] Add premium-v2.component for individual users
(#10885)
* Add premium-v2.component
* (No Logic) Move existing premium.component into new premium folder
* Add new premium-v2.component to /premium route behind FF
---
.../individual-billing-routing.module.ts | 20 ++-
.../individual/individual-billing.module.ts | 4 +-
.../premium/premium-v2.component.html | 144 +++++++++++++++
.../premium/premium-v2.component.ts | 164 ++++++++++++++++++
.../{ => premium}/premium.component.html | 0
.../{ => premium}/premium.component.ts | 2 +-
.../billing/shared/billing-shared.module.ts | 1 +
7 files changed, 327 insertions(+), 8 deletions(-)
create mode 100644 apps/web/src/app/billing/individual/premium/premium-v2.component.html
create mode 100644 apps/web/src/app/billing/individual/premium/premium-v2.component.ts
rename apps/web/src/app/billing/individual/{ => premium}/premium.component.html (100%)
rename apps/web/src/app/billing/individual/{ => premium}/premium.component.ts (98%)
diff --git a/apps/web/src/app/billing/individual/individual-billing-routing.module.ts b/apps/web/src/app/billing/individual/individual-billing-routing.module.ts
index ff45ca75ac6..585d9b418c1 100644
--- a/apps/web/src/app/billing/individual/individual-billing-routing.module.ts
+++ b/apps/web/src/app/billing/individual/individual-billing-routing.module.ts
@@ -1,10 +1,14 @@
import { NgModule } from "@angular/core";
import { RouterModule, Routes } from "@angular/router";
+import { featureFlaggedRoute } from "@bitwarden/angular/platform/utils/feature-flagged-route";
+import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
+
import { PaymentMethodComponent } from "../shared";
import { BillingHistoryViewComponent } from "./billing-history-view.component";
-import { PremiumComponent } from "./premium.component";
+import { PremiumV2Component } from "./premium/premium-v2.component";
+import { PremiumComponent } from "./premium/premium.component";
import { SubscriptionComponent } from "./subscription.component";
import { UserSubscriptionComponent } from "./user-subscription.component";
@@ -20,11 +24,15 @@ const routes: Routes = [
component: UserSubscriptionComponent,
data: { titleId: "premiumMembership" },
},
- {
- path: "premium",
- component: PremiumComponent,
- data: { titleId: "goPremium" },
- },
+ ...featureFlaggedRoute({
+ defaultComponent: PremiumComponent,
+ flaggedComponent: PremiumV2Component,
+ featureFlag: FeatureFlag.AC2476_DeprecateStripeSourcesAPI,
+ routeOptions: {
+ path: "premium",
+ data: { titleId: "goPremium" },
+ },
+ }),
{
path: "payment-method",
component: PaymentMethodComponent,
diff --git a/apps/web/src/app/billing/individual/individual-billing.module.ts b/apps/web/src/app/billing/individual/individual-billing.module.ts
index dbae28858f8..0dbbc8c6837 100644
--- a/apps/web/src/app/billing/individual/individual-billing.module.ts
+++ b/apps/web/src/app/billing/individual/individual-billing.module.ts
@@ -5,7 +5,8 @@ import { BillingSharedModule } from "../shared";
import { BillingHistoryViewComponent } from "./billing-history-view.component";
import { IndividualBillingRoutingModule } from "./individual-billing-routing.module";
-import { PremiumComponent } from "./premium.component";
+import { PremiumV2Component } from "./premium/premium-v2.component";
+import { PremiumComponent } from "./premium/premium.component";
import { SubscriptionComponent } from "./subscription.component";
import { UserSubscriptionComponent } from "./user-subscription.component";
@@ -16,6 +17,7 @@ import { UserSubscriptionComponent } from "./user-subscription.component";
BillingHistoryViewComponent,
UserSubscriptionComponent,
PremiumComponent,
+ PremiumV2Component,
],
})
export class IndividualBillingModule {}
diff --git a/apps/web/src/app/billing/individual/premium/premium-v2.component.html b/apps/web/src/app/billing/individual/premium/premium-v2.component.html
new file mode 100644
index 00000000000..bdf6ff87d19
--- /dev/null
+++ b/apps/web/src/app/billing/individual/premium/premium-v2.component.html
@@ -0,0 +1,144 @@
+ {{ "premiumUpgradeUnlockFeatures" | i18n }}
+ {{
+ "premiumPriceWithFamilyPlan" | i18n: (premiumPrice | currency: "$") : familyPlanMaxUserCount
+ }}
+
+ {{ "bitwardenFamiliesPlan" | i18n }}
+
+ {{ "uploadLicenseFilePremium" | i18n }}{{ "goPremium" | i18n }}
+
+
+