@crm-market/template-shared 1.0.3 → 1.0.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.
Files changed (64) hide show
  1. package/components/AddAddress/index.vue +10 -12
  2. package/components/Cart/index.vue +15 -17
  3. package/components/ChangePassword/index.vue +11 -13
  4. package/components/Checkout/index.vue +35 -37
  5. package/components/Common/DashboardNavigation.vue +11 -13
  6. package/components/Common/PageBanner.vue +4 -6
  7. package/components/Common/ProductCard.vue +38 -52
  8. package/components/Common/Services.vue +10 -12
  9. package/components/Contact/ContactForm.vue +13 -18
  10. package/components/Dashboard/index.vue +8 -10
  11. package/components/EditAddress/index.vue +14 -16
  12. package/components/EditProfile/index.vue +10 -12
  13. package/components/ForgotPassword/index.vue +7 -9
  14. package/components/Layout/Copyright.vue +3 -5
  15. package/components/Layout/Footer.vue +36 -51
  16. package/components/Layout/FooterTwo.vue +34 -40
  17. package/components/Layout/MiddleHeader.vue +11 -9
  18. package/components/Layout/MiddleHeaderThree.vue +7 -5
  19. package/components/Layout/MiddleHeaderTwo.vue +9 -7
  20. package/components/Layout/Navbar.vue +10 -8
  21. package/components/Layout/NavbarStyleThree.vue +10 -8
  22. package/components/Layout/NavbarStyleTwo.vue +8 -6
  23. package/components/Layout/ResponsiveNavbar.vue +40 -38
  24. package/components/Layout/TopHeader.vue +30 -63
  25. package/components/Login/index.vue +14 -19
  26. package/components/MyAccount/index.vue +31 -31
  27. package/components/OrderDetails/index.vue +16 -18
  28. package/components/OrderHistory/index.vue +13 -15
  29. package/components/ProductDetails/index.vue +17 -15
  30. package/components/Products/RecentlyViewed.vue +12 -14
  31. package/components/Products/index.vue +20 -18
  32. package/components/Register/index.vue +14 -19
  33. package/components/Wishlist/index.vue +12 -14
  34. package/composables/useI18n.ts +114 -0
  35. package/locales/ar.json +234 -0
  36. package/locales/en.json +234 -0
  37. package/locales/ru.json +234 -0
  38. package/locales/uk.json +234 -0
  39. package/nuxt.config.ts +1 -0
  40. package/package.json +6 -4
  41. package/pages/about-us.vue +2 -1
  42. package/pages/address.vue +2 -1
  43. package/pages/cart.vue +2 -1
  44. package/pages/categories.vue +2 -1
  45. package/pages/change-password.vue +2 -1
  46. package/pages/checkout.vue +2 -1
  47. package/pages/contact.vue +2 -1
  48. package/pages/dashboard.vue +2 -1
  49. package/pages/edit-address.vue +2 -1
  50. package/pages/edit-profile.vue +2 -1
  51. package/pages/faq.vue +2 -1
  52. package/pages/forgot-password.vue +2 -1
  53. package/pages/login.vue +2 -1
  54. package/pages/my-account.vue +2 -1
  55. package/pages/order-details.vue +2 -1
  56. package/pages/order-history.vue +2 -1
  57. package/pages/privacy-policy.vue +2 -1
  58. package/pages/product-details.vue +2 -1
  59. package/pages/products.vue +2 -1
  60. package/pages/register.vue +2 -1
  61. package/pages/terms-conditions.vue +2 -1
  62. package/pages/wishlist.vue +2 -1
  63. package/plugins/i18n.ts +7 -0
  64. package/plugins/vuetify.ts +0 -1
@@ -14,50 +14,47 @@
14
14
  </div>
15
15
  <div class="col-lg-7">
16
16
  <div class="authentication-form form-wrap">
17
- <h3 class="title mb-2">Get In Touch</h3>
18
- <p>
19
- Your Gateway to Excellence: Contact Us and Unlock a World of
20
- Possibilities
21
- </p>
17
+ <h3 class="title mb-2">{{ t('contact.getInTouch') }}</h3>
18
+ <p>{{ t('contact.contactDescription') }}</p>
22
19
 
23
20
  <form>
24
21
  <div class="row">
25
22
  <div class="col-lg-6">
