mirror of
https://github.com/bitwarden/browser
synced 2026-01-08 19:43:45 +00:00
* feat(billing): add provided as a required property to premium response * fix(billing): replace hard coded storage variables with retrieved plan * tests(billing): add tests to pricing-summary service * feat(billing): add optional property. * fix(billing): update storage logic * fix(billing): remove optional check * fix(billing): remove optionality * fix(billing): remove optionality * fix(billing): refactored storage calculation logic * feat(billing): add provided amounts to subscription-pricing-service * fix(billing): update cloud premium component * fix(billing): update desktop premium component * fix(billing): update org plans component * fix(billing) update stories and tests * fix(billing): update messages * fix(billing): replace storage sizes * fix(billing): update messages * fix(billing): update components * fix(billing): update components for pricing and storage retrieval * fix(billing): revert self-hosted change
90 lines
3.4 KiB
HTML
90 lines
3.4 KiB
HTML
<div class="modal fade" role="dialog" aria-modal="true" aria-labelledby="premiumTitle">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-body">
|
|
<div class="box">
|
|
<h1 class="box-header" id="premiumTitle">
|
|
{{ "premiumMembership" | i18n }}
|
|
</h1>
|
|
<div class="box-content box-content-padded">
|
|
<div *ngIf="!(isPremium$ | async)">
|
|
<p class="text-center lead">{{ "premiumNotCurrentMember" | i18n }}</p>
|
|
<p>{{ "premiumSignUpAndGet" | i18n }}</p>
|
|
<ul class="bwi-ul">
|
|
<li>
|
|
<i class="bwi bwi-li bwi-check text-success" aria-hidden="true"></i>
|
|
{{ "premiumSignUpStorageV2" | i18n: `${storageProvidedGb} GB` }}
|
|
</li>
|
|
<li>
|
|
<i class="bwi bwi-li bwi-check text-success" aria-hidden="true"></i>
|
|
{{ "premiumSignUpTwoStepOptions" | i18n }}
|
|
</li>
|
|
<li>
|
|
<i class="bwi bwi-li bwi-check text-success" aria-hidden="true"></i>
|
|
{{ "premiumSignUpReports" | i18n }}
|
|
</li>
|
|
<li>
|
|
<i class="bwi bwi-li bwi-check text-success" aria-hidden="true"></i>
|
|
{{ "premiumSignUpTotp" | i18n }}
|
|
</li>
|
|
<li>
|
|
<i class="bwi bwi-li bwi-check text-success" aria-hidden="true"></i>
|
|
{{ "premiumSignUpSupport" | i18n }}
|
|
</li>
|
|
<li>
|
|
<i class="bwi bwi-li bwi-check text-success" aria-hidden="true"></i>
|
|
{{ "premiumSignUpFuture" | i18n }}
|
|
</li>
|
|
</ul>
|
|
<p class="text-center lead no-margin">
|
|
{{ "premiumPrice" | i18n: (price | currency: "$") }}
|
|
</p>
|
|
</div>
|
|
<div *ngIf="isPremium$ | async">
|
|
<p class="text-center lead">{{ "premiumCurrentMember" | i18n }}</p>
|
|
<p class="text-center">{{ "premiumCurrentMemberThanks" | i18n }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="primary" (click)="manage()" *ngIf="isPremium$ | async">
|
|
<b>{{ "premiumManage" | i18n }}</b>
|
|
</button>
|
|
<button
|
|
#purchaseBtn
|
|
type="button"
|
|
class="primary"
|
|
(click)="purchase()"
|
|
*ngIf="!(isPremium$ | async)"
|
|
[disabled]="$any(purchaseBtn).loading"
|
|
>
|
|
<b>{{ "premiumPurchase" | i18n }}</b>
|
|
</button>
|
|
<button type="button" bitDialogClose>{{ "close" | i18n }}</button>
|
|
<div class="right" *ngIf="!(isPremium$ | async)">
|
|
<button
|
|
#refreshBtn
|
|
type="button"
|
|
(click)="refresh()"
|
|
[disabled]="$any(refreshBtn).loading"
|
|
appA11yTitle="{{ 'premiumRefresh' | i18n }}"
|
|
[appApiAction]="refreshPromise"
|
|
>
|
|
<i
|
|
class="bwi bwi-refresh bwi-lg bwi-fw"
|
|
[hidden]="$any(refreshBtn).loading"
|
|
aria-hidden="true"
|
|
></i>
|
|
<i
|
|
class="bwi bwi-spinner bwi-spin bwi-lg bwi-fw"
|
|
[hidden]="!$any(refreshBtn).loading"
|
|
aria-hidden="true"
|
|
></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|