mirror of https://github.com/Squidex/squidex.git
1 changed files with 61 additions and 69 deletions
@ -1,86 +1,78 @@ |
|||||
<sqx-title message="{app} | Plans | Settings" parameter1="app" [value1]="appsState.appName"></sqx-title> |
<sqx-title message="{app} | Plans | Settings" parameter1="app" [value1]="appsState.appName"></sqx-title> |
||||
|
|
||||
<sqx-panel desiredWidth="61rem"> |
<sqx-panel desiredWidth="61rem"> |
||||
<div class="panel-header"> |
<ng-container title> |
||||
<div class="panel-title-row"> |
Update Plan |
||||
<div class="float-right"> |
</ng-container> |
||||
<button class="btn btn-link btn-secondary" (click)="load(true)" title="Refresh Plans (CTRL + SHIFT + R)"> |
|
||||
<i class="icon-reset"></i> Refresh |
|
||||
</button> |
|
||||
|
|
||||
<sqx-shortcut keys="ctrl+shift+r" (trigger)="load(true)"></sqx-shortcut> |
<ng-container menu> |
||||
</div> |
<button class="btn btn-link btn-secondary" (click)="load(true)" title="Refresh Plans (CTRL + SHIFT + R)"> |
||||
|
<i class="icon-reset"></i> Refresh |
||||
<h3 class="panel-title">Update Plan</h3> |
</button> |
||||
</div> |
|
||||
|
|
||||
<a class="panel-close" sqxParentLink> |
<sqx-shortcut keys="ctrl+shift+r" (trigger)="load(true)"></sqx-shortcut> |
||||
<i class="icon-close"></i> |
</ng-container> |
||||
</a> |
|
||||
</div> |
|
||||
|
|
||||
<div class="panel-main"> |
<ng-container content> |
||||
<div class="panel-content"> |
<ng-container *ngIf="plans"> |
||||
<div *ngIf="plans"> |
<div class="panel-alert panel-alert-danger" *ngIf="!planOwned"> |
||||
<div class="panel-alert panel-alert-danger" *ngIf="!planOwned"> |
You have not created the subscription. Therefore you cannot change the plan. |
||||
You have not created the subscription. Therefore you cannot change the plan. |
</div> |
||||
</div> |
|
||||
|
|
||||
<div class="text-muted text-center empty" *ngIf="plans.plans.length === 0"> |
<div class="text-muted text-center empty" *ngIf="plans.plans.length === 0"> |
||||
No plan configured, this app has unlimited usage. |
No plan configured, this app has unlimited usage. |
||||
</div> |
</div> |
||||
|
|
||||
<div class="clearfix"> |
<div class="clearfix"> |
||||
<div class="card plan float-left" *ngFor="let plan of plans.plans"> |
<div class="card plan float-left" *ngFor="let plan of plans.plans"> |
||||
<div class="card-header text-center"> |
<div class="card-header text-center"> |
||||
<h4 class="card-title">{{plan.name}}</h4> |
<h4 class="card-title">{{plan.name}}</h4> |
||||
<h5 class="plan-price">{{plan.costs}}</h5> |
<h5 class="plan-price">{{plan.costs}}</h5> |
||||
|
|
||||
<small class="text-muted">Per Month</small> |
<small class="text-muted">Per Month</small> |
||||
</div> |
</div> |
||||
<div class="card-body"> |
<div class="card-body"> |
||||
<div class="plan-fact text-center"> |
<div class="plan-fact text-center"> |
||||
<div> |
<div> |
||||
<strong>{{plan.maxApiCalls | sqxKNumber}}</strong> API Calls |
<strong>{{plan.maxApiCalls | sqxKNumber}}</strong> API Calls |
||||
</div> |
</div> |
||||
<div> |
<div> |
||||
{{plan.maxAssetSize | sqxFileSize}} Storage |
{{plan.maxAssetSize | sqxFileSize}} Storage |
||||
</div> |
</div> |
||||
<div> |
<div> |
||||
{{plan.maxContributors}} Contributors |
{{plan.maxContributors}} Contributors |
||||
</div> |
|
||||
</div> |
</div> |
||||
|
|
||||
<button *ngIf="plan.id === plans.currentPlanId" class="btn btn-block btn-link btn-success plan-selected"> |
|
||||
✓ Selected |
|
||||
</button> |
|
||||
|
|
||||
<button *ngIf="plan.id !== plans.currentPlanId" class="btn btn-block btn-success" [disabled]="isDisabled || !planOwned" (click)="changePlan(plan.id)"> |
|
||||
Change |
|
||||
</button> |
|
||||
</div> |
</div> |
||||
<div class="card-footer" *ngIf="plan.yearlyId"> |
|
||||
<div class="text-center"> |
|
||||
<h5 class="plan-price">{{plan.yearlyCosts}}</h5> |
|
||||
|
|
||||
<small class="text-muted">Per Year</small> |
<button *ngIf="plan.id === plans.currentPlanId" class="btn btn-block btn-link btn-success plan-selected"> |
||||
</div> |
✓ Selected |
||||
|
</button> |
||||
|
|
||||
<button *ngIf="plan.yearlyId === plans.currentPlanId" class="btn btn-block btn-link btn-success plan-selected"> |
<button *ngIf="plan.id !== plans.currentPlanId" class="btn btn-block btn-success" [disabled]="isDisabled || !planOwned" (click)="changePlan(plan.id)"> |
||||
✓ Selected |
Change |
||||
</button> |
</button> |
||||
|
</div> |
||||
|
<div class="card-footer" *ngIf="plan.yearlyId"> |
||||
|
<div class="text-center"> |
||||
|
<h5 class="plan-price">{{plan.yearlyCosts}}</h5> |
||||
|
|
||||
<button *ngIf="plan.yearlyId !== plans.currentPlanId" class="btn btn-block btn-success" [disabled]="isDisabled || !planOwned" (click)="changePlan(plan.yearlyId)"> |
<small class="text-muted">Per Year</small> |
||||
Change |
|
||||
</button> |
|
||||
</div> |
</div> |
||||
|
|
||||
|
<button *ngIf="plan.yearlyId === plans.currentPlanId" class="btn btn-block btn-link btn-success plan-selected"> |
||||
|
✓ Selected |
||||
|
</button> |
||||
|
|
||||
|
<button *ngIf="plan.yearlyId !== plans.currentPlanId" class="btn btn-block btn-success" [disabled]="isDisabled || !planOwned" (click)="changePlan(plan.yearlyId)"> |
||||
|
Change |
||||
|
</button> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
|
</div> |
||||
|
|
||||
<div *ngIf="plans.hasPortal" class="billing-portal-link"> |
<div *ngIf="plans.hasPortal" class="billing-portal-link"> |
||||
Go to <a target="_blank" href="{{portalUrl}}">Billing Portal</a> for payment history and subscription overview. |
Go to <a target="_blank" href="{{portalUrl}}">Billing Portal</a> for payment history and subscription overview. |
||||
</div> |
|
||||
</div> |
</div> |
||||
</div> |
</ng-container> |
||||
</div> |
</ng-container> |
||||
</sqx-panel> |
</sqx-panel> |
||||
Loading…
Reference in new issue