@designcrowd/fe-shared-lib 1.6.3 → 1.6.4-ast-dbc-1

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.
@@ -34,7 +34,8 @@
34
34
  "websiteFriendlyName": "Website",
35
35
  "digitalBusinessCardFriendlyName": "Digital Business Card",
36
36
  "alreadyHaveADomainLabel": "Already have a domain?",
37
- "useExistingDomainLabel": "Use my existing domain"
37
+ "useExistingDomainLabel": "Use my existing domain",
38
+ "createTeamCardsLabel": "Create Team Cards"
38
39
  },
39
40
  "sellDomainNameList": {
40
41
  "freeDomainButtonLabel": "Free Domain",
@@ -92,11 +92,13 @@
92
92
  :has-purchased-domain="hasPurchasedDomains"
93
93
  :show-upsell-rotation-container="showUpsellRotationContainer"
94
94
  :user-currency="userCurrency"
95
+ :brand-page-type="brandPageType"
95
96
  @copy-url-clicked="onCopyUrlClick"
96
97
  @on-brand-page-url-click="onBrandPageUrlClick"
97
98
  @on-view-more-domains="onViewMore"
98
99
  @on-buy-now-clicked="onBuyNowClick"
99
100
  @on-search-text-changed="onSearchTextChanged"
101
+ @on-create-team-cards-click="onCreateTeamCardsClick"
100
102
  >
101
103
  <template #upsellContainer>
102
104
  <slot name="upsellContainer" />
@@ -289,6 +291,7 @@ export default {
289
291
  'on-slug-changed',
290
292
  'on-show-domain-modal',
291
293
  'on-use-existing-domain',
294
+ 'on-create-team-cards-click',
292
295
  ],
293
296
  setup() {
294
297
  return {
@@ -407,6 +410,9 @@ export default {
407
410
  onBrandPageUrlClick(newVal) {
408
411
  this.$emit('on-brand-page-url-click', newVal);
409
412
  },
413
+ onCreateTeamCardsClick() {
414
+ this.$emit('on-create-team-cards-click');
415
+ },
410
416
  onBuyNow(newVal) {
411
417
  this.$emit('on-buy-now-clicked', newVal);
412
418
  },
@@ -21,6 +21,7 @@
21
21
  "websiteFriendlyName": "Website",
22
22
  "digitalBusinessCardFriendlyName": "Digital Business Card",
23
23
  "alreadyHaveADomainLabel": "Already have a domain?",
24
- "useExistingDomainLabel": "Use my existing domain"
24
+ "useExistingDomainLabel": "Use my existing domain",
25
+ "createTeamCardsLabel": "Create Team Cards"
25
26
  }
26
27
  }
@@ -24,19 +24,28 @@
24
24
  data-test-brand-page-copy-input
25
25
  @on-click="onCopyUrlClick"
26
26
  />
27
- <Button
28
- :label="viewMyWebsiteLabel"
29
- :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
30
- icon="chevron-right-wide"
31
- size="medium"
32
- icon-view-box="0 0 24 24"
33
- class="tw-my-4"
34
- target="_blank"
35
- rel="noopener noreferrer"
36
- :url="brandPageUrl"
37
- :full-width="isMobile"
38
- @on-click="onBrandPageUrlClick"
39
- />
27
+ <div class="tw-flex tw-flex-row tw-items-center tw-justify-center tw-gap-4 tw-my-4">
28
+ <Button
29
+ v-if="brandPageType === 'brandContact'"
30
+ :label="createTeamCardsLabel"
31
+ variant="outline"
32
+ :size="isDesignCom ? 'medium' : 'large'"
33
+ :full-width="isMobile"
34
+ @on-click="onCreateTeamCardsClick"
35
+ />
36
+ <Button
37
+ :label="viewMyWebsiteLabel"
38
+ :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
39
+ icon="chevron-right-wide"
40
+ size="medium"
41
+ icon-view-box="0 0 24 24"
42
+ target="_blank"
43
+ rel="noopener noreferrer"
44
+ :url="brandPageUrl"
45
+ :full-width="isMobile"
46
+ @on-click="onBrandPageUrlClick"
47
+ />
48
+ </div>
40
49
  </div>
41
50
  <div v-if="showUpsellRotationContainer" class="tw-border-t tw-border-solid tw-border-grayscale-500 tw-p-5">
42
51
  <slot name="upsellContainer" />
@@ -105,6 +114,11 @@ export default {
105
114
  required: true,
106
115
  default: undefined,
107
116
  },
117
+ brandPageType: {
118
+ type: String,
119
+ required: false,
120
+ default: '',
121
+ },
108
122
  },
109
123
  emits: [
110
124
  'copy-url-clicked',
@@ -112,6 +126,7 @@ export default {
112
126
  'on-view-more-domains',
113
127
  'on-buy-now-clicked',
114
128
  'on-search-text-changed',
129
+ 'on-create-team-cards-click',
115
130
  ],
116
131
  setup() {
117
132
  return {
@@ -119,6 +134,7 @@ export default {
119
134
  publishBrandPageModalTr,
120
135
  copyLabel: publishBrandPageModalTr('copyLabel'),
121
136
  copySuccessLabel: publishBrandPageModalTr('copySuccessLabel'),
137
+ createTeamCardsLabel: publishBrandPageModalTr('createTeamCardsLabel'),
122
138
  };
123
139
  },
124
140
  computed: {
@@ -144,6 +160,9 @@ export default {
144
160
  onBuyNowClick() {
145
161
  this.$emit('on-buy-now-clicked');
146
162
  },
163
+ onCreateTeamCardsClick() {
164
+ this.$emit('on-create-team-cards-click');
165
+ },
147
166
  },
148
167
  };
149
168
  </script>
@@ -2,7 +2,16 @@
2
2
  <!-- Side Navigation Component following these figma designs: https://www.figma.com/design/UUZ56EQZbb1Ua9NBMm6Rt5/DCOM---My-Account-Left-Nav -->
3
3
  <div class="sidebar">
4
4
  <div class="menu tw-mb-4">
5
- <MenuCta class="tw-mt-2 tw-mb-4" label="Create New Design" variant="primary" icon="plus" icon-size="xs" />
5
+ <MenuCta
6
+ v-if="createNewDesignCta"
7
+ class="tw-mt-2 tw-mb-4"
8
+ :label="createNewDesignCta.label"
9
+ :url="createNewDesignCta.url"
10
+ :action="createNewDesignCta.action"
11
+ variant="primary"
12
+ icon="plus"
13
+ icon-size="xs"
14
+ />
6
15
  <div class="menuitemcontainer">
7
16
  <MenuItem
8
17
  v-for="item in menuItems"
@@ -15,8 +24,21 @@
15
24
  </div>
16
25
  </div>
17
26
  <div class="ctas tw-flex tw-flex-col tw-gap-2">
18
- <MenuCta label="Upgrade" variant="secondary" icon="crown" icon-size="sm" />
19
- <MenuCta label="Rate Design.com" variant="empty" />
27
+ <MenuCta
28
+ v-if="upgradeCta"
29
+ :label="upgradeCta.label"
30
+ :url="upgradeCta.url"
31
+ :action="upgradeCta.action"
32
+ variant="secondary"
33
+ icon="crown"
34
+ icon-size="sm"
35
+ />
36
+ <MenuCta
37
+ v-if="rateCta"
38
+ :label="rateCta.label"
39
+ :action="rateCta.action"
40
+ variant="empty"
41
+ />
20
42
  </div>
21
43
  </div>
22
44
  </template>
@@ -25,15 +47,29 @@ import MenuCta from './MenuCta.vue';
25
47
  import MenuItem from './MenuItem.vue';
26
48
  import type { IMenuItem } from './types';
27
49
 
50
+ interface CtaConfig {
51
+ label: string;
52
+ url?: string;
53
+ action?: () => void;
54
+ }
55
+
28
56
  defineProps({
29
57
  menuItems: {
30
58
  type: Array<IMenuItem>,
31
59
  required: true,
32
60
  },
33
61
  createNewDesignCta: {
34
- type: Object,
62
+ type: Object as () => CtaConfig,
35
63
  required: true,
36
64
  },
65
+ upgradeCta: {
66
+ type: Object as () => CtaConfig | undefined,
67
+ default: undefined,
68
+ },
69
+ rateCta: {
70
+ type: Object as () => CtaConfig | undefined,
71
+ default: undefined,
72
+ },
37
73
  });
38
74
  </script>
39
75
  <style scoped>