1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-06-29 11:05:54 +02:00

PM-2593 Update Premium Urls to target cloudWebVaultUrl (#5861)

* updated urls in premium web component and premium libs to use the cloudwebvaulturl
* moved premium.component in web from base settings to a new settings folder inside vault
This commit is contained in:
Jason Ng 2023-08-09 14:10:01 -04:00 committed by GitHub
parent a7cce1a3ad
commit 96c6b870cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 43 additions and 14 deletions

View File

@ -4,6 +4,7 @@ import { Component } from "@angular/core";
import { DialogServiceAbstraction } from "@bitwarden/angular/services/dialog"; import { DialogServiceAbstraction } from "@bitwarden/angular/services/dialog";
import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/vault/components/premium.component"; import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/vault/components/premium.component";
import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
@ -24,9 +25,18 @@ export class PremiumComponent extends BasePremiumComponent {
logService: LogService, logService: LogService,
private location: Location, private location: Location,
private currencyPipe: CurrencyPipe, private currencyPipe: CurrencyPipe,
dialogService: DialogServiceAbstraction dialogService: DialogServiceAbstraction,
environmentService: EnvironmentService
) { ) {
super(i18nService, platformUtilsService, apiService, logService, stateService, dialogService); super(
i18nService,
platformUtilsService,
apiService,
logService,
stateService,
dialogService,
environmentService
);
// Support old price string. Can be removed in future once all translations are properly updated. // Support old price string. Can be removed in future once all translations are properly updated.
const thePrice = this.currencyPipe.transform(this.price, "$"); const thePrice = this.currencyPipe.transform(this.price, "$");

View File

@ -3,6 +3,7 @@ import { Component } from "@angular/core";
import { DialogServiceAbstraction } from "@bitwarden/angular/services/dialog"; import { DialogServiceAbstraction } from "@bitwarden/angular/services/dialog";
import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/vault/components/premium.component"; import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/vault/components/premium.component";
import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
@ -19,8 +20,17 @@ export class PremiumComponent extends BasePremiumComponent {
apiService: ApiService, apiService: ApiService,
logService: LogService, logService: LogService,
stateService: StateService, stateService: StateService,
dialogService: DialogServiceAbstraction dialogService: DialogServiceAbstraction,
environmentService: EnvironmentService
) { ) {
super(i18nService, platformUtilsService, apiService, logService, stateService, dialogService); super(
i18nService,
platformUtilsService,
apiService,
logService,
stateService,
dialogService,
environmentService
);
} }
} }

View File

@ -4,7 +4,7 @@ import { RouterModule, Routes } from "@angular/router";
import { BillingHistoryViewComponent } from "../../billing/settings/billing-history-view.component"; import { BillingHistoryViewComponent } from "../../billing/settings/billing-history-view.component";
import { PaymentMethodComponent } from "../../billing/settings/payment-method.component"; import { PaymentMethodComponent } from "../../billing/settings/payment-method.component";
import { UserSubscriptionComponent } from "../../billing/settings/user-subscription.component"; import { UserSubscriptionComponent } from "../../billing/settings/user-subscription.component";
import { PremiumComponent } from "../../settings/premium.component"; import { PremiumComponent } from "../../vault/settings/premium.component";
import { SubscriptionComponent } from "./subscription.component"; import { SubscriptionComponent } from "./subscription.component";

View File

@ -81,7 +81,6 @@ import { DeleteAccountComponent } from "../settings/delete-account.component";
import { DomainRulesComponent } from "../settings/domain-rules.component"; import { DomainRulesComponent } from "../settings/domain-rules.component";
import { LowKdfComponent } from "../settings/low-kdf.component"; import { LowKdfComponent } from "../settings/low-kdf.component";
import { PreferencesComponent } from "../settings/preferences.component"; import { PreferencesComponent } from "../settings/preferences.component";
import { PremiumComponent } from "../settings/premium.component";
import { ProfileComponent } from "../settings/profile.component"; import { ProfileComponent } from "../settings/profile.component";
import { PurgeVaultComponent } from "../settings/purge-vault.component"; import { PurgeVaultComponent } from "../settings/purge-vault.component";
import { SecurityKeysComponent } from "../settings/security-keys.component"; import { SecurityKeysComponent } from "../settings/security-keys.component";
@ -107,6 +106,7 @@ import { ShareComponent } from "../vault/individual-vault/share.component";
import { AddEditComponent as OrgAddEditComponent } from "../vault/org-vault/add-edit.component"; import { AddEditComponent as OrgAddEditComponent } from "../vault/org-vault/add-edit.component";
import { AttachmentsComponent as OrgAttachmentsComponent } from "../vault/org-vault/attachments.component"; import { AttachmentsComponent as OrgAttachmentsComponent } from "../vault/org-vault/attachments.component";
import { CollectionsComponent as OrgCollectionsComponent } from "../vault/org-vault/collections.component"; import { CollectionsComponent as OrgCollectionsComponent } from "../vault/org-vault/collections.component";
import { PremiumComponent } from "../vault/settings/premium.component";
import { EnvironmentSelectorModule } from "./../components/environment-selector/environment-selector.module"; import { EnvironmentSelectorModule } from "./../components/environment-selector/environment-selector.module";
import { AccountFingerprintComponent } from "./components/account-fingerprint/account-fingerprint.component"; import { AccountFingerprintComponent } from "./components/account-fingerprint/account-fingerprint.component";

