@hulkapps/app-manager-vue 3.0.11 → 3.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-manager-vue.esm.js +116 -59
- package/dist/app-manager-vue.min.js +3 -3
- package/dist/app-manager-vue.ssr.js +131 -87
- package/dist/hulkapps-app-manager.css +11 -5
- package/dist/hulkapps-app-manager.min.css +1 -1
- package/package.json +1 -1
- package/src/components/Plans/AppManagerSliderPlan.vue +14 -8
- package/src/components/PolarisNew/AppCard.vue +1 -1
- package/src/components/PolarisNew/BundlePlanCard.vue +22 -5
- package/src/components/PolarisNew/PlanCardsHighlights.vue +54 -44
- package/src/components/PolarisNew/PlanShowcaseBanner.vue +10 -8
- package/src/components/PolarisNew/PlanTable.vue +22 -31
- package/src/components/PolarisNew/VariantButton.vue +1 -0
package/package.json
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<path d="M1 7L7 1L1 7Z" fill="#006FBB"/>
|
|
29
29
|
<path d="M1 7L7 1" stroke="#006FBB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
30
30
|
</svg>
|
|
31
|
-
{{ translateMe('Back to
|
|
31
|
+
{{ translateMe('Back to app pricing') }}
|
|
32
32
|
</a>
|
|
33
33
|
<div class="bill-cycle-select-group__inner-left">
|
|
34
34
|
<SelectButton
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
:variant="selectedPlan === 'monthly' ? 'primary' : 'secondary'"
|
|
37
37
|
@click="selectPlan('monthly')"
|
|
38
38
|
>
|
|
39
|
-
{{ translateMe('Billed
|
|
39
|
+
{{ translateMe('Billed monthly') }}
|
|
40
40
|
</SelectButton>
|
|
41
41
|
<SelectButton
|
|
42
42
|
id="pricing-tab"
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
:variant="selectedPlan === 'annually' ? 'primary' : 'secondary'"
|
|
45
45
|
@click="selectPlan('annually')"
|
|
46
46
|
>
|
|
47
|
-
{{ translateMe('Billed
|
|
47
|
+
{{ translateMe('Billed yearly') }}
|
|
48
48
|
<strong style="white-space: pre;">{{ translateMe(' 17% Off') }}</strong>
|
|
49
49
|
</SelectButton>
|
|
50
50
|
</div>
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
:plans="plans"
|
|
84
84
|
:features="features"
|
|
85
85
|
:currentPlan="plan"
|
|
86
|
+
:shopifyPlan="shopify_plan"
|
|
86
87
|
:promotionalDiscount="promotional_discount"
|
|
87
88
|
:selectedInterval="selectedPlan"
|
|
88
89
|
@plan-clicked="handlePlanClicked"
|
|
@@ -94,6 +95,7 @@
|
|
|
94
95
|
<PlanTable
|
|
95
96
|
:plans="plans"
|
|
96
97
|
:currentPlan="plan"
|
|
98
|
+
:shopifyPlan="shopify_plan"
|
|
97
99
|
:promotionalDiscount="promotional_discount"
|
|
98
100
|
:selectedInterval="selectedPlan"
|
|
99
101
|
:features="features"
|
|
@@ -119,6 +121,7 @@
|
|
|
119
121
|
style="flex-basis: 30%; flex-grow: 1;"
|
|
120
122
|
/> -->
|
|
121
123
|
<BundlePlanCard
|
|
124
|
+
v-if="bundle_plan"
|
|
122
125
|
:plan="bundle_plan"
|
|
123
126
|
:plan_details="bundle_details"
|
|
124
127
|
@plan-clicked="selectPlan"
|
|
@@ -220,7 +223,7 @@ export default {
|
|
|
220
223
|
showPlansFeatures: false,
|
|
221
224
|
showCustomizationModal: false,
|
|
222
225
|
additionalBenefitsHeading:{
|
|
223
|
-
category_name: "Unlock
|
|
226
|
+
category_name: "Unlock additional benefits"
|
|
224
227
|
},
|
|
225
228
|
}
|
|
226
229
|
},
|
|
@@ -455,7 +458,7 @@ export default {
|
|
|
455
458
|
}
|
|
456
459
|
|
|
457
460
|
.app-manager .Polaris-Page--fullWidth {
|
|
458
|
-
max-width: calc(100% -
|
|
461
|
+
max-width: calc(100% - 64px) !important;
|
|
459
462
|
}
|
|
460
463
|
|
|
461
464
|
.app-manager .app-manager-plan-page-slider .Polaris-ResourceList__ResourceListWrapper.features li,
|
|
@@ -554,14 +557,14 @@ export default {
|
|
|
554
557
|
align-items: center;
|
|
555
558
|
justify-content: space-between;
|
|
556
559
|
gap: 4px;
|
|
557
|
-
max-width:
|
|
560
|
+
max-width: 1200px;
|
|
558
561
|
margin-left: auto;
|
|
559
562
|
margin-right: auto;
|
|
560
|
-
padding:
|
|
563
|
+
padding: 0 96px;
|
|
561
564
|
}
|
|
562
565
|
|
|
563
566
|
.bill-cycle-select-group.full-width {
|
|
564
|
-
max-width: calc(100% -
|
|
567
|
+
max-width: calc(100% - 64px);
|
|
565
568
|
}
|
|
566
569
|
|
|
567
570
|
.bill-cycle-select-group__inner-left {
|
|
@@ -662,5 +665,8 @@ export default {
|
|
|
662
665
|
.app-manager .Polaris-Button {
|
|
663
666
|
padding: 7px 8px !important;
|
|
664
667
|
}
|
|
668
|
+
.bill-cycle-select-group {
|
|
669
|
+
padding: 0 8px;
|
|
670
|
+
}
|
|
665
671
|
}
|
|
666
672
|
</style>
|
|
@@ -152,7 +152,7 @@ export default {
|
|
|
152
152
|
</div>
|
|
153
153
|
<div class="install-app-div">
|
|
154
154
|
<a :href="appData.app_shopify_store_link" class="button-link install-app-button" target="_blank">
|
|
155
|
-
{{ translateMe('Install
|
|
155
|
+
{{ translateMe('Install') }}
|
|
156
156
|
</a>
|
|
157
157
|
</div>
|
|
158
158
|
</div>
|
|
@@ -46,10 +46,14 @@ export default {
|
|
|
46
46
|
<div class="block">
|
|
47
47
|
<div class="bundle-header">
|
|
48
48
|
<h3>{{ translateMe("Bundle") }}</h3>
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
<div class="bundle-price-wrapper">
|
|
50
|
+
<div style="display: flex; align-items: center; gap: 4px">
|
|
51
|
+
<h2>${{ plan.price - plan.discount }}</h2>
|
|
52
|
+
<span class="mo-label">{{ translateMe("/mo") }}</span>
|
|
53
|
+
<h4>${{ plan.price }}</h4>
|
|
54
|
+
</div>
|
|
55
|
+
<span class="apps-count">{{ allApps.length }} {{ translateMe("Apps") }}</span>
|
|
56
|
+
</div>
|
|
53
57
|
</div>
|
|
54
58
|
<div class="apps-list">
|
|
55
59
|
<div v-for="(app, index) in allApps" :key="app.id + '_' + index" class="app">
|
|
@@ -68,7 +72,7 @@ export default {
|
|
|
68
72
|
</div>
|
|
69
73
|
</div>
|
|
70
74
|
<VariantButton @click="handlePlanClick('bundle')" variant="primary" class="button">{{
|
|
71
|
-
translateMe("Start
|
|
75
|
+
translateMe("Start saving now")
|
|
72
76
|
}}</VariantButton>
|
|
73
77
|
</div>
|
|
74
78
|
</template>
|
|
@@ -98,6 +102,13 @@ export default {
|
|
|
98
102
|
gap: 8px;
|
|
99
103
|
border-bottom: 1px solid #e3e3e3;
|
|
100
104
|
padding-bottom: 12px;
|
|
105
|
+
align-items: center;
|
|
106
|
+
}
|
|
107
|
+
.bundle-price-wrapper {
|
|
108
|
+
display: flex;
|
|
109
|
+
gap: 8px;
|
|
110
|
+
align-items: center;
|
|
111
|
+
width: 100%;
|
|
101
112
|
}
|
|
102
113
|
.bundle-header h3 {
|
|
103
114
|
font-size: 18px;
|
|
@@ -154,5 +165,11 @@ export default {
|
|
|
154
165
|
.apps-list .app {
|
|
155
166
|
flex-basis: 100%;
|
|
156
167
|
}
|
|
168
|
+
|
|
169
|
+
.bundle-header {
|
|
170
|
+
flex-direction: column;
|
|
171
|
+
align-items: flex-start;
|
|
172
|
+
gap: 16px;
|
|
173
|
+
}
|
|
157
174
|
}
|
|
158
175
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import VariantButton from "./VariantButton";
|
|
3
3
|
import Swiper, {Navigation, Pagination} from "swiper";
|
|
4
|
-
import {calculatePlanPriceWithDiscounts, formatFeature} from "@/helpers";
|
|
4
|
+
import {calculatePlanPriceWithDiscounts, isPlanButtonDisabled, formatFeature, getPlanButtonText} from "@/helpers";
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
7
|
name: "PlanCardsHighlights",
|
|
@@ -17,6 +17,10 @@ export default {
|
|
|
17
17
|
type: Object,
|
|
18
18
|
required: false,
|
|
19
19
|
},
|
|
20
|
+
shopifyPlan: {
|
|
21
|
+
type: String,
|
|
22
|
+
required: false,
|
|
23
|
+
},
|
|
20
24
|
promotionalDiscount: {
|
|
21
25
|
type: Object,
|
|
22
26
|
required: false,
|
|
@@ -102,6 +106,8 @@ export default {
|
|
|
102
106
|
}
|
|
103
107
|
},
|
|
104
108
|
methods: {
|
|
109
|
+
getPlanButtonText,
|
|
110
|
+
isPlanButtonDisabled,
|
|
105
111
|
formatFeature,
|
|
106
112
|
async handlePlanClick(plan) {
|
|
107
113
|
this.loadingPlanId = plan.id;
|
|
@@ -200,7 +206,7 @@ export default {
|
|
|
200
206
|
slidesPerView: 1,
|
|
201
207
|
speed: 500,
|
|
202
208
|
pagination: {
|
|
203
|
-
el: ".swiper-pagination",
|
|
209
|
+
el: ".swiper-pagination-h-monthly",
|
|
204
210
|
clickable: true,
|
|
205
211
|
},
|
|
206
212
|
navigation: {
|
|
@@ -209,15 +215,15 @@ export default {
|
|
|
209
215
|
},
|
|
210
216
|
breakpoints: {
|
|
211
217
|
375: {
|
|
212
|
-
slidesPerView: 1
|
|
218
|
+
slidesPerView: 1,
|
|
213
219
|
},
|
|
214
220
|
640: {
|
|
215
221
|
slidesPerView: 2,
|
|
216
222
|
},
|
|
217
|
-
|
|
223
|
+
840: {
|
|
218
224
|
slidesPerView: Math.min(this.monthlyPlans.length, 3),
|
|
219
225
|
},
|
|
220
|
-
|
|
226
|
+
1152: {
|
|
221
227
|
slidesPerView: Math.min(this.monthlyPlans.length, 4),
|
|
222
228
|
},
|
|
223
229
|
},
|
|
@@ -236,7 +242,7 @@ export default {
|
|
|
236
242
|
slidesPerView: 1,
|
|
237
243
|
speed: 500,
|
|
238
244
|
pagination: {
|
|
239
|
-
el: ".swiper-pagination",
|
|
245
|
+
el: ".swiper-pagination-h-annually",
|
|
240
246
|
clickable: true,
|
|
241
247
|
},
|
|
242
248
|
navigation: {
|
|
@@ -245,15 +251,15 @@ export default {
|
|
|
245
251
|
},
|
|
246
252
|
breakpoints: {
|
|
247
253
|
375: {
|
|
248
|
-
slidesPerView: 1
|
|
254
|
+
slidesPerView: 1,
|
|
249
255
|
},
|
|
250
256
|
640: {
|
|
251
257
|
slidesPerView: 2,
|
|
252
258
|
},
|
|
253
|
-
|
|
259
|
+
840: {
|
|
254
260
|
slidesPerView: Math.min(this.annualPlans.length, 3),
|
|
255
261
|
},
|
|
256
|
-
|
|
262
|
+
1152: {
|
|
257
263
|
slidesPerView: Math.min(this.annualPlans.length, 4),
|
|
258
264
|
},
|
|
259
265
|
},
|
|
@@ -367,7 +373,7 @@ export default {
|
|
|
367
373
|
>
|
|
368
374
|
<div class="most-popular" v-if="plan.choose_later_plan">
|
|
369
375
|
<div class="most-popular-label">
|
|
370
|
-
{{ translateMe("Most
|
|
376
|
+
{{ translateMe("Most popular") }}
|
|
371
377
|
</div>
|
|
372
378
|
</div>
|
|
373
379
|
<h3 class="title">
|
|
@@ -394,25 +400,23 @@ export default {
|
|
|
394
400
|
</span>
|
|
395
401
|
</h2>
|
|
396
402
|
</div>
|
|
397
|
-
<h6
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
403
|
+
<h6
|
|
404
|
+
class="description"
|
|
405
|
+
:style="{
|
|
406
|
+
visibility:
|
|
407
|
+
plan.description
|
|
408
|
+
? 'visible'
|
|
409
|
+
: 'hidden',
|
|
410
|
+
}"
|
|
411
|
+
>
|
|
412
|
+
{{ plan.description ? translateMe(plan.description) : translateMe(placeholder.description) }}
|
|
401
413
|
</h6>
|
|
402
414
|
<VariantButton
|
|
403
415
|
:variant="'secondary'"
|
|
404
|
-
:disabled="
|
|
416
|
+
:disabled="isPlanButtonDisabled(shopifyPlan, plan, currentPlan)"
|
|
405
417
|
:loading="loadingPlanId === plan.id"
|
|
406
418
|
@click="handlePlanClick(plan)"
|
|
407
|
-
>{{
|
|
408
|
-
currentPlan && currentPlan.id === plan.id
|
|
409
|
-
? translateMe("Selected Plan")
|
|
410
|
-
: (
|
|
411
|
-
currentPlan && plan.price > currentPlan.price
|
|
412
|
-
? translateMe("Upgrade")
|
|
413
|
-
: translateMe("Choose Plan")
|
|
414
|
-
)
|
|
415
|
-
}}
|
|
419
|
+
>{{ getPlanButtonText(shopifyPlan, plan, translateMe, currentPlan) }}
|
|
416
420
|
</VariantButton
|
|
417
421
|
>
|
|
418
422
|
<div class="features">
|
|
@@ -448,7 +452,16 @@ export default {
|
|
|
448
452
|
</div>
|
|
449
453
|
</div>
|
|
450
454
|
</div>
|
|
451
|
-
<div
|
|
455
|
+
<div
|
|
456
|
+
class="swiper-pagination swiper-pagination-h-monthly"
|
|
457
|
+
:style="{
|
|
458
|
+
display:
|
|
459
|
+
selectedInterval === 'annually'
|
|
460
|
+
? 'none'
|
|
461
|
+
: 'block',
|
|
462
|
+
}"
|
|
463
|
+
></div>
|
|
464
|
+
<div ref="swiperAnnually" class="swiper cards annually plans-h-cards">
|
|
452
465
|
<div class="swiper-wrapper">
|
|
453
466
|
<div
|
|
454
467
|
v-for="(plan, index) in annualPlans"
|
|
@@ -466,7 +479,7 @@ export default {
|
|
|
466
479
|
>
|
|
467
480
|
<div class="most-popular" v-if="plan.choose_later_plan">
|
|
468
481
|
<div class="most-popular-label">
|
|
469
|
-
{{ translateMe("Most
|
|
482
|
+
{{ translateMe("Most popular") }}
|
|
470
483
|
</div>
|
|
471
484
|
</div>
|
|
472
485
|
<h3 class="title">
|
|
@@ -493,25 +506,23 @@ export default {
|
|
|
493
506
|
</span>
|
|
494
507
|
</h2>
|
|
495
508
|
</div>
|
|
496
|
-
<h6
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
509
|
+
<h6
|
|
510
|
+
class="description"
|
|
511
|
+
:style="{
|
|
512
|
+
visibility:
|
|
513
|
+
plan.description
|
|
514
|
+
? 'visible'
|
|
515
|
+
: 'hidden',
|
|
516
|
+
}"
|
|
517
|
+
>
|
|
518
|
+
{{ plan.description ? translateMe(plan.description) : translateMe(placeholder.description) }}
|
|
500
519
|
</h6>
|
|
501
520
|
<VariantButton
|
|
502
521
|
:variant="'secondary'"
|
|
503
|
-
:disabled="
|
|
522
|
+
:disabled="isPlanButtonDisabled(shopifyPlan, plan, currentPlan)"
|
|
504
523
|
:loading="loadingPlanId === plan.id"
|
|
505
524
|
@click="handlePlanClick(plan)"
|
|
506
|
-
>{{
|
|
507
|
-
currentPlan && currentPlan.id === plan.id
|
|
508
|
-
? translateMe("Selected Plan")
|
|
509
|
-
: (
|
|
510
|
-
currentPlan && plan.price > currentPlan.price
|
|
511
|
-
? translateMe("Upgrade")
|
|
512
|
-
: translateMe("Choose Plan")
|
|
513
|
-
)
|
|
514
|
-
}}
|
|
525
|
+
>{{ getPlanButtonText(shopifyPlan, plan, translateMe, currentPlan) }}
|
|
515
526
|
</VariantButton
|
|
516
527
|
>
|
|
517
528
|
<div class="features">
|
|
@@ -548,11 +559,10 @@ export default {
|
|
|
548
559
|
</div>
|
|
549
560
|
</div>
|
|
550
561
|
<div
|
|
551
|
-
class="swiper-pagination"
|
|
562
|
+
class="swiper-pagination-h-annually swiper-pagination"
|
|
552
563
|
:style="{
|
|
553
564
|
display:
|
|
554
|
-
|
|
555
|
-
(interval === 'EVERY_30_DAYS' && monthlyPlans.length <= 4)
|
|
565
|
+
selectedInterval === 'monthly'
|
|
556
566
|
? 'none'
|
|
557
567
|
: 'block',
|
|
558
568
|
}"
|
|
@@ -695,7 +705,7 @@ export default {
|
|
|
695
705
|
.most-popular .most-popular-label {
|
|
696
706
|
background-color: #91d0ff;
|
|
697
707
|
color: #00527c;
|
|
698
|
-
font-size:
|
|
708
|
+
font-size: 13px;
|
|
699
709
|
font-weight: 600;
|
|
700
710
|
width: 100%;
|
|
701
711
|
text-align: center;
|
|
@@ -81,7 +81,7 @@ export default {
|
|
|
81
81
|
>
|
|
82
82
|
<div v-if="showDescription" class="plan-left">
|
|
83
83
|
<p class="bundle-offer-label">
|
|
84
|
-
{{ translateMe("Bundle
|
|
84
|
+
{{ translateMe("Bundle offer") }}
|
|
85
85
|
</p>
|
|
86
86
|
<p class="bundle-desc-label">
|
|
87
87
|
{{ translateMe("Get") }}
|
|
@@ -93,7 +93,7 @@ export default {
|
|
|
93
93
|
</div>
|
|
94
94
|
<div class="plan-right">
|
|
95
95
|
<div class="plan-content">
|
|
96
|
-
<h3 class="plan-name">{{ translateMe("Monthly
|
|
96
|
+
<h3 class="plan-name">{{ translateMe("Monthly bundle:") }}</h3>
|
|
97
97
|
<div class="prices">
|
|
98
98
|
<span class="discounted-amount">${{ translateMe(realPrice) }}</span>
|
|
99
99
|
<span class="original-amount" v-if="realPrice < oldPrice"
|
|
@@ -127,7 +127,7 @@ export default {
|
|
|
127
127
|
<style scoped>
|
|
128
128
|
.banner-card {
|
|
129
129
|
display: flex;
|
|
130
|
-
padding: 16px;
|
|
130
|
+
padding: 16px 0;
|
|
131
131
|
background-color: white;
|
|
132
132
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
133
133
|
gap: 16px;
|
|
@@ -146,16 +146,15 @@ export default {
|
|
|
146
146
|
display: flex;
|
|
147
147
|
justify-content: space-between;
|
|
148
148
|
align-items: center;
|
|
149
|
-
max-width:
|
|
149
|
+
max-width: 1200px;
|
|
150
150
|
width: 100%;
|
|
151
151
|
margin-left: auto;
|
|
152
152
|
margin-right: auto;
|
|
153
|
-
padding:
|
|
153
|
+
padding: 0 96px;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
.banner__inner.full-width {
|
|
157
|
-
max-width: calc(100% -
|
|
158
|
-
padding: 0 16px;
|
|
157
|
+
max-width: calc(100% - 64px);
|
|
159
158
|
}
|
|
160
159
|
|
|
161
160
|
.plan-name {
|
|
@@ -177,6 +176,7 @@ export default {
|
|
|
177
176
|
.prices {
|
|
178
177
|
display: flex;
|
|
179
178
|
gap: 8px;
|
|
179
|
+
align-items: center;
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
.bundle-offer-label {
|
|
@@ -241,7 +241,6 @@ export default {
|
|
|
241
241
|
flex-direction: column;
|
|
242
242
|
gap: 32px;
|
|
243
243
|
align-items: flex-start;
|
|
244
|
-
padding: 0;
|
|
245
244
|
}
|
|
246
245
|
|
|
247
246
|
.plan-right {
|
|
@@ -251,6 +250,9 @@ export default {
|
|
|
251
250
|
}
|
|
252
251
|
|
|
253
252
|
@media (max-width: 767px) {
|
|
253
|
+
.banner__inner {
|
|
254
|
+
padding: 16px;
|
|
255
|
+
}
|
|
254
256
|
.banner__inner.full-width {
|
|
255
257
|
max-width: 100%;
|
|
256
258
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import Swiper, { Navigation, Pagination } from "swiper";
|
|
3
3
|
import VariantButton from "./VariantButton";
|
|
4
|
-
import {calculatePlanPriceWithDiscounts, formatFeature} from "@/helpers";
|
|
4
|
+
import {calculatePlanPriceWithDiscounts, formatFeature, getPlanButtonText, isPlanButtonDisabled} from "@/helpers";
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
7
|
data() {
|
|
@@ -33,6 +33,10 @@ export default {
|
|
|
33
33
|
type: Object,
|
|
34
34
|
required: false,
|
|
35
35
|
},
|
|
36
|
+
shopifyPlan: {
|
|
37
|
+
type: String,
|
|
38
|
+
required: false,
|
|
39
|
+
},
|
|
36
40
|
selectedInterval: {
|
|
37
41
|
type: String,
|
|
38
42
|
required: false,
|
|
@@ -48,6 +52,8 @@ export default {
|
|
|
48
52
|
}
|
|
49
53
|
},
|
|
50
54
|
methods: {
|
|
55
|
+
isPlanButtonDisabled,
|
|
56
|
+
getPlanButtonText,
|
|
51
57
|
formatFeature,
|
|
52
58
|
async handlePlanClick(plan) {
|
|
53
59
|
this.loadingPlanId = plan.id;
|
|
@@ -347,7 +353,7 @@ export default {
|
|
|
347
353
|
0: {
|
|
348
354
|
slidesPerView: 1.2,
|
|
349
355
|
},
|
|
350
|
-
|
|
356
|
+
640: {
|
|
351
357
|
slidesPerView: 2,
|
|
352
358
|
},
|
|
353
359
|
1024: {
|
|
@@ -378,7 +384,7 @@ export default {
|
|
|
378
384
|
0: {
|
|
379
385
|
slidesPerView: 1.2,
|
|
380
386
|
},
|
|
381
|
-
|
|
387
|
+
640: {
|
|
382
388
|
slidesPerView: 2,
|
|
383
389
|
},
|
|
384
390
|
1024: {
|
|
@@ -530,23 +536,11 @@ export default {
|
|
|
530
536
|
</div>
|
|
531
537
|
<VariantButton
|
|
532
538
|
:variant="'secondary'"
|
|
533
|
-
:disabled="
|
|
539
|
+
:disabled="isPlanButtonDisabled(shopifyPlan, plan, currentPlan)"
|
|
534
540
|
:loading="loadingPlanId === plan.id"
|
|
535
541
|
@click="handlePlanClick(plan)"
|
|
536
542
|
class="button"
|
|
537
|
-
>{{
|
|
538
|
-
currentPlan && currentPlan.id === plan.id
|
|
539
|
-
? translateMe("Selected Plan")
|
|
540
|
-
: (
|
|
541
|
-
!currentPlan
|
|
542
|
-
? translateMe("Choose Plan")
|
|
543
|
-
: (
|
|
544
|
-
plan.price > currentPlan.price
|
|
545
|
-
? translateMe("Upgrade")
|
|
546
|
-
: translateMe("Switch to this plan")
|
|
547
|
-
)
|
|
548
|
-
)
|
|
549
|
-
}}</VariantButton>
|
|
543
|
+
>{{ getPlanButtonText(shopifyPlan, plan, translateMe, currentPlan, true) }}</VariantButton>
|
|
550
544
|
</div>
|
|
551
545
|
<template v-for="group in monthlyPlansFeatures">
|
|
552
546
|
<div v-if="group.name" class="feature-group-header plan-feature plan-feature-monthly">
|
|
@@ -647,23 +641,11 @@ export default {
|
|
|
647
641
|
</div>
|
|
648
642
|
<VariantButton
|
|
649
643
|
:variant="'secondary'"
|
|
650
|
-
:disabled="
|
|
644
|
+
:disabled="isPlanButtonDisabled(shopifyPlan, plan, currentPlan)"
|
|
651
645
|
:loading="loadingPlanId === plan.id"
|
|
652
646
|
@click="handlePlanClick(plan)"
|
|
653
647
|
class="button"
|
|
654
|
-
>{{
|
|
655
|
-
currentPlan && currentPlan.id === plan.id
|
|
656
|
-
? translateMe("Selected Plan")
|
|
657
|
-
: (
|
|
658
|
-
!currentPlan
|
|
659
|
-
? translateMe("Choose Plan")
|
|
660
|
-
: (
|
|
661
|
-
plan.price > currentPlan.price
|
|
662
|
-
? translateMe("Upgrade")
|
|
663
|
-
: translateMe("Switch to this plan")
|
|
664
|
-
)
|
|
665
|
-
)
|
|
666
|
-
}}</VariantButton>
|
|
648
|
+
>{{ getPlanButtonText(shopifyPlan, plan, translateMe, currentPlan, true) }}</VariantButton>
|
|
667
649
|
</div>
|
|
668
650
|
<template v-for="group in annualPlansFeatures">
|
|
669
651
|
<div v-if="group.name" class="feature-group-header plan-feature plan-feature-annually">
|
|
@@ -805,6 +787,9 @@ export default {
|
|
|
805
787
|
padding: 12px;
|
|
806
788
|
border-bottom: 1px solid #e3e3e3;
|
|
807
789
|
border-left: 1px solid #e3e3e3;
|
|
790
|
+
word-wrap: break-word;
|
|
791
|
+
overflow-wrap: break-word;
|
|
792
|
+
white-space: normal;
|
|
808
793
|
}
|
|
809
794
|
.plan-table-checkmark {
|
|
810
795
|
width: 20px;
|
|
@@ -986,4 +971,10 @@ export default {
|
|
|
986
971
|
width: calc(100% + -2px);
|
|
987
972
|
}
|
|
988
973
|
}
|
|
974
|
+
|
|
975
|
+
@media (max-width: 540px) {
|
|
976
|
+
.plan-header-wrapper .price-wrapper .main-price {
|
|
977
|
+
flex-direction: column;
|
|
978
|
+
}
|
|
979
|
+
}
|
|
989
980
|
</style>
|