26
23
  <div class="form-group mb-4">
27
- <label class="label">Your Name *</label>
24
+ <label class="label">{{ t('contact.yourName') }} *</label>
28
25
  <input
29
26
  type="text"
30
27
  class="form-control"
31
- placeholder="Enter your name"
28
+ :placeholder="t('contact.enterName')"
32
29
  />
33
30
  </div>
34
31
  </div>
35
32
  <div class="col-lg-6">
36
33
  <div class="form-group mb-4">
37
- <label class="label">Your Email *</label>
34
+ <label class="label">{{ t('contact.yourEmail') }} *</label>
38
35
  <input
39
36
  type="email"
40
37
  class="form-control"
41
- placeholder="Enter your email"
38
+ :placeholder="t('contact.enterEmail')"
42
39
  />
43
40
  </div>
44
41
  </div>
45
42
  <div class="col-lg-12">
46
43
  <div class="form-group mb-4">
47
- <label class="label">Your Subject *</label>
44
+ <label class="label">{{ t('contact.yourSubject') }} *</label>
48
45
  <input
49
46
  type="text"
50
47
  class="form-control"
51
- placeholder="Your subject"
48
+ :placeholder="t('contact.yourSubject')"
52
49
  />
53
50
  </div>
54
51
  </div>
55
52
  <div class="col-lg-12">
56
53
  <div class="form-group mb-4">
57
- <label class="label">Your Message *</label>
54
+ <label class="label">{{ t('contact.yourMessage') }} *</label>
58
55
  <textarea
59
56
  class="form-control"
60
- placeholder="Write message"
57
+ :placeholder="t('contact.writeMessage')"
61
58
  cols="30"
62
59
  rows="5"
63
60
  ></textarea>
@@ -70,7 +67,7 @@
70
67
  type="submit"
71
68
  class="btn btn-warning btn-pill text-white"
72
69
  >
73
- Submit Now
70
+ {{ t('footer.submitNow') }}
74
71
  </button>
75
72
  </div>
76
73
  </div>
@@ -84,8 +81,6 @@
84
81
  </div>
85
82
  </template>
86
83
 
87
- <script>
88
- export default {
89
- name: "ContactForm",
90
- };
84
+ <script setup lang="ts">
85
+ const { t } = useI18n();
91
86
  </script>
@@ -25,7 +25,7 @@
25
25
  to="/edit-profile"
26
26
  class="btn btn-warning text-white"
27
27
  >
28
- Edit Profile
28
+ {{ t('account.editProfile') }}
29
29
  </NuxtLink>
30
30
  </div>
31
31
  </div>
@@ -33,22 +33,22 @@
33
33
 
34
34
  <div class="col-lg-6">
35
35
  <div class="billing-address-bar">
36
- <h3>Default</h3>
36
+ <h3>{{ t('common.default') }}</h3>
37
37
  <ul>
38
38
  <li class="p-0">Amanda McCarter</li>
39
39
  <li>
40
- <span>Address:</span>
40
+ <span>{{ t('account.address') }}:</span>
41
41
  4 Shady Pines Drive Bowling Green
42
42
  </li>
43
43
  </ul>
44
44
 
45
45
  <ul>
46
46
  <li>
47
- <span>Phone:</span>
47
+ <span>{{ t('account.phone') }}:</span>
48
48
  <a href="tel:270-957-9995">270-957-9995</a>
49
49
  </li>
50
50
  <li>
51
- <span>Email:</span>
51
+ <span>{{ t('account.email') }}:</span>
52
52
  <a href="mailto:contact@tuan.com">contact@tuan.com</a>
53
53
  </li>
54
54
  </ul>
@@ -58,7 +58,7 @@
58
58
  to="/edit-address"
59
59
  class="btn btn-warning text-white"
60
60
  >
61
- Edit Address
61
+ {{ t('account.editAddress') }}
62
62
  </NuxtLink>
63
63
  </div>
64
64
  </div>
@@ -72,8 +72,6 @@
72
72
  </div>
73
73
  </template>
74
74
 
75
- <script>
76
- export default {
77
- name: "Dashboard",
78
- };
75
+ <script setup lang="ts">
76
+ const { t } = useI18n();
79
77
  </script>
@@ -8,27 +8,27 @@
8
8
 
9
9
  <div class="col-lg-8">
10
10
  <div class="edit-profile">