View File

@ -54,7 +54,7 @@
</p> </p>
<a <a
bitButton bitButton
href="https://vault.bitwarden.com/#/settings/premium" href="{{ this.cloudWebVaultUrl }}/#/settings/premium"
target="_blank" target="_blank"
rel="noopener" rel="noopener"
buttonType="secondary" buttonType="secondary"

View File

@ -3,6 +3,7 @@ import { Router } from "@angular/router";
import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { TokenService } from "@bitwarden/common/auth/abstractions/token.service"; import { TokenService } from "@bitwarden/common/auth/abstractions/token.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service"; import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
@ -10,8 +11,8 @@ import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/pl
import { StateService } from "@bitwarden/common/platform/abstractions/state.service"; import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction";
import { PaymentComponent } from "../billing/settings/payment.component"; import { PaymentComponent } from "../../billing/settings/payment.component";
import { TaxInfoComponent } from "../billing/settings/tax-info.component"; import { TaxInfoComponent } from "../../billing/settings/tax-info.component";
@Component({ @Component({
selector: "app-premium", selector: "app-premium",
@ -27,6 +28,7 @@ export class PremiumComponent implements OnInit {
familyPlanMaxUserCount = 6; familyPlanMaxUserCount = 6;
storageGbPrice = 4; storageGbPrice = 4;
additionalStorage = 0; additionalStorage = 0;
cloudWebVaultUrl: string;
formPromise: Promise<any>; formPromise: Promise<any>;
@ -39,9 +41,11 @@ export class PremiumComponent implements OnInit {
private messagingService: MessagingService, private messagingService: MessagingService,
private syncService: SyncService, private syncService: SyncService,
private logService: LogService, private logService: LogService,
private stateService: StateService private stateService: StateService,
private environmentService: EnvironmentService
) { ) {
this.selfHosted = platformUtilsService.isSelfHost(); this.selfHosted = platformUtilsService.isSelfHost();
this.cloudWebVaultUrl = this.environmentService.getCloudWebVaultUrl();
} }
async ngOnInit() { async ngOnInit() {

View File

@ -1,6 +1,7 @@
import { Directive, OnInit } from "@angular/core"; import { Directive, OnInit } from "@angular/core";
import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
@ -13,6 +14,7 @@ export class PremiumComponent implements OnInit {
isPremium = false; isPremium = false;
price = 10; price = 10;
refreshPromise: Promise<any>; refreshPromise: Promise<any>;
cloudWebVaultUrl: string;
constructor( constructor(
protected i18nService: I18nService, protected i18nService: I18nService,
@ -20,8 +22,11 @@ export class PremiumComponent implements OnInit {
protected apiService: ApiService, protected apiService: ApiService,
private logService: LogService, private logService: LogService,
protected stateService: StateService, protected stateService: StateService,
protected dialogService: DialogServiceAbstraction protected dialogService: DialogServiceAbstraction,
) {} private environmentService: EnvironmentService
) {
this.cloudWebVaultUrl = this.environmentService.getCloudWebVaultUrl();
}
async ngOnInit() { async ngOnInit() {
this.isPremium = await this.stateService.getCanAccessPremium(); this.isPremium = await this.stateService.getCanAccessPremium();
@ -46,7 +51,7 @@ export class PremiumComponent implements OnInit {
}); });
if (confirmed) { if (confirmed) {
this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"); this.platformUtilsService.launchUri(`${this.cloudWebVaultUrl}/#/?premium=purchase`);
} }
} }
@ -58,7 +63,7 @@ export class PremiumComponent implements OnInit {
}); });
if (confirmed) { if (confirmed) {
this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=manage"); this.platformUtilsService.launchUri(`${this.cloudWebVaultUrl}/#/?premium=manage`);
} }
} }
} }