@@ -33,49 +33,52 @@ <h1 class="mat-h1">
3333 < span class ="mat-h3 "> {{plan.name}} </ span >
3434 < mat-chip disabled *ngIf ="plan.name === 'Team' " class ="plan-badge "> Recommended</ mat-chip >
3535 </ div >
36+ < mat-chip disabled *ngIf ="plan.name === 'Team' " class ="plan-badge plan-badge-mobile "> Popular</ mat-chip >
3637 < div >
3738 < span class ="price "> ${{ plan.price }}</ span > < span class ="per "> /monthly</ span >
3839 </ div >
3940 < span class ="per users ">
4041 < span *ngIf ="plan.price !== 0 "> per each < strong class ="users__value "> 10 users</ strong > </ span >
4142 < span *ngIf ="plan.price === 0 "> up to < strong class ="users__value "> 3 users</ strong > </ span >
4243 </ span >
43- < button mat-flat-button color ="accent " type ="button "
44- *ngIf ="plan.key === currentPlan.key; else activeButton "
45- disabled class ="current ">
46- Current
47- </ button >
48- < ng-template #activeButton >
49- < ng-container *ngIf ="isAdmin ">
50- < button mat-flat-button color ="accent " type ="button "
51- *ngIf ="plan.price > currentPlan.price && hasPaymentMethod "
52- [disabled] ="submitting "
53- (click) ="changePlan(plan.key) ">
54- Upgrade
55- </ button >
56- < button mat-button type ="button "
57- *ngIf ="plan.price < currentPlan.price && hasPaymentMethod "
58- [disabled] ="submitting "
59- (click) ="changePlan(plan.key) ">
60- Downgrade
61- </ button >
62-
63- < a mat-flat-button color ="accent "
64- *ngIf ="plan.price > currentPlan.price && !hasPaymentMethod "
65- [disabled] ="submitting "
66- routerLink ="/upgrade/payment "
67- [queryParams] ="{plan: plan.key} ">
68- Upgrade
69- </ a >
70- < a mat-button
71- *ngIf ="plan.price < currentPlan.price && !hasPaymentMethod "
72- [disabled] ="submitting "
73- routerLink ="/upgrade/payment "
74- [queryParams] ="{plan: plan.key} ">
75- Downgrade
76- </ a >
77- </ ng-container >
78- </ ng-template >
44+ < div class ="plan-header-actions ">
45+ < button mat-flat-button color ="accent " type ="button "
46+ *ngIf ="plan.key === currentPlan.key; else activeButton "
47+ disabled class ="current ">
48+ Current
49+ </ button >
50+ < ng-template #activeButton >
51+ < ng-container *ngIf ="isAdmin ">
52+ < button mat-flat-button color ="accent " type ="button "
53+ *ngIf ="plan.price > currentPlan.price && hasPaymentMethod "
54+ [disabled] ="submitting "
55+ (click) ="changePlan(plan.key) ">
56+ Upgrade
57+ </ button >
58+ < button mat-button type ="button "
59+ *ngIf ="plan.price < currentPlan.price && hasPaymentMethod "
60+ [disabled] ="submitting "
61+ (click) ="changePlan(plan.key) ">
62+ Downgrade
63+ </ button >
64+
65+ < a mat-flat-button color ="accent "
66+ *ngIf ="plan.price > currentPlan.price && !hasPaymentMethod "
67+ [disabled] ="submitting "
68+ routerLink ="/upgrade/payment "
69+ [queryParams] ="{plan: plan.key} ">
70+ Upgrade
71+ </ a >
72+ < a mat-button
73+ *ngIf ="plan.price < currentPlan.price && !hasPaymentMethod "
74+ [disabled] ="submitting "
75+ routerLink ="/upgrade/payment "
76+ [queryParams] ="{plan: plan.key} ">
77+ Downgrade
78+ </ a >
79+ </ ng-container >
80+ </ ng-template >
81+ </ div >
7982 </ div >
8083 </ ng-template >
8184 </ ng-container >
@@ -96,9 +99,12 @@ <h2 class="mat-header-2">Databases</h2>
9699 < ng-container *ngFor ="let plan of plans " [matColumnDef] ="plan.key ">
97100 < td mat-cell *matCellDef ="let element "
98101 [ngClass] ="{'cell_centered': plan.key !== 'title', cell_current: plan.key === currentPlan.key} ">
99- < span *ngIf ="plan.key === 'title' "> {{element[plan.key]}}</ span >
100- < mat-icon *ngIf ="element[plan.key] === '∞' " class ="person-icon " fontSet ="material-symbols-outlined "> all_inclusive</ mat-icon >
101- < span *ngIf ="element[plan.key] !== '∞' && plan.key !== 'title' "> {{element[plan.key]}}< mat-icon class ="person-icon "> person</ mat-icon > </ span >
102+ < span *ngIf ="plan.key === 'title' " class ="row-title "> {{element[plan.key]}}</ span >
103+ < ng-container *ngIf ="plan.key !== 'title' ">
104+
105+ < mat-icon *ngIf ="element[plan.key] === '∞' " class ="person-icon " fontSet ="material-symbols-outlined "> all_inclusive</ mat-icon >
106+ < span *ngIf ="element[plan.key] !== '∞' "> {{element[plan.key]}}< mat-icon class ="person-icon "> person</ mat-icon > </ span >
107+ </ ng-container >
102108 </ td >
103109 </ ng-container >
104110 < tr mat-row *matRowDef ="let row; columns: displayedColumns; "> </ tr >
@@ -117,7 +123,11 @@ <h2 class="mat-header-2">Hosted Instances</h2>
117123 < ng-container *ngFor ="let plan of plans " [matColumnDef] ="plan.key ">
118124 < td mat-cell *matCellDef ="let element "
119125 [ngClass] ="{'cell_centered': plan.key !== 'title', cell_current: plan.key === currentPlan.key} ">
120- {{element[plan.key]}}
126+ < span *ngIf ="plan.key === 'title' " class ="row-title "> {{element[plan.key]}}</ span >
127+ < ng-container *ngIf ="plan.key !== 'title' ">
128+
129+ {{element[plan.key]}}
130+ </ ng-container >
121131 </ td >
122132 </ ng-container >
123133 < tr mat-row *matRowDef ="let row; columns: displayedColumns; "> </ tr >
@@ -135,8 +145,12 @@ <h2 class="mat-header-2">Users</h2>
135145 < ng-container *ngFor ="let plan of plans " [matColumnDef] ="plan.key ">
136146 < td mat-cell *matCellDef ="let element "
137147 [ngClass] ="{'cell_centered': plan.key !== 'title', cell_current: plan.key === currentPlan.key} ">
138- < span *ngIf ="element[plan.key] === true; else nonBoolValue "> ✓</ span >
139- < ng-template #nonBoolValue > {{element[plan.key]}}</ ng-template >
148+ < span *ngIf ="plan.key === 'title' " class ="row-title "> {{element[plan.key]}}</ span >
149+ < ng-container *ngIf ="plan.key !== 'title' ">
150+
151+ < span *ngIf ="element[plan.key] === true; else nonBoolValue "> ✓</ span >
152+ < ng-template #nonBoolValue > {{element[plan.key]}}</ ng-template >
153+ </ ng-container >
140154 </ td >
141155 </ ng-container >
142156 < tr mat-row *matRowDef ="let row; columns: displayedColumns; "> </ tr >
@@ -154,8 +168,12 @@ <h2 class="mat-header-2">Features</h2>
154168 < ng-container *ngFor ="let plan of plans " [matColumnDef] ="plan.key ">
155169 < td mat-cell *matCellDef ="let element "
156170 [ngClass] ="{'cell_centered': plan.key !== 'title', cell_current: plan.key === currentPlan.key} ">
157- < span *ngIf ="element[plan.key] === true; else nonBoolValue "> ✓</ span >
158- < ng-template #nonBoolValue > {{element[plan.key]}}</ ng-template >
171+ < span *ngIf ="plan.key === 'title' " class ="row-title "> {{element[plan.key]}}</ span >
172+ < ng-container *ngIf ="plan.key !== 'title' ">
173+
174+ < span *ngIf ="element[plan.key] === true; else nonBoolValue "> ✓</ span >
175+ < ng-template #nonBoolValue > {{element[plan.key]}}</ ng-template >
176+ </ ng-container >
159177 </ td >
160178 </ ng-container >
161179 < tr mat-row *matRowDef ="let row; columns: displayedColumns; "> </ tr >
0 commit comments