diff --git a/apps/web/src/app/admin-console/organizations/layouts/organization-layout.component.ts b/apps/web/src/app/admin-console/organizations/layouts/organization-layout.component.ts index 2d1fde10856..4dd3e7fff72 100644 --- a/apps/web/src/app/admin-console/organizations/layouts/organization-layout.component.ts +++ b/apps/web/src/app/admin-console/organizations/layouts/organization-layout.component.ts @@ -27,7 +27,6 @@ import { getUserId } from "@bitwarden/common/auth/services/account.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { getById } from "@bitwarden/common/platform/misc"; import { BannerModule, SvgModule } from "@bitwarden/components"; -import { OrganizationWarningsModule } from "@bitwarden/web-vault/app/billing/organizations/warnings/organization-warnings.module"; import { OrganizationWarningsService } from "@bitwarden/web-vault/app/billing/organizations/warnings/services"; import { NonIndividualSubscriber } from "@bitwarden/web-vault/app/billing/types"; import { TaxIdWarningComponent } from "@bitwarden/web-vault/app/billing/warnings/components"; @@ -52,7 +51,6 @@ import { WebLayoutModule } from "../../../layouts/web-layout.module"; BannerModule, TaxIdWarningComponent, TaxIdWarningComponent, - OrganizationWarningsModule, ], }) export class OrganizationLayoutComponent implements OnInit { diff --git a/apps/web/src/app/admin-console/organizations/organization.module.ts b/apps/web/src/app/admin-console/organizations/organization.module.ts index 2f0077d313e..0d2fd6debc3 100644 --- a/apps/web/src/app/admin-console/organizations/organization.module.ts +++ b/apps/web/src/app/admin-console/organizations/organization.module.ts @@ -2,7 +2,6 @@ import { ScrollingModule } from "@angular/cdk/scrolling"; import { NgModule } from "@angular/core"; import { ScrollLayoutDirective } from "@bitwarden/components"; -import { OrganizationWarningsModule } from "@bitwarden/web-vault/app/billing/organizations/warnings/organization-warnings.module"; import { HeaderModule } from "../../layouts/header/header.module"; @@ -22,7 +21,6 @@ import { AccessSelectorModule } from "./shared/components/access-selector"; HeaderModule, ScrollingModule, ScrollLayoutDirective, - OrganizationWarningsModule, ], declarations: [GroupsComponent, GroupAddEditComponent], }) diff --git a/apps/web/src/app/billing/clients/account-billing.client.ts b/apps/web/src/app/billing/clients/account-billing.client.ts index 7367e539e14..fd66400a2ee 100644 --- a/apps/web/src/app/billing/clients/account-billing.client.ts +++ b/apps/web/src/app/billing/clients/account-billing.client.ts @@ -25,7 +25,7 @@ export type UpgradePremiumToOrganizationRequest = { billingAddress: Pick; }; -@Injectable() +@Injectable({ providedIn: "root" }) export class AccountBillingClient { private endpoint = "/account/billing/vnext"; diff --git a/apps/web/src/app/billing/clients/organization-billing.client.ts b/apps/web/src/app/billing/clients/organization-billing.client.ts index a8b3b31a4a4..c3bad815472 100644 --- a/apps/web/src/app/billing/clients/organization-billing.client.ts +++ b/apps/web/src/app/billing/clients/organization-billing.client.ts @@ -4,7 +4,7 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { OrganizationId } from "@bitwarden/common/types/guid"; import { OrganizationWarningsResponse } from "@bitwarden/web-vault/app/billing/organizations/warnings/types"; -@Injectable() +@Injectable({ providedIn: "root" }) export class OrganizationBillingClient { constructor(private apiService: ApiService) {} diff --git a/apps/web/src/app/billing/clients/preview-invoice.client.ts b/apps/web/src/app/billing/clients/preview-invoice.client.ts index 16fb1ca0762..88e325c491c 100644 --- a/apps/web/src/app/billing/clients/preview-invoice.client.ts +++ b/apps/web/src/app/billing/clients/preview-invoice.client.ts @@ -69,7 +69,7 @@ export interface TaxAmounts { total: number; } -@Injectable() +@Injectable({ providedIn: "root" }) export class PreviewInvoiceClient { constructor(private apiService: ApiService) {} diff --git a/apps/web/src/app/billing/clients/subscriber-billing.client.ts b/apps/web/src/app/billing/clients/subscriber-billing.client.ts index 107a8ccc728..7841b012765 100644 --- a/apps/web/src/app/billing/clients/subscriber-billing.client.ts +++ b/apps/web/src/app/billing/clients/subscriber-billing.client.ts @@ -22,7 +22,7 @@ type Result = message: string; }; -@Injectable() +@Injectable({ providedIn: "root" }) export class SubscriberBillingClient { constructor(private apiService: ApiService) {} diff --git a/apps/web/src/app/billing/individual/payment-details/account-payment-details.component.ts b/apps/web/src/app/billing/individual/payment-details/account-payment-details.component.ts index 8c061894fac..aa76ea2a572 100644 --- a/apps/web/src/app/billing/individual/payment-details/account-payment-details.component.ts +++ b/apps/web/src/app/billing/individual/payment-details/account-payment-details.component.ts @@ -30,7 +30,6 @@ type View = { HeaderModule, SharedModule, ], - providers: [SubscriberBillingClient], }) export class AccountPaymentDetailsComponent { private viewState$ = new BehaviorSubject(null); diff --git a/apps/web/src/app/billing/individual/premium/cloud-hosted-premium.component.ts b/apps/web/src/app/billing/individual/premium/cloud-hosted-premium.component.ts index 8c7a407eee5..8dc7f207c53 100644 --- a/apps/web/src/app/billing/individual/premium/cloud-hosted-premium.component.ts +++ b/apps/web/src/app/billing/individual/premium/cloud-hosted-premium.component.ts @@ -65,7 +65,6 @@ const RouteParamValues = { I18nPipe, PricingCardComponent, ], - providers: [AccountBillingClient], }) export class CloudHostedPremiumComponent { protected hasPremiumFromAnyOrganization$: Observable; diff --git a/apps/web/src/app/billing/individual/services/premium-subscription-routing.service.ts b/apps/web/src/app/billing/individual/services/premium-subscription-routing.service.ts index 6622a5baa9d..fe4f2ac1b70 100644 --- a/apps/web/src/app/billing/individual/services/premium-subscription-routing.service.ts +++ b/apps/web/src/app/billing/individual/services/premium-subscription-routing.service.ts @@ -8,7 +8,7 @@ import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/pl import { UserId } from "@bitwarden/user-core"; import { AccountBillingClient } from "@bitwarden/web-vault/app/billing/clients"; -@Injectable() +@Injectable({ providedIn: "root" }) export class PremiumSubscriptionRoutingService { constructor( private accountService: AccountService, diff --git a/apps/web/src/app/billing/individual/subscription.component.ts b/apps/web/src/app/billing/individual/subscription.component.ts index 5006e4b8fa4..c07e9cdd225 100644 --- a/apps/web/src/app/billing/individual/subscription.component.ts +++ b/apps/web/src/app/billing/individual/subscription.component.ts @@ -17,7 +17,6 @@ import { AccountBillingClient } from "../clients/account-billing.client"; @Component({ templateUrl: "subscription.component.html", standalone: false, - providers: [AccountBillingClient], }) export class SubscriptionComponent implements OnInit { showSubscriptionPageLink$: Observable; diff --git a/apps/web/src/app/billing/individual/subscription/adjust-account-subscription-storage-dialog.component.ts b/apps/web/src/app/billing/individual/subscription/adjust-account-subscription-storage-dialog.component.ts index da026807e3b..0ab6fc86cd4 100644 --- a/apps/web/src/app/billing/individual/subscription/adjust-account-subscription-storage-dialog.component.ts +++ b/apps/web/src/app/billing/individual/subscription/adjust-account-subscription-storage-dialog.component.ts @@ -41,7 +41,6 @@ type AdjustAccountSubscriptionStorageDialogResult = "closed" | "submitted"; @Component({ templateUrl: "./adjust-account-subscription-storage-dialog.component.html", changeDetection: ChangeDetectionStrategy.OnPush, - providers: [AccountBillingClient], imports: [ AsyncActionsModule, ButtonModule, diff --git a/apps/web/src/app/billing/individual/subscription/cloud-hosted-account-subscription.component.ts b/apps/web/src/app/billing/individual/subscription/cloud-hosted-account-subscription.component.ts index 7cf2d631b81..ccba24f7258 100644 --- a/apps/web/src/app/billing/individual/subscription/cloud-hosted-account-subscription.component.ts +++ b/apps/web/src/app/billing/individual/subscription/cloud-hosted-account-subscription.component.ts @@ -60,7 +60,6 @@ import { SubscriptionCardComponent, TypographyModule, ], - providers: [AccountBillingClient], }) export class CloudHostedAccountSubscriptionComponent { private readonly accountService = inject(AccountService); diff --git a/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-dialog/premium-org-upgrade-dialog.component.ts b/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-dialog/premium-org-upgrade-dialog.component.ts index a36ac6b22c3..1f18b372ab4 100644 --- a/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-dialog/premium-org-upgrade-dialog.component.ts +++ b/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-dialog/premium-org-upgrade-dialog.component.ts @@ -28,14 +28,12 @@ import { DialogService, } from "@bitwarden/components"; -import { AccountBillingClient, PreviewInvoiceClient } from "../../../clients"; import { BillingServicesModule } from "../../../services"; import { PremiumOrgUpgradePaymentComponent, PremiumOrgUpgradePaymentResult, } from "../premium-org-upgrade-payment/premium-org-upgrade-payment.component"; import { PremiumOrgUpgradePlanSelectionComponent } from "../premium-org-upgrade-plan-selection/premium-org-upgrade-plan-selection.component"; -import { UpgradePaymentService } from "../upgrade-payment/services/upgrade-payment.service"; export const PremiumOrgUpgradeDialogStatus = { Closed: "closed", @@ -84,7 +82,6 @@ export type PremiumOrgUpgradeDialogParams = { PremiumOrgUpgradePlanSelectionComponent, PremiumOrgUpgradePaymentComponent, ], - providers: [UpgradePaymentService, AccountBillingClient, PreviewInvoiceClient], templateUrl: "./premium-org-upgrade-dialog.component.html", }) export class PremiumOrgUpgradeDialogComponent implements OnInit { diff --git a/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/premium-org-upgrade-payment.component.ts b/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/premium-org-upgrade-payment.component.ts index d45a8b2eb8d..881bc7e4889 100644 --- a/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/premium-org-upgrade-payment.component.ts +++ b/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/premium-org-upgrade-payment.component.ts @@ -83,7 +83,6 @@ export type PremiumOrgUpgradePaymentResult = { EnterBillingAddressComponent, DisplayPaymentMethodInlineComponent, ], - providers: [PremiumOrgUpgradeService], templateUrl: "./premium-org-upgrade-payment.component.html", }) export class PremiumOrgUpgradePaymentComponent implements OnInit, AfterViewInit { diff --git a/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/services/premium-org-upgrade.service.ts b/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/services/premium-org-upgrade.service.ts index ed394b56823..c1b0f44c486 100644 --- a/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/services/premium-org-upgrade.service.ts +++ b/apps/web/src/app/billing/individual/upgrade/premium-org-upgrade-payment/services/premium-org-upgrade.service.ts @@ -46,7 +46,7 @@ export interface InvoicePreview { newPlanProratedAmount?: number; } -@Injectable() +@Injectable({ providedIn: "root" }) export class PremiumOrgUpgradeService { constructor( private accountBillingClient: AccountBillingClient, diff --git a/apps/web/src/app/billing/individual/upgrade/unified-upgrade-dialog/unified-upgrade-dialog.component.ts b/apps/web/src/app/billing/individual/upgrade/unified-upgrade-dialog/unified-upgrade-dialog.component.ts index 62fcbacee7a..796af86e7e0 100644 --- a/apps/web/src/app/billing/individual/upgrade/unified-upgrade-dialog/unified-upgrade-dialog.component.ts +++ b/apps/web/src/app/billing/individual/upgrade/unified-upgrade-dialog/unified-upgrade-dialog.component.ts @@ -15,10 +15,8 @@ import { DialogService, } from "@bitwarden/components"; -import { AccountBillingClient, PreviewInvoiceClient } from "../../../clients"; import { BillingServicesModule } from "../../../services"; import { UpgradeAccountComponent } from "../upgrade-account/upgrade-account.component"; -import { UpgradePaymentService } from "../upgrade-payment/services/upgrade-payment.service"; import { UpgradePaymentComponent, UpgradePaymentResult, @@ -74,7 +72,6 @@ export type UnifiedUpgradeDialogParams = { UpgradePaymentComponent, BillingServicesModule, ], - providers: [UpgradePaymentService, AccountBillingClient, PreviewInvoiceClient], templateUrl: "./unified-upgrade-dialog.component.html", }) export class UnifiedUpgradeDialogComponent implements OnInit { diff --git a/apps/web/src/app/billing/individual/upgrade/upgrade-payment/services/upgrade-payment.service.ts b/apps/web/src/app/billing/individual/upgrade/upgrade-payment/services/upgrade-payment.service.ts index 06c28123848..138cf4bd316 100644 --- a/apps/web/src/app/billing/individual/upgrade/upgrade-payment/services/upgrade-payment.service.ts +++ b/apps/web/src/app/billing/individual/upgrade/upgrade-payment/services/upgrade-payment.service.ts @@ -53,7 +53,7 @@ export type PaymentFormValues = { /** * Service for handling payment submission and sales tax calculation for upgrade payment component */ -@Injectable() +@Injectable({ providedIn: "root" }) export class UpgradePaymentService { constructor( private organizationBillingService: OrganizationBillingServiceAbstraction, diff --git a/apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts b/apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts index 77ae3b31837..3ea7cf6ba38 100644 --- a/apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts +++ b/apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts @@ -97,7 +97,6 @@ export type UpgradePaymentParams = { EnterBillingAddressComponent, BillingServicesModule, ], - providers: [UpgradePaymentService], templateUrl: "./upgrade-payment.component.html", }) export class UpgradePaymentComponent implements OnInit, AfterViewInit { diff --git a/apps/web/src/app/billing/organizations/change-plan-dialog.component.ts b/apps/web/src/app/billing/organizations/change-plan-dialog.component.ts index 0a22ef5ddac..6dd919a4c53 100644 --- a/apps/web/src/app/billing/organizations/change-plan-dialog.component.ts +++ b/apps/web/src/app/billing/organizations/change-plan-dialog.component.ts @@ -117,7 +117,6 @@ interface OnSuccessArgs { EnterBillingAddressComponent, CardComponent, ], - providers: [SubscriberBillingClient, PreviewInvoiceClient], }) export class ChangePlanDialogComponent implements OnInit, OnDestroy { // FIXME(https://bitwarden.atlassian.net/browse/CL-903): Migrate to Signals diff --git a/apps/web/src/app/billing/organizations/organization-plans.component.ts b/apps/web/src/app/billing/organizations/organization-plans.component.ts index 434f45f6b27..d310aa0cbc9 100644 --- a/apps/web/src/app/billing/organizations/organization-plans.component.ts +++ b/apps/web/src/app/billing/organizations/organization-plans.component.ts @@ -51,7 +51,6 @@ import { IconComponent, ToastService } from "@bitwarden/components"; import { KeyService } from "@bitwarden/key-management"; import { Cart, CartSummaryComponent, DiscountTypes } from "@bitwarden/pricing"; import { - AccountBillingClient, OrganizationSubscriptionPlan, OrganizationSubscriptionPurchase, PreviewInvoiceClient, @@ -96,12 +95,6 @@ const Allowed2020PlansForLegacyProviders = [ IconComponent, CartSummaryComponent, ], - providers: [ - AccountBillingClient, - SubscriberBillingClient, - PreviewInvoiceClient, - PremiumOrgUpgradeService, - ], }) export class OrganizationPlansComponent implements OnInit, OnDestroy { // ViewChildren diff --git a/apps/web/src/app/billing/organizations/warnings/organization-warnings.module.ts b/apps/web/src/app/billing/organizations/warnings/organization-warnings.module.ts deleted file mode 100644 index 6defee7e78b..00000000000 --- a/apps/web/src/app/billing/organizations/warnings/organization-warnings.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { NgModule } from "@angular/core"; - -import { - OrganizationBillingClient, - SubscriberBillingClient, -} from "@bitwarden/web-vault/app/billing/clients"; -import { OrganizationWarningsService } from "@bitwarden/web-vault/app/billing/organizations/warnings/services"; - -@NgModule({ - providers: [OrganizationBillingClient, OrganizationWarningsService, SubscriberBillingClient], -}) -export class OrganizationWarningsModule {} diff --git a/apps/web/src/app/billing/organizations/warnings/services/organization-warnings.service.ts b/apps/web/src/app/billing/organizations/warnings/services/organization-warnings.service.ts index a34533bcada..7838cf3591e 100644 --- a/apps/web/src/app/billing/organizations/warnings/services/organization-warnings.service.ts +++ b/apps/web/src/app/billing/organizations/warnings/services/organization-warnings.service.ts @@ -42,7 +42,7 @@ const format = (date: Date) => year: "numeric", }); -@Injectable() +@Injectable({ providedIn: "root" }) export class OrganizationWarningsService { private cache$ = new Map>(); diff --git a/apps/web/src/app/billing/payment/components/add-account-credit-dialog.component.ts b/apps/web/src/app/billing/payment/components/add-account-credit-dialog.component.ts index 1ba1536ff36..c4357357628 100644 --- a/apps/web/src/app/billing/payment/components/add-account-credit-dialog.component.ts +++ b/apps/web/src/app/billing/payment/components/add-account-credit-dialog.component.ts @@ -127,7 +127,6 @@ const positiveNumberValidator = `, standalone: true, imports: [SharedModule], - providers: [SubscriberBillingClient], }) export class AddAccountCreditDialogComponent { // FIXME(https://bitwarden.atlassian.net/browse/CL-903): Migrate to Signals diff --git a/apps/web/src/app/billing/payment/components/change-payment-method-dialog.component.ts b/apps/web/src/app/billing/payment/components/change-payment-method-dialog.component.ts index 756f7281049..d8e8c450cf8 100644 --- a/apps/web/src/app/billing/payment/components/change-payment-method-dialog.component.ts +++ b/apps/web/src/app/billing/payment/components/change-payment-method-dialog.component.ts @@ -53,7 +53,6 @@ type DialogParams = { `, standalone: true, imports: [EnterPaymentMethodComponent, SharedModule], - providers: [SubscriberBillingClient], }) export class ChangePaymentMethodDialogComponent extends SubmitPaymentMethodDialogComponent { protected override subscriber: BitwardenSubscriber; diff --git a/apps/web/src/app/billing/payment/components/display-account-credit.component.ts b/apps/web/src/app/billing/payment/components/display-account-credit.component.ts index b4684f0d739..e851c756f03 100644 --- a/apps/web/src/app/billing/payment/components/display-account-credit.component.ts +++ b/apps/web/src/app/billing/payment/components/display-account-credit.component.ts @@ -1,4 +1,3 @@ -import { CurrencyPipe } from "@angular/common"; import { Component, Input } from "@angular/core"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -16,7 +15,7 @@ import { AddAccountCreditDialogComponent } from "./add-account-credit-dialog.com selector: "app-display-account-credit", template: ` -

{{ "accountCredit" | i18n }}: {{ formattedCredit }}

+

{{ "accountCredit" | i18n }}: {{ credit ?? 0 | currency: "$" }}

{{ "availableCreditAppliedToInvoice" | i18n }}