mirror of
https://github.com/bitwarden/browser
synced 2025-12-28 22:23:28 +00:00
* Add seat autoscale component * Move small description under title * tweak autoscale terminology * Linter fixes * Use single component for org subscription updates * Delete unused localization string * Clarify max bill copy * Remove cancel from org subscription adjustment * Update jslib * PR review * update jslib * Simplify success toast
43 lines
2.3 KiB
HTML
43 lines
2.3 KiB
HTML
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise" ngNativeValidate>
|
|
<div>
|
|
<div class="row">
|
|
<div class="form-group col-6">
|
|
<label for="newSeatCount">{{'subscriptionSeats' | i18n}}</label>
|
|
<input id="newSeatCount" class="form-control" type="number" name="NewSeatCount"
|
|
[(ngModel)]="newSeatCount" min="0" step="1" required>
|
|
<small class="d-block text-muted mb-4">
|
|
<strong>{{'total' | i18n}}:</strong> {{newSeatCount || 0}} × {{seatPrice | currency:'$'}} =
|
|
{{adjustedSeatTotal | currency:'$'}} / {{interval | i18n}}
|
|
</small>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-4">
|
|
<div class="form-group col-sm">
|
|
<div class="form-check">
|
|
<input id="limitSubscription" class="form-check-input" type="checkbox" name="LimitSubscription"
|
|
[(ngModel)]="limitSubscription" (change)="limitSubscriptionChanged()">
|
|
<label for="limitSubscription">{{'limitSubscription' | i18n}}</label>
|
|
</div>
|
|
<small class="d-block text-muted">{{'limitSubscriptionDesc' | i18n}}</small>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-4" [hidden]="!limitSubscription">
|
|
<div class="form-group col-sm">
|
|
<label for="maxAutoscaleSeats">{{'maxSeatLimit' | i18n}}</label>
|
|
<input id="maxAutoscaleSeats" class="form-control col-6" type="number" name="MaxAutoscaleSeats"
|
|
[(ngModel)]="newMaxSeats" [min]="newSeatCount == null ? 1 : newSeatCount" step="1"
|
|
[required]="limitSubscription">
|
|
<small class="d-block text-muted">
|
|
<strong>{{'maxSeatCost' | i18n}}:</strong> {{newMaxSeats || 0}} ×
|
|
{{seatPrice | currency:'$'}} = {{maxSeatTotal | currency:'$'}} / {{interval | i18n}}
|
|
</small>
|
|
</div>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary btn-submit" [disabled]="form.loading">
|
|
<i class="fa fa-spinner fa-spin" title="{{'loading' | i18n}}" aria-hidden="true"></i>
|
|
<span>{{'save' | i18n}}</span>
|
|
</button>
|
|
</div>
|
|
</form>
|
|
<app-payment [showMethods]="false"></app-payment>
|