11
- <h3>Edit Address</h3>
11
+ <h3>{{ t('account.editAddress') }}</h3>
12
12
 
13
13
  <form class="submit-property-form">
14
14
  <div class="row">
15
15
  <div class="col-lg-6">
16
16
  <div class="form-group">
17
- <label>First Name</label>
17
+ <label>{{ t('checkout.firstName') }}</label>
18
18
  <input type="text" class="form-control" value="Amanda" />
19
19
  </div>
20
20
  </div>
21
21
 
22
22
  <div class="col-lg-6">
23
23
  <div class="form-group">
24
- <label>Last Name</label>
24
+ <label>{{ t('checkout.lastName') }}</label>
25
25
  <input type="text" class="form-control" value="McCarter" />
26
26
  </div>
27
27
  </div>
28
28
 
29
29
  <div class="col-lg-6">
30
30
  <div class="form-group">
31
- <label>Email Address</label>
31
+ <label>{{ t('checkout.emailAddress') }}</label>
32
32
  <input
33
33
  type="email"
34
34
  class="form-control"
@@ -39,7 +39,7 @@
39
39
 
40
40
  <div class="col-lg-6">
41
41
  <div class="form-group">
42
- <label>Phone Number</label>
42
+ <label>{{ t('checkout.phoneNumber') }}</label>
43
43
  <input
44
44
  type="text"
45
45
  class="form-control"
@@ -50,7 +50,7 @@
50
50
 
51
51
  <div class="col-lg-6">
52
52
  <div class="form-group">
53
- <label>Company Name (Optional)</label>
53
+ <label>{{ t('checkout.companyName') }}</label>
54
54
  <input
55
55
  type="text"
56
56
  class="form-control"
@@ -61,7 +61,7 @@
61
61
 
62
62
  <div class="col-lg-6">
63
63
  <div class="form-group">
64
- <label>Country</label>
64
+ <label>{{ t('account.country') }}</label>
65
65
  <input
66
66
  type="text"
67
67
  class="form-control"
@@ -72,35 +72,35 @@
72
72
 
73
73
  <div class="col-lg-6">
74
74
  <div class="form-group">
75
- <label>Street Address</label>
75
+ <label>{{ t('checkout.streetAddress') }}</label>
76
76
  <input type="text" class="form-control" value="Cities" />
77
77
  </div>
78
78
  </div>
79
79
 
80
80
  <div class="col-lg-6">
81
81
  <div class="form-group">
82
- <label>Town / City</label>
82
+ <label>{{ t('checkout.townCity') }}</label>
83
83
  <input type="text" class="form-control" value="Cities" />
84
84
  </div>
85
85
  </div>
86
86
 
87
87
  <div class="col-lg-6">
88
88
  <div class="form-group">
89
- <label>State / County</label>
89
+ <label>{{ t('account.stateCounty') }}</label>
90
90
  <input type="text" class="form-control" value="Liverpool" />
91
91
  </div>
92
92
  </div>
93
93
 
94
94
  <div class="col-lg-6">
95
95
  <div class="form-group">
96
- <label>Zip</label>
96
+ <label>{{ t('account.zip') }}</label>
97
97
  <input type="text" class="form-control" value="1457856" />
98
98
  </div>
99
99
  </div>
100
100
 
101
101
  <div class="col-lg-12">
102
102
  <button type="submit" class="btn btn-warning text-white">
103
- Save
103
+ {{ t('common.save') }}
104
104
  </button>
105
105
  </div>
106
106
  </div>
@@ -112,8 +112,6 @@
112
112
  </section>
113
113
  </template>
114
114
 
115
- <script>
116
- export default {
117
- name: "EditAddress",
118
- };
115
+ <script setup lang="ts">
116
+ const { t } = useI18n();
119
117
  </script>
@@ -8,27 +8,27 @@
8
8
 
9
9
  <div class="col-lg-8">
10
10
  <div class="edit-profile">
11
- <h3>Edit Profile</h3>
11
+ <h3>{{ t('account.editProfile') }}</h3>
12
12
 
13
13
  <form class="submit-property-form">
14
14
  <div class="row">
15
15
  <div class="col-lg-6">
16
16
  <div class="form-group">
17
- <label>First Name</label>
17
+ <label>{{ t('checkout.firstName') }}</label>
18
18
  <input type="text" class="form-control" value="Amanda" />
