@hulkapps/app-manager-vue 3.1.3 → 3.1.5

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.
@@ -40,19 +40,19 @@ export default {
40
40
  <template>
41
41
  <div class="block">
42
42
  <svg width="81" height="81" viewBox="0 0 81 81" fill="none" xmlns="http://www.w3.org/2000/svg">
43
- <path d="M49.6768 9.31236V2.68228C49.6768 2.02914 49.146 1.5 48.4918 1.5H34.5281C33.8735 1.5 33.3431 2.02914 33.3431 2.68228V9.31236C33.3431 9.83518 32.9983 10.2952 32.4964 10.4449C30.426 11.0617 28.4454 11.8862 26.5784 12.8936C26.1188 13.1415 25.5508 13.0558 25.1816 12.6874L20.481 7.9978C20.0183 7.53618 19.2678 7.53618 18.8051 7.9978L8.93175 17.8481C8.46905 18.3098 8.46905 19.0585 8.93175 19.5201L13.6323 24.2097C14.0016 24.5781 14.0875 25.1452 13.8389 25.6032C12.8292 27.4659 12.0028 29.4423 11.3846 31.5075C11.2345 32.0086 10.7734 32.3522 10.2494 32.3522H3.60301C2.94835 32.3522 2.41797 32.8813 2.41797 33.5345V47.4655C2.41797 48.1187 2.94835 48.6478 3.60301 48.6478H10.2486C10.7726 48.6478 11.2338 48.9918 11.3838 49.4925C12.002 51.5581 12.8285 53.5341 13.8382 55.3968C14.0867 55.8552 14.0008 56.4219 13.6315 56.7903L8.93095 61.4799C8.46826 61.9415 8.46826 62.6902 8.93095 63.1519L18.8043 73.0022C19.267 73.4638 20.0175 73.4638 20.4802 73.0022L25.1808 68.3126C25.5501 67.9441 26.1184 67.8585 26.5776 68.1064C28.4446 69.1138 30.4256 69.9383 32.4957 70.5551C32.9979 70.7048 33.3423 71.1648 33.3423 71.6876V78.3177C33.3423 78.9709 33.8727 79.5 34.5273 79.5H48.491C49.1456 79.5 49.676 78.9705 49.676 78.3177V71.6876" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
44
- <path d="M37.2891 64.3588V32.7" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
45
- <path d="M37.2891 23.9823V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
46
- <path d="M49.6777 64.3588V59.3118" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
47
- <path d="M49.6777 50.1353V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
48
- <path d="M62.0645 64.3588V41.8765" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
49
- <path d="M62.0645 33.1588V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
50
- <path d="M74.4531 64.3588V29.947" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
51
- <path d="M74.4531 21.6882V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
52
- <path d="M41.4188 23.9824H32.7012V32.7001H41.4188V23.9824Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
53
- <path d="M53.8055 50.1353H45.0879V59.3117H53.8055V50.1353Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
54
- <path d="M66.1942 33.1588H57.4766V41.8765H66.1942V33.1588Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
55
- <path d="M78.5829 21.6882H69.8652V29.9471H78.5829V21.6882Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
43
+ <path d="M49.6768 9.31236V2.68228C49.6768 2.02914 49.146 1.5 48.4918 1.5H34.5281C33.8735 1.5 33.3431 2.02914 33.3431 2.68228V9.31236C33.3431 9.83518 32.9983 10.2952 32.4964 10.4449C30.426 11.0617 28.4454 11.8862 26.5784 12.8936C26.1188 13.1415 25.5508 13.0558 25.1816 12.6874L20.481 7.9978C20.0183 7.53618 19.2678 7.53618 18.8051 7.9978L8.93175 17.8481C8.46905 18.3098 8.46905 19.0585 8.93175 19.5201L13.6323 24.2097C14.0016 24.5781 14.0875 25.1452 13.8389 25.6032C12.8292 27.4659 12.0028 29.4423 11.3846 31.5075C11.2345 32.0086 10.7734 32.3522 10.2494 32.3522H3.60301C2.94835 32.3522 2.41797 32.8813 2.41797 33.5345V47.4655C2.41797 48.1187 2.94835 48.6478 3.60301 48.6478H10.2486C10.7726 48.6478 11.2338 48.9918 11.3838 49.4925C12.002 51.5581 12.8285 53.5341 13.8382 55.3968C14.0867 55.8552 14.0008 56.4219 13.6315 56.7903L8.93095 61.4799C8.46826 61.9415 8.46826 62.6902 8.93095 63.1519L18.8043 73.0022C19.267 73.4638 20.0175 73.4638 20.4802 73.0022L25.1808 68.3126C25.5501 67.9441 26.1184 67.8585 26.5776 68.1064C28.4446 69.1138 30.4256 69.9383 32.4957 70.5551C32.9979 70.7048 33.3423 71.1648 33.3423 71.6876V78.3177C33.3423 78.9709 33.8727 79.5 34.5273 79.5H48.491C49.1456 79.5 49.676 78.9705 49.676 78.3177V71.6876" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
44
+ <path d="M37.2891 64.3588V32.7" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
45
+ <path d="M37.2891 23.9823V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
46
+ <path d="M49.6777 64.3588V59.3118" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
47
+ <path d="M49.6777 50.1353V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
48
+ <path d="M62.0645 64.3588V41.8765" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
49
+ <path d="M62.0645 33.1588V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
50
+ <path d="M74.4531 64.3588V29.947" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
51
+ <path d="M74.4531 21.6882V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
52
+ <path d="M41.4188 23.9824H32.7012V32.7001H41.4188V23.9824Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
53
+ <path d="M53.8055 50.1353H45.0879V59.3117H53.8055V50.1353Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
54
+ <path d="M66.1942 33.1588H57.4766V41.8765H66.1942V33.1588Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
55
+ <path d="M78.5829 21.6882H69.8652V29.9471H78.5829V21.6882Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
56
56
  </svg>
57
57
  <h3>{{ title }}</h3>
58
58
  <h6>{{ description }}</h6>
@@ -83,12 +83,12 @@ export default {
83
83
  .block h3 {
84
84
  font-size: 16px;
85
85
  font-weight: 700;
86
- color: black;
86
+ color: #1A1A1A;
87
87
  }
88
88
  .block h6 {
89
89
  font-size: 13px;
90
90
  font-weight: 400;
91
- color: #00000080;
91
+ color: #1A1A1A80;
92
92
  max-width: 186px;
93
93
  text-align: center;
94
94
  }
@@ -226,10 +226,10 @@ export default {
226
226
  },
227
227
  breakpoints: {
228
228
  375: {
229
- slidesPerView: 1,
229
+ slidesPerView: Math.min(this.monthlyPlans.length, 1),
230
230
  },
231
231
  640: {
232
- slidesPerView: 2,
232
+ slidesPerView: Math.min(this.monthlyPlans.length, 2),
233
233
  },
234
234
  840: {
235
235
  slidesPerView: Math.min(this.monthlyPlans.length, 3),
@@ -262,10 +262,10 @@ export default {
262
262
  },
263
263
  breakpoints: {
264
264
  375: {
265
- slidesPerView: 1,
265
+ slidesPerView: Math.min(this.annualPlans.length, 1),
266
266
  },
267
267
  640: {
268
- slidesPerView: 2,
268
+ slidesPerView: Math.min(this.annualPlans.length, 2),
269
269
  },
270
270
  840: {
271
271
  slidesPerView: Math.min(this.annualPlans.length, 3),
@@ -284,12 +284,15 @@ export default {
284
284
  },
285
285
  });
286
286
  this.syncNavigationWidth(); // Sync navigation width after mount
287
-
287
+ window.addEventListener('resize', this.syncNavigationWidth);
288
288
  // console.log('Plans:', this.plans);
289
289
  // console.log('Monthly Plans:', this.monthlyPlans);
290
290
  // console.log('Annually Plans:', this.annualPlans);
291
291
  // console.log('Features:', this.features);
292
292
  },
293
+ beforeUnmount() {
294
+ window.removeEventListener('resize', this.syncNavigationWidth);
295
+ },
293
296
  };
294
297
  </script>
295
298
 
@@ -298,7 +301,7 @@ export default {
298
301
  <div class="swiper-plan-h-navigation nav-monthly">
299
302
  <button class="swiper-plan-h-prev-monthly">
300
303
  <span class="plans-remaining" v-if="this.remainingPlansMonthly.before > 0">
301
- +{{ this.remainingPlansMonthly.before + " " + (this.remainingPlansMonthly.before === 1 ? translateMe("Plan") : translateMe("Plans")) }}
304
+ +{{ this.remainingPlansMonthly.before + " " + (this.remainingPlansMonthly.before === 1 ? translateMe("plan") : translateMe("plans")) }}
302
305
  </span>
303
306
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
304
307
  <g clip-path="url(#clip0_859_9388)">
@@ -315,7 +318,7 @@ export default {
315
318
  </button>
316
319
  <button class="swiper-plan-h-next-monthly">
317
320
  <span class="plans-remaining" v-if="this.remainingPlansMonthly.after > 0">
318
- +{{ this.remainingPlansMonthly.after + " " + (this.remainingPlansMonthly.after === 1 ? translateMe("Plan") : translateMe("Plans")) }}</span>
321
+ +{{ this.remainingPlansMonthly.after + " " + (this.remainingPlansMonthly.after === 1 ? translateMe("plan") : translateMe("plans")) }}</span>
319
322
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
320
323
  <g clip-path="url(#clip0_859_9381)">
321
324
  <path d="M19 12H5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
@@ -333,7 +336,7 @@ export default {
333
336
  <div class="swiper-plan-h-navigation nav-annually">
334
337
  <button class="swiper-plan-h-prev-annually">
335
338
  <span class="plans-remaining" v-if="this.remainingPlansAnnually.before > 0">
336
- +{{ this.remainingPlansAnnually.before + " " + (this.remainingPlansAnnually.before === 1 ? translateMe("Plan") : translateMe("Plans")) }}
339
+ +{{ this.remainingPlansAnnually.before + " " + (this.remainingPlansAnnually.before === 1 ? translateMe("plan") : translateMe("plans")) }}
337
340
  </span>
338
341
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
339
342
  <g clip-path="url(#clip0_859_9388)">
@@ -350,7 +353,7 @@ export default {
350
353
  </button>
351
354
  <button class="swiper-plan-h-next-annually">
352
355
  <span class="plans-remaining" v-if="this.remainingPlansAnnually.after > 0">
353
- +{{ this.remainingPlansAnnually.after + " " + (this.remainingPlansAnnually.after === 1 ? translateMe("Plan") : translateMe("Plans")) }}
356
+ +{{ this.remainingPlansAnnually.after + " " + (this.remainingPlansAnnually.after === 1 ? translateMe("plan") : translateMe("plans")) }}
354
357
  </span>
355
358
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
356
359
  <g clip-path="url(#clip0_859_9381)">
@@ -398,14 +401,14 @@ export default {
398
401
  >
399
402
  <template v-if="plan.strike_price">
400
403
  <h5 class="strike-price">
401
- <span style="text-decoration: line-through;">${{ plan.strike_price }}</span>
404
+ <span style="text-decoration: line-through;">${{ Number(plan.strike_price).toFixed(2) }}</span>
402
405
  <span v-if="plan.strike_price !== 0">
403
406
  /{{ translateMe("mo") }}
404
407
  </span>
405
408
  </h5>
406
409
  </template>
407
410
  <h2 class="price">
408
- {{ plan.price !== 0 ? "$" + plan.price : translateMe("Free") }}
411
+ {{ plan.price !== 0 ? "$" + Number(plan.price).toFixed(2) : translateMe("Free") }}
409
412
  <span v-if="plan.price !== 0">
410
413
  /{{ translateMe("mo") }}
411
414
  </span>
@@ -449,7 +452,7 @@ export default {
449
452
  fill-rule="evenodd"
450
453
  clip-rule="evenodd"
451
454
  d="M15.7803 5.96967C16.0732 6.26256 16.0732 6.73744 15.7803 7.03033L9.28033 13.5303C8.98744 13.8232 8.51256 13.8232 8.21967 13.5303L4.96967 10.2803C4.67678 9.98744 4.67678 9.51256 4.96967 9.21967C5.26256 8.92678 5.73744 8.92678 6.03033 9.21967L8.75 11.9393L14.7197 5.96967C15.0126 5.67678 15.4874 5.67678 15.7803 5.96967Z"
452
- fill="#303030"
455
+ fill="#1A1A1A"
453
456
  />
454
457
  </svg>
455
458
 
@@ -505,14 +508,14 @@ export default {
505
508
  >
506
509
  <template v-if="plan.strike_price">
507
510
  <h5 class="strike-price">
508
- <span style="text-decoration: line-through;">${{ plan.strike_price }}</span>
511
+ <span style="text-decoration: line-through;">${{ Number(plan.strike_price).toFixed(2) }}</span>
509
512
  <span v-if="plan.strike_price !== 0">
510
513
  /{{ translateMe("yr") }}
511
514
  </span>
512
515
  </h5>
513
516
  </template>
514
517
  <h2 class="price">
515
- {{ plan.price !== 0 ? "$" + plan.price : translateMe("Free") }}
518
+ {{ plan.price !== 0 ? "$" + Number(plan.price).toFixed(2) : translateMe("Free") }}
516
519
  <span v-if="plan.price !== 0">
517
520
  /{{ translateMe("yr") }}
518
521
  </span>
@@ -556,7 +559,7 @@ export default {
556
559
  fill-rule="evenodd"
557
560
  clip-rule="evenodd"
558
561
  d="M15.7803 5.96967C16.0732 6.26256 16.0732 6.73744 15.7803 7.03033L9.28033 13.5303C8.98744 13.8232 8.51256 13.8232 8.21967 13.5303L4.96967 10.2803C4.67678 9.98744 4.67678 9.51256 4.96967 9.21967C5.26256 8.92678 5.73744 8.92678 6.03033 9.21967L8.75 11.9393L14.7197 5.96967C15.0126 5.67678 15.4874 5.67678 15.7803 5.96967Z"
559
- fill="#303030"
562
+ fill="#1A1A1A"
560
563
  />
561
564
  </svg>
562
565
 
@@ -633,7 +636,7 @@ export default {
633
636
  .card .title {
634
637
  font-size: 16px;
635
638
  font-weight: 700;
636
- color: rgba(48, 48, 48, 1);
639
+ color: #1A1A1A;
637
640
  }
638
641
 
639
642
  .card .price-wrapper {
@@ -651,13 +654,13 @@ export default {
651
654
  .card .price {
652
655
  font-size: 30px;
653
656
  font-weight: 700;
654
- color: rgba(48, 48, 48, 1);
657
+ color: #4A4A4A;
655
658
  }
656
659
 
657
660
  .card .price span {
658
661
  font-size: 13px;
659
662
  font-weight: 400;
660
- color: rgba(97, 97, 97, 1);
663
+ color: #4A4A4A;
661
664
  margin-left: -6px;
662
665
  line-height: 0;
663
666
  }
@@ -665,7 +668,7 @@ export default {
665
668
  .card .description {
666
669
  font-size: 13px;
667
670
  font-weight: 400;
668
- color: rgba(97, 97, 97, 1);
671
+ color: #4A4A4A;
669
672
  }
670
673
 
671
674
  .button {
@@ -700,11 +703,11 @@ export default {
700
703
  .feature span {
701
704
  font-size: 13px;
702
705
  font-weight: 400;
703
- color: rgba(97, 97, 97, 1);
706
+ color: #4A4A4A;
704
707
  }
705
708
 
706
709
  .card .strike-price span {
707
- color: rgba(97, 97, 97, 1);
710
+ color: #4A4A4A;
708
711
  }
709
712
 
710
713
  .most-popular {
@@ -42,15 +42,11 @@ export default {
42
42
  required: false,
43
43
  default: false,
44
44
  },
45
- fullWidth: {
46
- type: Boolean,
47
- required: false,
48
- default: false,
49
- },
50
- narrowWidth: {
51
- type: Boolean,
45
+ width: {
46
+ type: String,
52
47
  required: false,
53
- default: false,
48
+ default: 'base',
49
+ validator: value => ['tight', 'base', 'loose'].includes(value)
54
50
  },
55
51
  bundleApps: {
56
52
  type: Number,
@@ -81,8 +77,9 @@ export default {
81
77
  <div
82
78
  :class="[
83
79
  'banner__inner',
84
- this.fullWidth ? 'full-width' : '',
85
- this.narrowWidth ? 'narrow-width' : '',
80
+ width === 'loose' ? 'loose-width' : '',
81
+ width === 'tight' ? 'tight-width' : '',
82
+ width === 'base' ? 'base-width' : '',
86
83
  ]"
87
84
  >
88
85
  <div v-if="showDescription" class="plan-left">
@@ -93,7 +90,7 @@ export default {
93
90
  {{ translateMe("Get") }}
94
91
  {{bundleApps}}
95
92
  {{ translateMe("Shopify apps and save more than") }}
96
- <strong>{{ translateMe("$1000") }}</strong>
93
+ <strong>{{ translateMe("$800") }}</strong>
97
94
  {{ translateMe("per month!") }}
98
95
  </p>
99
96
  </div>
@@ -123,7 +120,7 @@ export default {
123
120
  @click="handlePlanClick"
124
121
  variant="primary"
125
122
  >
126
- {{ translateMe("Current Plan") }}
123
+ {{ translateMe("Current plan") }}
127
124
  </VariantButton>
128
125
  </div>
129
126
  </div>
@@ -152,25 +149,25 @@ export default {
152
149
  display: flex;
153
150
  justify-content: space-between;
154
151
  align-items: center;
155
- max-width: 1200px !important;
152
+ max-width: 1190px !important;
156
153
  width: 100%;
157
154
  margin-left: auto;
158
155
  margin-right: auto;
159
156
  padding: 0 96px;
160
157
  }
161
158
 
162
- .banner__inner.full-width {
163
- max-width: none !important;
159
+ .banner__inner.loose-width {
160
+ max-width: 1600px !important;
164
161
  }
165
162
 
166
- .banner__inner.narrow-width {
163
+ .banner__inner.tight-width {
167
164
  max-width: 840px !important;
168
165
  }
169
166
 
170
167
  .plan-name {
171
168
  font-size: 14px;
172
169
  font-weight: 450;
173
- color: #303030;
170
+ color: #1A1A1A;
174
171
  }
175
172
 
176
173
  .plan-left {
@@ -199,18 +196,18 @@ export default {
199
196
  .bundle-desc-label {
200
197
  font-size: 14px;
201
198
  font-weight: 450;
202
- color: #303030;
199
+ color: #1A1A1A;
203
200
  }
204
201
 
205
202
  .discounted-amount {
206
203
  font-size: 30px;
207
204
  font-weight: bold;
208
- color: #303030;
205
+ color: #1A1A1A;
209
206
  }
210
207
 
211
208
  .original-amount {
212
209
  text-decoration: line-through;
213
- color: #616161;
210
+ color: #4A4A4A;
214
211
  font-size: 14px;
215
212
  font-weight: 650;
216
213
  }
@@ -243,7 +240,7 @@ export default {
243
240
 
244
241
  @media (max-width: 992px) {
245
242
 
246
- .banner__inner.full-width {
243
+ .banner__inner.loose-width {
247
244
  max-width: none !important;
248
245
  }
249
246
 
@@ -263,7 +260,7 @@ export default {
263
260
  .banner__inner {
264
261
  padding: 16px;
265
262
  }
266
- .banner__inner.full-width {
263
+ .banner__inner.loose-width {
267
264
  max-width: 100%;
268
265
  }
269
266
  .bundle-plan-showcase-banner {