@hulkapps/app-manager-vue 2.5.2 → 2.5.4
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 +74 -72
- package/dist/app-manager-vue.min.js +4 -4
- package/dist/app-manager-vue.ssr.js +83 -65
- package/dist/hulkapps-app-manager.css +1 -1
- package/dist/hulkapps-app-manager.min.css +1 -1
- package/package.json +1 -1
- package/src/components/Plans/AppManagerGroupPlan.vue +58 -34
- package/src/components/Plans/AppManagerSliderPlan.vue +60 -42
- package/src/components/PolarisNew/AppCard.vue +10 -15
- package/src/components/PolarisNew/PlanShowcaseBanner.vue +15 -1
- package/src/components/PolarisNew/VariantButton.vue +27 -24
package/package.json
CHANGED
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
|
|
57
57
|
<PStack slot="primaryAction">
|
|
58
58
|
<PStackItem style="margin-top: 20px">
|
|
59
|
-
<PButtonGroup class="btn-group" segmented>
|
|
59
|
+
<!-- <PButtonGroup class="btn-group" segmented> -->
|
|
60
60
|
<!-- <PButton v-if="monthlyPlan.length && yearlyPlan.length" :class="selectedPlan === 'monthly' ? 'plan-active-tab' : '' " :style="selectedPlan === 'monthly' ? monthlySelectedStyle : monthlyStyle " @click="selectPlan('monthly')">
|
|
61
61
|
<p style="font-size: 17px; font-weight: 500" slot="default">{{translateMe('Monthly')}}</p>
|
|
62
62
|
</PButton>
|
|
@@ -64,16 +64,18 @@
|
|
|
64
64
|
<PButton v-if="yearlyPlan.length && monthlyPlan.length" :class="selectedPlan === 'annually'? 'plan-active-tab' : '' " :style="selectedPlan === 'annually' ? yearlySelectedStyle : yearlyStyle " @click="selectPlan('annually')" :primary="selectedPlan === 'annually' " >
|
|
65
65
|
<YearlyPlanPromotion />
|
|
66
66
|
</PButton> -->
|
|
67
|
-
|
|
68
|
-
{{ translateMe('Annually') }}
|
|
69
|
-
</VariantButton>
|
|
67
|
+
<div class="button-group-new">
|
|
70
68
|
<VariantButton :variant="selectedPlan === 'monthly' ? 'primary' : 'secondary'" @click="selectPlan('monthly')" :additionalText="'1 App'">
|
|
71
69
|
{{ translateMe('Monthly') }}
|
|
72
70
|
</VariantButton>
|
|
71
|
+
<VariantButton v-if="valid_annual_plans.length > 0" :variant="selectedPlan === 'annually' ? 'primary' : 'secondary'" @click="selectPlan('annually')">
|
|
72
|
+
{{ translateMe('Annually') }}
|
|
73
|
+
</VariantButton>
|
|
73
74
|
<VariantButton v-if="bundle_plan !== null" :variant="selectedPlan === 'bundle' ? 'primary' : 'secondary'" @click="selectPlan('bundle')" :additionalText="'24 Apps'">
|
|
74
75
|
{{ translateMe('Bundle') }}
|
|
75
76
|
</VariantButton>
|
|
76
|
-
</
|
|
77
|
+
</div>
|
|
78
|
+
<!-- </PButtonGroup> -->
|
|
77
79
|
</PStackItem>
|
|
78
80
|
</PStack>
|
|
79
81
|
<!-- <hr style="width: 100%; margin-right: auto;margin-left: auto;margin-bottom: 20px;" /> -->
|
|
@@ -250,8 +252,8 @@
|
|
|
250
252
|
<PlanBanners position="footer" @handlePlanBannerClose="handlePlanBannerClose" />
|
|
251
253
|
</PLayoutSection>
|
|
252
254
|
</PLayout>
|
|
253
|
-
<div
|
|
254
|
-
<PlanShowcaseBanner :showcaseData="bundle_plan" :realPrice="parseFloat(calculateDiscountedPrice(bundle_plan)).toFixed(0)" :oldPrice="bundle_plan.price" @plan-clicked="handlePlanClicked(bundle_plan)"/>
|
|
255
|
+
<div v-if="bundle_plan !== null" class="bundle-plan">
|
|
256
|
+
<PlanShowcaseBanner useCardStyle="true" :showcaseData="bundle_plan" :realPrice="parseFloat(calculateDiscountedPrice(bundle_plan)).toFixed(0)" :oldPrice="bundle_plan.price" @plan-clicked="handlePlanClicked(bundle_plan)" :isCurrentPlan="isCurrentPlanId(bundle_plan)"/>
|
|
255
257
|
<div class="light-divider"></div>
|
|
256
258
|
<div class="bundle-category" v-for="category in bundle_details">
|
|
257
259
|
<CategoryHeading :headingData="category" />
|
|
@@ -261,7 +263,7 @@
|
|
|
261
263
|
</div>
|
|
262
264
|
<CategoryHeading :headingData="additionalBenefitsHeading" />
|
|
263
265
|
<BenefitsBanner />
|
|
264
|
-
<PlanShowcaseBanner style="margin-top: 20px;" :showcaseData="bundle_plan" :realPrice="parseFloat(calculateDiscountedPrice(bundle_plan)).toFixed(0)" :oldPrice="bundle_plan.price" :showDescription="false" @plan-clicked="handlePlanClicked(bundle_plan)"/>
|
|
266
|
+
<PlanShowcaseBanner style="margin-top: 20px;" :showcaseData="bundle_plan" :realPrice="parseFloat(calculateDiscountedPrice(bundle_plan)).toFixed(0)" :oldPrice="bundle_plan.price" :showDescription="false" :isCurrentPlan="isCurrentPlanId(bundle_plan)" @plan-clicked="handlePlanClicked(bundle_plan)"/>
|
|
265
267
|
</div>
|
|
266
268
|
<!--====================================================================-->
|
|
267
269
|
</PPage>
|
|
@@ -307,6 +309,7 @@
|
|
|
307
309
|
return {
|
|
308
310
|
plan: {},
|
|
309
311
|
plans: [],
|
|
312
|
+
valid_annual_plans: [],
|
|
310
313
|
promotional_discount: [],
|
|
311
314
|
features: [],
|
|
312
315
|
featureValues: [],
|
|
@@ -418,6 +421,9 @@
|
|
|
418
421
|
isCurrentPlan(plan) {
|
|
419
422
|
return this.has_active_charge && this.shop.plan && (plan.id === this.shop.plan.id || (!plan.is_custom && plan.base_plan === this.shop.plan.id));
|
|
420
423
|
},
|
|
424
|
+
isCurrentPlanId(plan) {
|
|
425
|
+
return this.shop.plan && plan.id === this.shop.plan.id;
|
|
426
|
+
},
|
|
421
427
|
isSamePlanInOtherInterval(plan) {
|
|
422
428
|
return this.shop.plan && (plan.shopify_plans === this.shop.plan.shopify_plans)
|
|
423
429
|
},
|
|
@@ -564,6 +570,11 @@
|
|
|
564
570
|
console.error(error)
|
|
565
571
|
});
|
|
566
572
|
if (data.plans.length) {
|
|
573
|
+
for (let i = 0; i < data.plans.length; i++) {
|
|
574
|
+
if (data.plans[i].interval === 'ANNUAL') {
|
|
575
|
+
this.valid_annual_plans.push(data.plans[i]);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
567
578
|
this.plans = data.plans;
|
|
568
579
|
this.plans = this.plans?.sort((planA, planB) => parseFloat(planA.price) - parseFloat(planB.price));
|
|
569
580
|
|
|
@@ -847,9 +858,45 @@
|
|
|
847
858
|
}
|
|
848
859
|
|
|
849
860
|
.app-manager .app-manager-plan-page .custom-choose-button:hover{
|
|
850
|
-
background: #006e52;
|
|
851
|
-
border-color: transparent;
|
|
852
|
-
color: #fff;
|
|
861
|
+
// background: #006e52;
|
|
862
|
+
// border-color: transparent;
|
|
863
|
+
// color: #fff;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
.bundle-plan {
|
|
867
|
+
display: none;
|
|
868
|
+
flex-direction: column;
|
|
869
|
+
gap: 20px;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
.bundle-category {
|
|
873
|
+
display: flex;
|
|
874
|
+
flex-direction: column;
|
|
875
|
+
gap: 20px;
|
|
876
|
+
margin-bottom: 10px;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
.bundle-category-apps {
|
|
880
|
+
display: flex;
|
|
881
|
+
flex-direction: column;
|
|
882
|
+
gap: 10px;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
.light-divider {
|
|
886
|
+
border-top: 1px solid #E3E3E3;
|
|
887
|
+
margin-top: 10px;
|
|
888
|
+
margin-bottom: 10px;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
.app-manager .Polaris-Icon--colorSuccess svg {
|
|
892
|
+
fill: black !important;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
.button-group-new {
|
|
896
|
+
display: flex;
|
|
897
|
+
align-items: center;
|
|
898
|
+
justify-content: center;
|
|
899
|
+
gap: 4px;
|
|
853
900
|
}
|
|
854
901
|
|
|
855
902
|
@media (min-width: 0px) and (max-width: 576px) {
|
|
@@ -864,29 +911,6 @@
|
|
|
864
911
|
}
|
|
865
912
|
}
|
|
866
913
|
|
|
867
|
-
.bundle-plan {
|
|
868
|
-
display: none;
|
|
869
|
-
flex-direction: column;
|
|
870
|
-
gap: 20px;
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
.bundle-category {
|
|
874
|
-
display: flex;
|
|
875
|
-
flex-direction: column;
|
|
876
|
-
gap: 20px;
|
|
877
|
-
margin-bottom: 10px;
|
|
878
|
-
}
|
|
879
|
-
|
|
880
|
-
.bundle-category-apps {
|
|
881
|
-
display: flex;
|
|
882
|
-
flex-direction: column;
|
|
883
|
-
gap: 10px;
|
|
884
|
-
}
|
|
885
914
|
|
|
886
|
-
.light-divider {
|
|
887
|
-
border-top: 1px solid #E3E3E3;
|
|
888
|
-
margin-top: 10px;
|
|
889
|
-
margin-bottom: 10px;
|
|
890
|
-
}
|
|
891
915
|
|
|
892
916
|
</style>
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
|
|
58
58
|
<PStack slot="primaryAction">
|
|
59
59
|
<PStackItem style="margin-top: 20px">
|
|
60
|
-
<PButtonGroup class="btn-group" segmented>
|
|
60
|
+
<!-- <PButtonGroup class="btn-group" segmented> -->
|
|
61
61
|
<!-- <PButton v-if="monthlyPlan.length && yearlyPlan.length" :class="selectedPlan === 'monthly' ? 'plan-active-tab' : '' " :style="selectedPlan === 'monthly' ? monthlySelectedStyle : monthlyStyle " @click="selectPlan('monthly')">
|
|
62
62
|
<p style="font-size: 17px; font-weight: 500" slot="default">{{translateMe('Monthly')}}</p>
|
|
63
63
|
</PButton>
|
|
@@ -68,16 +68,18 @@
|
|
|
68
68
|
<PButton :class="selectedPlan === 'bundle' ? 'plan-active-tab' : '' " :style="selectedPlan === 'bundle' ? bundleSelectedSyle : bundleStyle " @click="selectPlan('bundle')">
|
|
69
69
|
<p style="font-size: 17px; font-weight: 500" slot="default">{{translateMe('Bundle')}}</p>
|
|
70
70
|
</PButton> -->
|
|
71
|
-
|
|
72
|
-
{{ translateMe('Annually') }}
|
|
73
|
-
</VariantButton>
|
|
71
|
+
<div class="button-group-new">
|
|
74
72
|
<VariantButton :variant="selectedPlan === 'monthly' ? 'primary' : 'secondary'" @click="selectPlan('monthly')" :additionalText="'1 App'">
|
|
75
73
|
{{ translateMe('Monthly') }}
|
|
76
74
|
</VariantButton>
|
|
75
|
+
<VariantButton v-if="valid_annual_plans.length > 0" :variant="selectedPlan === 'annually' ? 'primary' : 'secondary'" @click="selectPlan('annually')">
|
|
76
|
+
{{ translateMe('Annually') }}
|
|
77
|
+
</VariantButton>
|
|
77
78
|
<VariantButton v-if="bundle_plan !== null" :variant="selectedPlan === 'bundle' ? 'primary' : 'secondary'" @click="selectPlan('bundle')" :additionalText="'24 Apps'">
|
|
78
79
|
{{ translateMe('Bundle') }}
|
|
79
80
|
</VariantButton>
|
|
80
|
-
</
|
|
81
|
+
</div>
|
|
82
|
+
<!-- </PButtonGroup> -->
|
|
81
83
|
</PStackItem>
|
|
82
84
|
</PStack>
|
|
83
85
|
<!-- <hr style="width: 100%; margin-right: auto;margin-left: auto;margin-bottom: 20px;" /> -->
|
|
@@ -87,7 +89,7 @@
|
|
|
87
89
|
<PLayoutSection style="display: flex;border-radius: 20px;">
|
|
88
90
|
<template style="margin-bottom: 20px; display: flex !important;">
|
|
89
91
|
<template >
|
|
90
|
-
<div class="Polaris-ResourceList__ResourceListWrapper features" style="width:
|
|
92
|
+
<div class="Polaris-ResourceList__ResourceListWrapper features" style="width: 20%">
|
|
91
93
|
<div class="plan__price"></div>
|
|
92
94
|
<ul class="Polaris-ResourceList">
|
|
93
95
|
<li class="Polaris-ResourceList__ItemWrapper pro_title" :class="`${feature.value_type}__type__${feature.slug} feature__type__${feature.value_type} feature__class`" v-for="(feature, key) in features" :key="key">
|
|
@@ -100,20 +102,20 @@
|
|
|
100
102
|
</ul>
|
|
101
103
|
</div>
|
|
102
104
|
</template>
|
|
103
|
-
<carousel style="width:
|
|
105
|
+
<carousel style="width: 80%" :per-page="perPage" :mouseDrag="false" :navigation-enabled="true" :paginationEnabled="false" :navigateTo="[this.currentSlide,true]" @transition-start="handleNavigationClick($event)">
|
|
104
106
|
<template>
|
|
105
107
|
<slide :id="key" :class="`slide-${key}`" v-for="(plan, key) in selectedPlan === 'monthly' ? monthlyPlan : yearlyPlan" :key="`slide-${key}`" >
|
|
106
108
|
<div class="plan__price" :style="activePlanStyle(plan)">
|
|
107
109
|
<div v-if="plan.price === 0">
|
|
108
110
|
<b v-if="plan.name !== 'Free'" style="font-size: 16px">{{translateMe(plan.name)}}</b>
|
|
109
111
|
<p style="display: flex;margin-top: 10px">
|
|
110
|
-
<PHeading style="font-size:
|
|
112
|
+
<PHeading style="font-size: 23px;font-weight: 700;">{{translateMe('Free')}}</PHeading>
|
|
111
113
|
</p>
|
|
112
114
|
</div>
|
|
113
115
|
<div v-else-if="plan.discount && plan.discount > 0 && !isCurrentPlan(plan)" >
|
|
114
116
|
<b style="font-size: 16px">{{translateMe(plan.name)}}</b>
|
|
115
117
|
<p style="display: flex;margin-top: 10px">
|
|
116
|
-
<PHeading style="font-size:
|
|
118
|
+
<PHeading style="font-size: 23px;font-weight: 700;">${{parseFloat(calculateDiscountedPrice(plan)).toFixed(2)}}</PHeading>
|
|
117
119
|
<b style="margin-top: 5px;font-size: 17px">/{{translateMe(selectedPlan === 'monthly' ? ("mo") : ("year"))}}</b>
|
|
118
120
|
</p>
|
|
119
121
|
<p style="display: flex;margin-top: 7px">
|
|
@@ -124,7 +126,7 @@
|
|
|
124
126
|
<div v-else-if="promotional_discount && promotional_discount.length !== 0 && !promotional_discount.errors && !plan.is_global && promotional_discount.plan_relation.length > 0 && promotional_discount.plan_relation.includes(plan.id) && !isCurrentPlan(plan)" >
|
|
125
127
|
<b style="font-size: 16px">{{translateMe(plan.name)}}</b>
|
|
126
128
|
<p style="display: flex;margin-top: 10px">
|
|
127
|
-
<PHeading style="font-size:
|
|
129
|
+
<PHeading style="font-size: 23px;font-weight: 700;">${{parseFloat(calculatePromotionalDiscountedPrice(plan, promotional_discount)).toFixed(2)}}</PHeading>
|
|
128
130
|
<b style="margin-top: 5px;font-size: 17px">/{{translateMe(selectedPlan === 'monthly' ? ("mo") : ("year"))}}</b>
|
|
129
131
|
</p>
|
|
130
132
|
<p style="display: flex;margin-top: 7px">
|
|
@@ -135,7 +137,7 @@
|
|
|
135
137
|
<div v-else-if="promotional_discount && promotional_discount.length !== 0 && !promotional_discount.errors && !plan.is_global && promotional_discount.plan_relation.length === 0 && promotional_discount.value > 0 && !isCurrentPlan(plan)" >
|
|
136
138
|
<b style="font-size: 16px">{{translateMe(plan.name)}}</b>
|
|
137
139
|
<p style="display: flex;margin-top: 10px">
|
|
138
|
-
<PHeading style="font-size:
|
|
140
|
+
<PHeading style="font-size: 23px;font-weight: 700;">${{parseFloat(calculatePromotionalDiscountedPrice(plan, promotional_discount)).toFixed(2)}}</PHeading>
|
|
139
141
|
<b style="margin-top: 5px;font-size: 17px">/{{translateMe(selectedPlan === 'monthly' ? ("mo") : ("year"))}}</b>
|
|
140
142
|
</p>
|
|
141
143
|
<p style="display: flex;margin-top: 7px">
|
|
@@ -146,7 +148,7 @@
|
|
|
146
148
|
<div v-else>
|
|
147
149
|
<b style="font-size: 16px">{{translateMe(plan.name)}}</b>
|
|
148
150
|
<p style="display: flex;margin-top: 10px">
|
|
149
|
-
<PHeading style="font-size:
|
|
151
|
+
<PHeading style="font-size: 23px;font-weight: 700;">${{parseFloat(plan.price).toFixed(2)}}</PHeading>
|
|
150
152
|
<b style="margin-top: 5px;font-size: 17px">/{{translateMe(selectedPlan === 'monthly' ? ("mo") : ("year"))}}</b>
|
|
151
153
|
</p>
|
|
152
154
|
</div>
|
|
@@ -201,7 +203,7 @@
|
|
|
201
203
|
</PLayoutSection>
|
|
202
204
|
</PLayout>
|
|
203
205
|
<div v-if="bundle_plan !== null" class="bundle-plan">
|
|
204
|
-
<PlanShowcaseBanner :showcaseData="bundle_plan" :realPrice="parseFloat(calculateDiscountedPrice(bundle_plan)).toFixed(0)" :oldPrice="bundle_plan.price" @plan-clicked="handlePlanClicked(bundle_plan)" :isCurrentPlan="isCurrentPlanId(bundle_plan)"/>
|
|
206
|
+
<PlanShowcaseBanner useCardStyle="true" :showcaseData="bundle_plan" :realPrice="parseFloat(calculateDiscountedPrice(bundle_plan)).toFixed(0)" :oldPrice="bundle_plan.price" @plan-clicked="handlePlanClicked(bundle_plan)" :isCurrentPlan="isCurrentPlanId(bundle_plan)"/>
|
|
205
207
|
<div class="light-divider"></div>
|
|
206
208
|
<div class="bundle-category" v-for="category in bundle_details">
|
|
207
209
|
<CategoryHeading :headingData="category" />
|
|
@@ -268,6 +270,7 @@
|
|
|
268
270
|
planLoading: false,
|
|
269
271
|
plan: {},
|
|
270
272
|
plans: [],
|
|
273
|
+
valid_annual_plans: [],
|
|
271
274
|
promotional_discount: [],
|
|
272
275
|
features: [],
|
|
273
276
|
featureValues:[],
|
|
@@ -608,6 +611,11 @@
|
|
|
608
611
|
console.error(error)
|
|
609
612
|
});
|
|
610
613
|
if (data.plans.length) {
|
|
614
|
+
for (let i = 0; i < data.plans.length; i++) {
|
|
615
|
+
if (data.plans[i].interval === 'ANNUAL') {
|
|
616
|
+
this.valid_annual_plans.push(data.plans[i]);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
611
619
|
this.plans = data.plans;
|
|
612
620
|
this.plans = this.plans?.sort((planA, planB) => parseFloat(planA.price) - parseFloat(planB.price));
|
|
613
621
|
|
|
@@ -848,9 +856,9 @@
|
|
|
848
856
|
}
|
|
849
857
|
|
|
850
858
|
.app-manager .app-manager-plan-page-slider .custom-choose-button:hover{
|
|
851
|
-
background: #006e52;
|
|
852
|
-
border-color: transparent;
|
|
853
|
-
color: #fff;
|
|
859
|
+
// background: #006e52;
|
|
860
|
+
// border-color: transparent;
|
|
861
|
+
// color: #fff;
|
|
854
862
|
}
|
|
855
863
|
|
|
856
864
|
.app-manager-plan-banner {
|
|
@@ -858,6 +866,42 @@
|
|
|
858
866
|
margin-left: 30px;
|
|
859
867
|
}
|
|
860
868
|
|
|
869
|
+
.bundle-plan {
|
|
870
|
+
display: none;
|
|
871
|
+
flex-direction: column;
|
|
872
|
+
gap: 20px;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
.bundle-category {
|
|
876
|
+
display: flex;
|
|
877
|
+
flex-direction: column;
|
|
878
|
+
gap: 20px;
|
|
879
|
+
margin-bottom: 10px;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
.bundle-category-apps {
|
|
883
|
+
display: flex;
|
|
884
|
+
flex-direction: column;
|
|
885
|
+
gap: 10px;
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
.light-divider {
|
|
889
|
+
border-top: 1px solid #E3E3E3;
|
|
890
|
+
margin-top: 10px;
|
|
891
|
+
margin-bottom: 10px;
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
.app-manager .Polaris-Icon--colorSuccess svg {
|
|
895
|
+
fill: black !important;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
.button-group-new {
|
|
899
|
+
display: flex;
|
|
900
|
+
align-items: center;
|
|
901
|
+
justify-content: center;
|
|
902
|
+
gap: 4px;
|
|
903
|
+
}
|
|
904
|
+
|
|
861
905
|
@media (min-width: 0px) and (max-width: 576px) {
|
|
862
906
|
.custom-plan>.Polaris-Layout__Section>.VueCarousel>.VueCarousel-wrapper>.VueCarousel-inner {
|
|
863
907
|
overflow-x: scroll;
|
|
@@ -871,7 +915,6 @@
|
|
|
871
915
|
.app-manager .Polaris-Button {
|
|
872
916
|
padding: 7px 8px !important;
|
|
873
917
|
}
|
|
874
|
-
|
|
875
918
|
}
|
|
876
919
|
|
|
877
920
|
@media (min-width: 0px) and (max-width: 467px) {
|
|
@@ -905,29 +948,4 @@
|
|
|
905
948
|
}
|
|
906
949
|
}
|
|
907
950
|
|
|
908
|
-
.bundle-plan {
|
|
909
|
-
display: none;
|
|
910
|
-
flex-direction: column;
|
|
911
|
-
gap: 20px;
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
.bundle-category {
|
|
915
|
-
display: flex;
|
|
916
|
-
flex-direction: column;
|
|
917
|
-
gap: 20px;
|
|
918
|
-
margin-bottom: 10px;
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
.bundle-category-apps {
|
|
922
|
-
display: flex;
|
|
923
|
-
flex-direction: column;
|
|
924
|
-
gap: 10px;
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
.light-divider {
|
|
928
|
-
border-top: 1px solid #E3E3E3;
|
|
929
|
-
margin-top: 10px;
|
|
930
|
-
margin-bottom: 10px;
|
|
931
|
-
}
|
|
932
|
-
|
|
933
951
|
</style>
|
|
@@ -130,19 +130,6 @@ export default {
|
|
|
130
130
|
</div>
|
|
131
131
|
</div>
|
|
132
132
|
<div class="lower-details">
|
|
133
|
-
<p class="app-option-type-count">
|
|
134
|
-
<svg
|
|
135
|
-
width="4"
|
|
136
|
-
height="4"
|
|
137
|
-
viewBox="0 0 4 4"
|
|
138
|
-
fill="none"
|
|
139
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
140
|
-
>
|
|
141
|
-
<rect width="4" height="4" rx="2" fill="black" />
|
|
142
|
-
</svg>
|
|
143
|
-
{{ appData.app_bundle_details.features.length }}
|
|
144
|
-
{{ translateMe("Option Types") }}
|
|
145
|
-
</p>
|
|
146
133
|
<span
|
|
147
134
|
class="featured-options"
|
|
148
135
|
v-for="option in appData.app_bundle_details.features"
|
|
@@ -183,7 +170,9 @@ export default {
|
|
|
183
170
|
.upper-details,
|
|
184
171
|
.lower-details {
|
|
185
172
|
display: flex;
|
|
186
|
-
|
|
173
|
+
flex-wrap: wrap;
|
|
174
|
+
row-gap: 2px;
|
|
175
|
+
column-gap: 8px;
|
|
187
176
|
}
|
|
188
177
|
.app-name {
|
|
189
178
|
font-size: 14px;
|
|
@@ -227,10 +216,14 @@ export default {
|
|
|
227
216
|
font-size: 13px;
|
|
228
217
|
font-weight: 450;
|
|
229
218
|
line-height: 20px;
|
|
219
|
+
text-wrap: nowrap;
|
|
230
220
|
color: #5c5c5c;
|
|
231
221
|
}
|
|
232
222
|
|
|
233
223
|
@media (max-width: 767px) {
|
|
224
|
+
.featured-options {
|
|
225
|
+
text-wrap: wrap;
|
|
226
|
+
}
|
|
234
227
|
.details {
|
|
235
228
|
gap: 8px;
|
|
236
229
|
}
|
|
@@ -243,7 +236,9 @@ export default {
|
|
|
243
236
|
.upper-details,
|
|
244
237
|
.lower-details {
|
|
245
238
|
flex-direction: column;
|
|
246
|
-
|
|
239
|
+
flex-wrap: wrap;
|
|
240
|
+
row-gap: 2px;
|
|
241
|
+
column-gap: 8px;
|
|
247
242
|
}
|
|
248
243
|
}
|
|
249
244
|
</style>
|
|
@@ -37,6 +37,11 @@ export default {
|
|
|
37
37
|
required: false,
|
|
38
38
|
default: false,
|
|
39
39
|
},
|
|
40
|
+
useCardStyle: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
required: false,
|
|
43
|
+
default: false,
|
|
44
|
+
},
|
|
40
45
|
},
|
|
41
46
|
methods: {
|
|
42
47
|
handlePlanClick() {
|
|
@@ -58,7 +63,7 @@ export default {
|
|
|
58
63
|
|
|
59
64
|
<template>
|
|
60
65
|
<div>
|
|
61
|
-
<div class="plan-showcase-banner">
|
|
66
|
+
<div :class="`plan-showcase-banner` + (useCardStyle ? ' banner-card' : '')">
|
|
62
67
|
<div v-if="showDescription" class="plan-left">
|
|
63
68
|
<p>
|
|
64
69
|
{{ translateMe("Get 24 Shopify apps and save more than") }}
|
|
@@ -102,6 +107,15 @@ export default {
|
|
|
102
107
|
</template>
|
|
103
108
|
|
|
104
109
|
<style scoped>
|
|
110
|
+
|
|
111
|
+
.banner-card {
|
|
112
|
+
display: flex;
|
|
113
|
+
padding: 16px;
|
|
114
|
+
background-color: white;
|
|
115
|
+
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
116
|
+
border-radius: 12px;
|
|
117
|
+
gap: 16px;
|
|
118
|
+
}
|
|
105
119
|
.plan-showcase-banner {
|
|
106
120
|
display: flex;
|
|
107
121
|
justify-content: space-between;
|
|
@@ -63,50 +63,53 @@ export default {
|
|
|
63
63
|
</template>
|
|
64
64
|
|
|
65
65
|
<style scoped>
|
|
66
|
-
.button
|
|
66
|
+
.button {
|
|
67
67
|
display: flex;
|
|
68
|
-
|
|
68
|
+
width: fit-content !important;
|
|
69
|
+
height: 28px !important;
|
|
69
70
|
align-items: center !important;
|
|
70
71
|
gap: 8px !important;
|
|
71
|
-
padding:
|
|
72
|
+
padding: 4px 12px !important;
|
|
72
73
|
text-decoration: none !important;
|
|
73
|
-
font-size:
|
|
74
|
-
font-weight:
|
|
74
|
+
font-size: 13px !important;
|
|
75
|
+
font-weight: 450 !important;
|
|
76
|
+
color: rgb(74, 74, 74) !important;
|
|
75
77
|
}
|
|
76
|
-
.button
|
|
77
|
-
background-color:
|
|
78
|
-
background-image: linear-gradient(
|
|
79
|
-
rgba(48, 48, 48, 0) 63.53%,
|
|
80
|
-
rgba(255, 255, 255, 0.15)
|
|
81
|
-
),
|
|
82
|
-
none !important;
|
|
83
|
-
color: white !important;
|
|
84
|
-
border-bottom-color: rgb(255, 255, 255) !important;
|
|
85
|
-
box-shadow: rgba(0, 0, 0, 0.8) 0px -1px 0px 1px inset,
|
|
86
|
-
rgb(48, 48, 48) 0px 0px 0px 1px inset,
|
|
87
|
-
rgba(255, 255, 255, 0.25) 0px 0.5px 0px 1.5px inset !important;
|
|
78
|
+
.button:hover {
|
|
79
|
+
background-color: #0000000d !important;
|
|
88
80
|
border-radius: 8px !important;
|
|
89
81
|
}
|
|
82
|
+
.button-primary {
|
|
83
|
+
background-color: rgba(0, 0, 0, 0.08) !important;
|
|
84
|
+
color: #303030 !important;
|
|
85
|
+
border-radius: 8px !important;
|
|
86
|
+
}
|
|
87
|
+
.button-primary:hover {
|
|
88
|
+
background-color: rgba(0, 0, 0, 0.05) !important;
|
|
89
|
+
}
|
|
90
90
|
.button-secondary {
|
|
91
91
|
color: black !important;
|
|
92
92
|
}
|
|
93
93
|
.additional-info-primary {
|
|
94
|
-
background-color:
|
|
95
|
-
color:
|
|
94
|
+
background-color: rgba(0, 0, 0, 0.06) !important;
|
|
95
|
+
color: #616161 !important;
|
|
96
96
|
padding: 0px 6px !important;
|
|
97
|
-
border-radius:
|
|
97
|
+
border-radius: 8px !important;
|
|
98
|
+
font-size: 13px !important;
|
|
98
99
|
font-weight: 550 !important;
|
|
99
100
|
}
|
|
100
101
|
.additional-info-secondary {
|
|
101
|
-
background-color:
|
|
102
|
+
background-color: rgba(0, 0, 0, 0.06) !important;
|
|
102
103
|
color: #616161 !important;
|
|
103
104
|
padding: 0px 6px !important;
|
|
104
|
-
border-radius:
|
|
105
|
+
border-radius: 8px !important;
|
|
105
106
|
font-weight: 550 !important;
|
|
106
107
|
}
|
|
107
108
|
.disabled {
|
|
108
|
-
background-color:
|
|
109
|
-
|
|
109
|
+
background-color: rgba(0, 0, 0, 0.08) !important;
|
|
110
|
+
font-size: 13px !important;
|
|
111
|
+
font-weight: 450 !important;
|
|
112
|
+
color: rgb(74, 74, 74) !important;
|
|
110
113
|
cursor: not-allowed !important;
|
|
111
114
|
pointer-events: none !important;
|
|
112
115
|
}
|