19
19
  </div>
20
20
  </div>
21
21
 
22
22
  <div class="col-lg-6">
23
23
  <div class="form-group">
24
- <label>Last Name</label>
24
+ <label>{{ t('checkout.lastName') }}</label>
25
25
  <input type="text" class="form-control" value="McCarter" />
26
26
  </div>
27
27
  </div>
28
28
 
29
29
  <div class="col-lg-6">
30
30
  <div class="form-group">
31
- <label>Email Address</label>
31
+ <label>{{ t('checkout.emailAddress') }}</label>
32
32
  <input
33
33
  type="email"
34
34
  class="form-control"
@@ -39,7 +39,7 @@
39
39
 
40
40
  <div class="col-lg-6">
41
41
  <div class="form-group">
42
- <label>Phone Number</label>
42
+ <label>{{ t('checkout.phoneNumber') }}</label>
43
43
  <input
44
44
  type="text"
45
45
  class="form-control"
@@ -50,7 +50,7 @@
50
50
 
51
51
  <div class="col-lg-12">
52
52
  <div class="form-group">
53
- <label>Change Your Image</label>
53
+ <label>{{ t('common.changeImage') }}</label>
54
54
  <div class="file-upload">
55
55
  <input
56
56
  type="file"
@@ -60,7 +60,7 @@
60
60
  />
61
61
  <label class="upload" for="file">
62
62
  <i class="ri-image-2-fill"></i>
63
- Click here
63
+ {{ t('common.clickHere') }}
64
64
  </label>
65
65
  </div>
66
66
  </div>
@@ -78,7 +78,7 @@
78
78
 
79
79
  <div class="col-lg-12">
80
80
  <button type="submit" class="btn btn-warning text-white">
81
- Save Change
81
+ {{ t('common.saveChange') }}
82
82
  </button>
83
83
  </div>
84
84
  </div>
@@ -90,8 +90,6 @@
90
90
  </section>
91
91
  </template>
92
92
 
93
- <script>
94
- export default {
95
- name: "EditProfile",
96
- };
93
+ <script setup lang="ts">
94
+ const { t } = useI18n();
97
95
  </script>
@@ -13,18 +13,18 @@
13
13
  <ul class="nav nav-tabs login-tabs" id="myTab" role="tablist">
14
14
  <li class="nav-item" role="presentation">
15
15
  <NuxtLink to="/forgot-password" class="nav-link active">
16
- Forgot Password
16
+ {{ t('auth.forgotPassword') }}
17
17
  </NuxtLink>
18
18
  </li>
19
19
  </ul>
20
- <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit.</p>
20
+ <p>{{ t('auth.loginDescription') }}</p>
21
21
  <form>
22
22
  <div class="form-group mb-4">
23
- <label class="label">Email Address</label>
23
+ <label class="label">{{ t('auth.email') }}</label>
24
24
  <input
25
25
  type="email"
26
26
  class="form-control"
27
- placeholder="Enter Your Email"
27
+ :placeholder="t('auth.enterEmail')"
28
28
  />
29
29
  </div>
30
30
  <div class="form-group mb-0">
@@ -32,7 +32,7 @@
32
32
  type="submit"
33
33
  class="btn btn-warning btn-pill text-white w-100 d-block"
34
34
  >
35
- Forgot Password
35
+ {{ t('auth.forgotPassword') }}
36
36
  </button>
37
37
  </div>
38
38
  </form>
@@ -44,8 +44,6 @@
44
44
  </div>
45
45
  </template>
46
46
 
47
- <script>
48
- export default {
49
- name: "ForgotPassword",
50
- };
47
+ <script setup lang="ts">
48
+ const { t } = useI18n();
51
49
  </script>
@@ -4,7 +4,7 @@
4
4
  <v-row class="align-items-center">
5
5
  <v-col cols="12" lg="6" md="6">
6
6
  <p class="mb-2 mb-md-0 text-center text-md-start">
7
- © <span>Tuan.</span> All Rights Reserved by
7
+ © <span>Tuan.</span> {{ t('footer.allRightsReserved') }}
8
8
  <a href="https://envytheme.com/" target="_blank">EnvyTheme</a>
9
9
  </p>
10
10
  </v-col>
@@ -18,8 +18,6 @@
18
18
  </div>
