2022-05-09 14:21:52 +02:00
|
|
|
<div *ngIf="selfHosted" class="page-header">
|
|
|
|
<h1>{{ "subscription" | i18n }}</h1>
|
|
|
|
</div>
|
|
|
|
<div *ngIf="!selfHosted" class="tabbed-header">
|
2021-12-17 15:57:11 +01:00
|
|
|
<h1>{{ "goPremium" | i18n }}</h1>
|
2018-07-03 15:27:59 +02:00
|
|
|
</div>
|
2022-05-09 14:21:52 +02:00
|
|
|
<bit-callout
|
2021-12-17 15:57:11 +01:00
|
|
|
type="info"
|
|
|
|
*ngIf="canAccessPremium"
|
|
|
|
title="{{ 'youHavePremiumAccess' | i18n }}"
|
2022-01-27 18:25:58 +01:00
|
|
|
icon="bwi bwi-star-f"
|
2021-12-17 15:57:11 +01:00
|
|
|
>
|
|
|
|
{{ "alreadyPremiumFromOrg" | i18n }}
|
2022-05-09 14:21:52 +02:00
|
|
|
</bit-callout>
|
|
|
|
<bit-callout type="success">
|
2021-12-17 15:57:11 +01:00
|
|
|
<p>{{ "premiumUpgradeUnlockFeatures" | i18n }}</p>
|
2022-01-27 18:25:58 +01:00
|
|
|
<ul class="bwi-ul">
|
2021-12-17 15:57:11 +01:00
|
|
|
<li>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-check text-success bwi-li" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "premiumSignUpStorage" | i18n }}
|
|
|
|
</li>
|
|
|
|
<li>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-check text-success bwi-li" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "premiumSignUpTwoStep" | i18n }}
|
|
|
|
</li>
|
|
|
|
<li>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-check text-success bwi-li" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "premiumSignUpEmergency" | i18n }}
|
|
|
|
</li>
|
|
|
|
<li>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-check text-success bwi-li" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "premiumSignUpReports" | i18n }}
|
|
|
|
</li>
|
|
|
|
<li>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-check text-success bwi-li" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "premiumSignUpTotp" | i18n }}
|
|
|
|
</li>
|
|
|
|
<li>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-check text-success bwi-li" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "premiumSignUpSupport" | i18n }}
|
|
|
|
</li>
|
|
|
|
<li>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-check text-success bwi-li" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "premiumSignUpFuture" | i18n }}
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<p class="text-lg" [ngClass]="{ 'mb-0': !selfHosted }">
|
|
|
|
{{ "premiumPrice" | i18n: (premiumPrice | currency: "$") }}
|
|
|
|
</p>
|
|
|
|
<a
|
2022-06-02 11:34:27 +02:00
|
|
|
bitButton
|
2021-12-17 15:57:11 +01:00
|
|
|
href="https://vault.bitwarden.com/#/settings/premium"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener"
|
2022-05-09 14:21:52 +02:00
|
|
|
buttonType="secondary"
|
2021-12-17 15:57:11 +01:00
|
|
|
*ngIf="selfHosted"
|
|
|
|
>
|
|
|
|
{{ "purchasePremium" | i18n }}
|
|
|
|
</a>
|
2022-05-09 14:21:52 +02:00
|
|
|
</bit-callout>
|
2018-07-02 16:30:51 +02:00
|
|
|
<ng-container *ngIf="selfHosted">
|
2021-12-17 15:57:11 +01:00
|
|
|
<p>{{ "uploadLicenseFilePremium" | i18n }}</p>
|
|
|
|
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise" ngNativeValidate>
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="file">{{ "licenseFile" | i18n }}</label>
|
|
|
|
<input type="file" id="file" class="form-control-file" name="file" required />
|
|
|
|
<small class="form-text text-muted">{{
|
|
|
|
"licenseFileDesc" | i18n: "bitwarden_premium_license.json"
|
|
|
|
}}</small>
|
|
|
|
</div>
|
2022-09-27 11:25:53 +02:00
|
|
|
<button type="submit" buttonType="primary" bitButton [loading]="form.loading">
|
2022-06-29 16:27:42 +02:00
|
|
|
{{ "submit" | i18n }}
|
2022-09-27 11:25:53 +02:00
|
|
|
</button>
|
2021-12-17 15:57:11 +01:00
|
|
|
</form>
|
2018-07-02 16:30:51 +02:00
|
|
|
</ng-container>
|
|
|
|
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise" ngNativeValidate *ngIf="!selfHosted">
|
2021-12-17 15:57:11 +01:00
|
|
|
<h2 class="mt-5">{{ "addons" | i18n }}</h2>
|
|
|
|
<div class="row">
|
|
|
|
<div class="form-group col-6">
|
|
|
|
<label for="additionalStorage">{{ "additionalStorageGb" | i18n }}</label>
|
|
|
|
<input
|
|
|
|
id="additionalStorage"
|
|
|
|
class="form-control"
|
|
|
|
type="number"
|
|
|
|
name="AdditionalStorageGb"
|
|
|
|
[(ngModel)]="additionalStorage"
|
|
|
|
min="0"
|
|
|
|
max="99"
|
|
|
|
step="1"
|
|
|
|
placeholder="{{ 'additionalStorageGbDesc' | i18n }}"
|
|
|
|
/>
|
|
|
|
<small class="text-muted form-text">{{
|
|
|
|
"additionalStorageIntervalDesc"
|
|
|
|
| i18n: "1 GB":(storageGbPrice | currency: "$"):("year" | i18n)
|
|
|
|
}}</small>
|
2018-06-28 23:17:14 +02:00
|
|
|
</div>
|
2021-12-17 15:57:11 +01:00
|
|
|
</div>
|
|
|
|
<h2 class="spaced-header">{{ "summary" | i18n }}</h2>
|
|
|
|
{{ "premiumMembership" | i18n }}: {{ premiumPrice | currency: "$" }} <br />
|
|
|
|
{{ "additionalStorageGb" | i18n }}: {{ additionalStorage || 0 }} GB ×
|
|
|
|
{{ storageGbPrice | currency: "$" }} =
|
|
|
|
{{ additionalStorageTotal | currency: "$" }}
|
|
|
|
<hr class="my-3" />
|
|
|
|
<h2 class="spaced-header mb-4">{{ "paymentInformation" | i18n }}</h2>
|
|
|
|
<app-payment [hideBank]="true"></app-payment>
|
|
|
|
<app-tax-info></app-tax-info>
|
|
|
|
<div id="price" class="my-4">
|
|
|
|
<div class="text-muted text-sm">
|
|
|
|
{{ "planPrice" | i18n }}: {{ subtotal | currency: "USD $" }}
|
|
|
|
<br />
|
|
|
|
<ng-container>
|
|
|
|
{{ "estimatedTax" | i18n }}: {{ taxCharges | currency: "USD $" }}
|
|
|
|
</ng-container>
|
2021-01-14 23:53:46 +01:00
|
|
|
</div>
|
2021-12-17 15:57:11 +01:00
|
|
|
<hr class="my-1 col-3 ml-0" />
|
|
|
|
<p class="text-lg">
|
|
|
|
<strong>{{ "total" | i18n }}:</strong> {{ total | currency: "USD $" }}/{{ "year" | i18n }}
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<small class="text-muted font-italic">{{ "paymentChargedAnnually" | i18n }}</small>
|
2022-09-27 11:25:53 +02:00
|
|
|
<button type="submit" bitButton [loading]="form.loading">
|
2022-06-29 16:27:42 +02:00
|
|
|
{{ "submit" | i18n }}
|
2022-09-27 11:25:53 +02:00
|
|
|
</button>
|
2018-06-28 23:17:14 +02:00
|
|
|
</form>
|