19
19
  </template>
20
20
 
21
- <script>
22
- export default {
23
- name: "Copyright",
24
- };
21
+ <script setup lang="ts">
22
+ const { t } = useI18n();
25
23
  </script>
@@ -10,11 +10,11 @@
10
10
  {{ siteConfig.siteDescription }}
11
11
  </p>
12
12
  <p v-else>
13
- Your online store for the best products and deals.
13
+ {{ t('footer.storeDescription') }}
14
14
  </p>
15
15
 
16
16
  <div class="call-info" v-if="phone">
17
- <span class="title">Got Question? Call us 24/7</span>
17
+ <span class="title">{{ t('footer.gotQuestion') }}</span>
18
18
  <div class="d-flex align-items-center">
19
19
  <i class="flaticon-headphones-1"></i>
20
20
  <a :href="`tel:${phone}`">{{ phone }}</a>
@@ -30,7 +30,7 @@
30
30
  </v-col>
31
31
  <v-col cols="12" lg="3" sm="6">
32
32
  <div class="single-footer-widget">
33
- <h3>Popular Categories</h3>
33
+ <h3>{{ t('footer.popularCategories') }}</h3>
34
34
 
35
35
  <ul class="ps-0 mb-0 list-unstyled import-link">
36
36
  <li v-for="category in footerCategories" :key="category.id">
@@ -39,50 +39,50 @@
39
39
  </NuxtLink>
40
40
  </li>
41
41
  <li v-if="footerCategories.length === 0">
42
- <NuxtLink to="/products">All Products</NuxtLink>
42
+ <NuxtLink to="/products">{{ t('nav.allProducts') }}</NuxtLink>
43
43
  </li>
44
44
  </ul>
45
45
  </div>
46
46
  </v-col>
47
47
  <v-col cols="12" lg="3" sm="6">
48
48
  <div class="single-footer-widget">
49
- <h3>Let Us Help You</h3>
49
+ <h3>{{ t('footer.letUsHelp') }}</h3>
50
50
 
51
51
  <ul class="ps-0 mb-0 list-unstyled import-link">
52
52
  <li>
53
- <NuxtLink to="/dashboard">Your Account</NuxtLink>
53
+ <NuxtLink to="/dashboard">{{ t('account.yourAccount') }}</NuxtLink>
54
54
  </li>
55
55
  <li>
56
- <NuxtLink to="/order-history">Your Orders</NuxtLink>
56
+ <NuxtLink to="/order-history">{{ t('account.yourOrders') }}</NuxtLink>
57
57
  </li>
58
58
  <li>
59
- <NuxtLink to="/privacy-policy">Privacy Policy</NuxtLink>
59
+ <NuxtLink to="/privacy-policy">{{ t('common.privacyPolicy') }}</NuxtLink>
60
60
  </li>
61
61
  <li>
62
- <NuxtLink to="/faq">Help Center</NuxtLink>
62
+ <NuxtLink to="/faq">{{ t('common.helpCenter') }}</NuxtLink>
63
63
  </li>
64
64
  <li>
65
- <NuxtLink to="/terms-conditions">Terms & Conditions</NuxtLink>
65
+ <NuxtLink to="/terms-conditions">{{ t('common.termsConditions') }}</NuxtLink>
66
66
  </li>
67
67
  </ul>
68
68
  </div>
69
69
  </v-col>
70
70
  <v-col cols="12" lg="3" sm="6">
71
71
  <div class="single-footer-widget">
72
- <h3>Get to Know Us</h3>
72
+ <h3>{{ t('footer.getToKnowUs') }}</h3>
73
73
 
74
74
  <ul class="ps-0 mb-0 list-unstyled import-link">
75
75
  <li>
76
- <NuxtLink to="/about-us">About Us</NuxtLink>
76
+ <NuxtLink to="/about-us">{{ t('nav.aboutUs') }}</NuxtLink>
77
77
  </li>
78
78
  <li>
79
- <NuxtLink to="/contact">Contact Us</NuxtLink>
79
+ <NuxtLink to="/contact">{{ t('nav.contact') }}</NuxtLink>
80
80
  </li>
81
81
  <li>
82
- <NuxtLink to="/categories">Categories</NuxtLink>
82
+ <NuxtLink to="/categories">{{ t('nav.categories') }}</NuxtLink>
83
83
  </li>
84
84
  <li>
85
- <NuxtLink to="/products">All Products</NuxtLink>
85
+ <NuxtLink to="/products">{{ t('nav.allProducts') }}</NuxtLink>
86
86
  </li>
87
87
  </ul>
88
88
  </div>
@@ -92,17 +92,17 @@
92
92
  <v-row class="align-items-end justify-content-center">
93
93
  <v-col cols="12" lg="3" md="6">
94
94
  <div class="single-footer-bottom-item">
95
- <span class="title">Subscribe to the newsletter</span>
95
+ <span class="title">{{ t('footer.subscribe') }}</span>
96
96
  <form class="subscribe-form position-relative" @submit.prevent>
97
97
  <input
98
98
  type="text"
99
99
  class="form-control"
100
- placeholder="Enter your email"
100
+ :placeholder="t('footer.enterEmail')"
101
101
  />
102
102
  <button
103
103
  class="btn btn-warning text-white position-absolute top-50 end-0 translate-middle-y"
104
104
  >
105
- Submit Now
105
+ {{ t('footer.submitNow') }}
106
106
  </button>
107
107
  </form>
108
108
  </div>
@@ -113,7 +113,7 @@
113
113
  class="ps-0 mb-0 list-unstyled d-flex align-items-center social-link justify-content-center"
114
114
  >
115
115
  <li>
116
- <span class="titles">Follow Us:</span>
116
+ <span class="titles">{{ t('footer.followUs') }}:</span>
117
117
  </li>
118
118
  <li v-if="socialMedia?.facebook">
119
119
  <a :href="socialMedia.facebook" target="_blank">
@@ -136,7 +136,7 @@
136
136
  <v-col cols="12" lg="5" md="6">
137
137
  <div class="single-footer-bottom-item">
138
138
  <p class="text-center text-lg-end mb-0 text-muted">
139
- &copy; {{ new Date().getFullYear() }} {{ storeName }}. All rights reserved.
139
+ &copy; {{ new Date().getFullYear() }} {{ storeName }}. {{ t('footer.allRightsReserved') }}.
140
140
  </p>
141
141
  </div>
142
142
  </v-col>
@@ -145,39 +145,24 @@
145
145
  </div>
146
146
  </template>
147
147
 
148
- <script lang="ts">
148
+ <script setup lang="ts">
149
149
  import { computed } from "vue";
150
150
 
151
- export default {
152
- name: "Footer",
153
- setup() {
154
- const { siteConfig, siteName, contactInfo } = useSiteConfig();
155
- const { topLevelCategories } = useCategories();
151
+ const { t } = useI18n();
152
+ const { siteConfig, siteName, contactInfo } = useSiteConfig();
153
+ const { topLevelCategories } = useCategories();
156
154
 
157
- const storeName = computed(() => siteName.value || 'Our Store');
158
- const phone = computed(() => contactInfo.value?.phone);
159
- const email = computed(() => contactInfo.value?.email);
160
- const address = computed(() => contactInfo.value?.address);
161
- const socialMedia = computed(() => contactInfo.value?.socialMedia);
162
- const hasSocialMedia = computed(() => {
163
- const sm = socialMedia.value;
164
- return sm && (sm.facebook || sm.twitter || sm.instagram);
165
- });
155
+ const storeName = computed(() => siteName.value || 'Our Store');
156
+ const phone = computed(() => contactInfo.value?.phone);
157
+ const email = computed(() => contactInfo.value?.email);
158
+ const address = computed(() => contactInfo.value?.address);
159
+ const socialMedia = computed(() => contactInfo.value?.socialMedia);
160
+ const hasSocialMedia = computed(() => {
161
+ const sm = socialMedia.value;
162
+ return sm && (sm.facebook || sm.twitter || sm.instagram);
163
+ });
166
164
 
167
- const footerCategories = computed(() =>
168
- topLevelCategories.value.slice(0, 6)
169
- );
170
-
171
- return {
172
- siteConfig,
173
- storeName,
174
- phone,
175
- email,
176
- address,
177
- socialMedia,
178
- hasSocialMedia,
179
- footerCategories,
180
- };
181
- },
182
- };
165
+ const footerCategories = computed(() =>
166
+ topLevelCategories.value.slice(0, 6)
167
+ );
183
168
  </script>