@crm-market/template-shared 1.0.7 → 1.0.8

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 (138) hide show
  1. package/assets/scss/_variables.scss +3 -3
  2. package/assets/scss/components/_header.scss +1 -1
  3. package/assets/scss/style.css +4 -4
  4. package/components/AboutUs/StaticContent.vue +32 -0
  5. package/components/Cart/CartEmpty.vue +42 -0
  6. package/components/Cart/CartItem.vue +145 -0
  7. package/components/Cart/CartSummary.vue +57 -0
  8. package/components/Cart/ProductQuantity.vue +23 -13
  9. package/components/Cart/index.vue +68 -150
  10. package/components/Categories/index.vue +88 -291
  11. package/components/Checkout/AddressFields.vue +74 -0
  12. package/components/Checkout/CheckoutForm.vue +75 -0
  13. package/components/Checkout/CityAutocomplete.vue +68 -0
  14. package/components/Checkout/DeliveryMethodCard.vue +66 -0
  15. package/components/Checkout/DeliveryOptions.vue +148 -0
  16. package/components/Checkout/OrderSummary.vue +116 -0
  17. package/components/Checkout/PaymentOptions.vue +76 -0
  18. package/components/Checkout/PickupPoints.vue +46 -0
  19. package/components/Checkout/PromoCode.vue +166 -0
  20. package/components/Checkout/index.vue +235 -173
  21. package/components/Checkout/types.ts +45 -0
  22. package/components/Common/PageBanner.vue +22 -20
  23. package/components/Common/ProductCard.vue +139 -115
  24. package/components/Common/Services.vue +4 -4
  25. package/components/Contact/ContactForm.vue +44 -74
  26. package/components/Contact/ContactInfo.vue +35 -61
  27. package/components/FAQ/index.vue +6 -119
  28. package/components/Layout/Copyright.vue +11 -9
  29. package/components/Layout/Footer.vue +49 -136
  30. package/components/Layout/HeaderBar.vue +174 -0
  31. package/components/Layout/HeaderLogo.vue +27 -0
  32. package/components/Layout/MiddleHeader.vue +1 -228
  33. package/components/Layout/MiddleHeaderThree.vue +1 -203
  34. package/components/Layout/MiddleHeaderTwo.vue +1 -239
  35. package/components/Layout/NavLinks.vue +23 -0
  36. package/components/Layout/Navbar.vue +38 -151
  37. package/components/Layout/NavbarStyleFour.vue +1 -332
  38. package/components/Layout/NavbarStyleThree.vue +1 -188
  39. package/components/Layout/NavbarStyleTwo.vue +1 -108
  40. package/components/Layout/Preloader.vue +5 -12
  41. package/components/Layout/ResponsiveNavbar.vue +32 -418
  42. package/components/Layout/SitewideBanner.vue +285 -0
  43. package/components/Layout/TopHeader.vue +17 -83
  44. package/components/Layout/layoutData.ts +83 -0
  45. package/components/PrivacyPolicy/index.vue +6 -110
  46. package/components/ProductDetails/ProductDetailsTab.vue +31 -321
  47. package/components/ProductDetails/ProductGallery.vue +45 -0
  48. package/components/ProductDetails/ProductQuantity.vue +8 -14
  49. package/components/ProductDetails/RecentlyViewed.vue +53 -289
  50. package/components/ProductDetails/RelatedProducts.vue +64 -0
  51. package/components/ProductDetails/index.vue +90 -230
  52. package/components/Products/index.vue +78 -16
  53. package/components/TermsConditions/index.vue +6 -110
  54. package/components/Wishlist/index.vue +62 -88
  55. package/composables/useCart.ts +133 -81
  56. package/composables/useCategories.ts +66 -29
  57. package/composables/useCategoryImages.ts +45 -0
  58. package/composables/useCheckout.ts +302 -95
  59. package/composables/useContactForm.ts +57 -0
  60. package/composables/useHomeContent.ts +220 -0
  61. package/composables/useI18n.ts +12 -24
  62. package/composables/useJsonLd.ts +162 -0
  63. package/composables/useProducts.ts +244 -81
  64. package/composables/useRecent.ts +30 -0
  65. package/composables/useSanitize.ts +76 -0
  66. package/composables/useSiteConfig.ts +51 -45
  67. package/composables/useStaticPages.ts +48 -0
  68. package/composables/useStoreOrigin.ts +32 -0
  69. package/composables/useTemplateSections.ts +51 -3
  70. package/composables/useThemeVars.ts +113 -0
  71. package/composables/useWishlist.ts +72 -0
  72. package/layouts/default.vue +80 -19
  73. package/locales/en.json +255 -86
  74. package/locales/uk.json +251 -82
  75. package/modules/template-schema.ts +35 -0
  76. package/nuxt.config.ts +8 -11
  77. package/package.json +1 -1
  78. package/pages/about-us.vue +9 -9
  79. package/pages/cart.vue +0 -1
  80. package/pages/categories.vue +0 -1
  81. package/pages/category/[slug].vue +84 -0
  82. package/pages/checkout.vue +0 -1
  83. package/pages/contact.vue +6 -6
  84. package/pages/delivery.vue +12 -0
  85. package/pages/faq.vue +6 -6
  86. package/pages/order-success.vue +113 -0
  87. package/pages/privacy-policy.vue +6 -6
  88. package/pages/product/[slug].vue +82 -0
  89. package/pages/product-details.vue +14 -6
  90. package/pages/products.vue +12 -1
  91. package/pages/returns.vue +12 -0
  92. package/pages/terms-conditions.vue +6 -6
  93. package/pages/wishlist.vue +2 -2
  94. package/utils/seo-urls.ts +70 -0
  95. package/utils/store-origin.ts +36 -0
  96. package/components/AboutUs/AboutUsTuan.vue +0 -25
  97. package/components/AboutUs/Statistics.vue +0 -42
  98. package/components/AboutUs/SubscribeToTheNewsletter.vue +0 -57
  99. package/components/AddAddress/index.vue +0 -68
  100. package/components/BestSellers/Products.vue +0 -1562
  101. package/components/BestSellers/RecentlyViewed.vue +0 -304
  102. package/components/ChangePassword/index.vue +0 -69
  103. package/components/Common/DashboardNavigation.vue +0 -35
  104. package/components/Dashboard/RecentOrder.vue +0 -173
  105. package/components/Dashboard/index.vue +0 -77
  106. package/components/EditAddress/index.vue +0 -117
  107. package/components/EditProfile/index.vue +0 -95
  108. package/components/FeaturedProduct/FeaturedProducts.vue +0 -304
  109. package/components/FeaturedProduct/Products.vue +0 -1562
  110. package/components/ForgotPassword/index.vue +0 -49
  111. package/components/Layout/FooterTwo.vue +0 -159
  112. package/components/Layout/LocationOption.vue +0 -178
  113. package/components/Layout/RTLSwitchBtn.vue +0 -40
  114. package/components/Login/index.vue +0 -89
  115. package/components/MyAccount/index.vue +0 -154
  116. package/components/NewArrivals/Products.vue +0 -1969
  117. package/components/NewArrivals/RecentlyViewed.vue +0 -304
  118. package/components/OrderDetails/index.vue +0 -75
  119. package/components/OrderHistory/index.vue +0 -195
  120. package/components/Products/RecentlyViewed.vue +0 -302
  121. package/components/Register/index.vue +0 -83
  122. package/components/TrendingProducts/FeaturedProducts.vue +0 -304
  123. package/components/TrendingProducts/Products.vue +0 -1564
  124. package/components/Wishlist/ProductQuantity.vue +0 -29
  125. package/layouts/inner.vue +0 -70
  126. package/locales/ar.json +0 -234
  127. package/locales/ru.json +0 -234
  128. package/pages/address.vue +0 -11
  129. package/pages/change-password.vue +0 -11
  130. package/pages/dashboard.vue +0 -11
  131. package/pages/edit-address.vue +0 -11
  132. package/pages/edit-profile.vue +0 -11
  133. package/pages/forgot-password.vue +0 -11
  134. package/pages/login.vue +0 -11
  135. package/pages/my-account.vue +0 -11
  136. package/pages/order-details.vue +0 -11
  137. package/pages/order-history.vue +0 -11
  138. package/pages/register.vue +0 -11
@@ -1,302 +0,0 @@
1
- <template>
2
- <div class="recently-viewed-area pb-60 products-page">
3
- <div class="container position-relative">
4
- <div
5
- class="d-lg-flex align-items-center justify-content-between text-center mb-27 mt-minus-6 border-top pt-4"
6
- >
7
- <h3 class="fs-3 mb-0 mb-1 mb-sm-0">Recently Viewed</h3>
8
- <div>
9
- <NuxtLink to="/products" class="read-more">
10
- <span>See All Deals</span>
11
- <i class="ri-arrow-right-up-line ms-1"></i>
12
- </NuxtLink>
13
- </div>
14
- </div>
15
- <div class="row justify-content-center g-0">
16
- <div class="col-c-20">
17
- <div class="single-product-telemobile-item">
18
- <div class="product-img position-relative">
19
- <NuxtLink to="/product-details" class="d-block">
20
- <img src="~/assets/images/product-1.png" alt="product" />
21
- </NuxtLink>
22
- <div
23
- class="d-flex justify-content-between align-items-center position-absolute top-0 start-0 end-0"
24
- >
25
- <span class="minus-count">-11%</span>
26
- <button class="border-0 wish-btn">
27
- <i class="ri-heart-line"></i>
28
- <i class="ri-heart-fill d-none"></i>
29
- <v-tooltip activator="parent" location="top">
30
- Favorite
31
- </v-tooltip>
32
- </button>
33
- </div>
34
- </div>
35
- <div class="product-content">
36
- <NuxtLink to="/product-details" class="title">
37
- Microwave Oven With LED Lighting - 700 Watts, 0.7 cu ft
38
- </NuxtLink>
39
- <div class="d-flex gap-1 review">
40
- <i class="flaticon-star"></i>
41
- <i class="flaticon-star"></i>
42
- <i class="flaticon-star"></i>
43
- <i class="flaticon-star"></i>
44
- <i class="flaticon-star"></i>
45
- <span>(5 Reviews)</span>
46
- </div>
47
- <h3>$399 <del>$450</del></h3>
48
- <div class="d-flex sold-stock gap-4 align-items-center">
49
- <span class="sold">620 Sold</span>
50
- <span class="stock">
51
- <i class="ri-check-line"></i> 150 In Stock
52
- </span>
53
- </div>
54
- <div
55
- class="d-flex align-items-center justify-content-between delivery-cart gap-4"
56
- >
57
- <span class="delivery">
58
- <i class="ri-truck-line"></i>
59
- {{ t('product.freeDelivery') }}
60
- </span>
61
- <button class="cart-btn">
62
- <i class="ri-shopping-cart-line"></i>
63
- <v-tooltip activator="parent" location="top">
64
- {{ t('product.addToCart') }}
65
- </v-tooltip>
66
- </button>
67
- </div>
68
- </div>
69
- </div>
70
- </div>
71
- <div class="col-c-20">
72
- <div class="single-product-telemobile-item">
73
- <div class="product-img position-relative">
74
- <NuxtLink to="/product-details" class="d-block">
75
- <img src="~/assets/images/product-6.png" alt="product" />
76
- </NuxtLink>
77
- <div
78
- class="d-flex justify-content-between align-items-center position-absolute top-0 start-0 end-0"
79
- >
80
- <span class="minus-count">-15%</span>
81
- <button class="border-0 wish-btn">
82
- <i class="ri-heart-line"></i>
83
- <i class="ri-heart-fill d-none"></i>
84
- <v-tooltip activator="parent" location="top">
85
- Favorite
86
- </v-tooltip>
87
- </button>
88
- </div>
89
- </div>
90
- <div class="product-content">
91
- <NuxtLink to="/product-details" class="title">
92
- Multiplatform Wireless Noise-Cancelling Gaming Headset
93
- </NuxtLink>
94
- <div class="d-flex gap-1 review">
95
- <i class="flaticon-star"></i>
96
- <i class="flaticon-star"></i>
97
- <i class="flaticon-star"></i>
98
- <i class="flaticon-star"></i>
99
- <i class="flaticon-star"></i>
100
- <span>(18 Reviews)</span>
101
- </div>
102
- <h3>$279 <del>$329</del></h3>
103
- <div class="d-flex sold-stock gap-4 align-items-center">
104
- <span class="sold">20 Sold</span>
105
- <span class="stock">
106
- <i class="ri-check-line"></i>
107
- 78 In Stock
108
- </span>
109
- </div>
110
- <div
111
- class="d-flex align-items-center justify-content-between delivery-cart gap-4"
112
- >
113
- <span class="delivery">
114
- <i class="ri-truck-line"></i>
115
- {{ t('product.freeDelivery') }}
116
- </span>
117
- <button class="cart-btn">
118
- <i class="ri-shopping-cart-line"></i>
119
- <v-tooltip activator="parent" location="top">
120
- {{ t('product.addToCart') }}
121
- </v-tooltip>
122
- </button>
123
- </div>
124
- </div>
125
- </div>
126
- </div>
127
- <div class="col-c-20">
128
- <div class="single-product-telemobile-item">
129
- <div class="product-img position-relative">
130
- <NuxtLink to="/product-details" class="d-block">
131
- <img src="~/assets/images/product-7.png" alt="product" />
132
- </NuxtLink>
133
- <div
134
- class="d-flex justify-content-between align-items-center position-absolute top-0 start-0 end-0"
135
- >
136
- <span class="minus-count">-40%</span>
137
- <button class="border-0 wish-btn">
138
- <i class="ri-heart-line"></i>
139
- <i class="ri-heart-fill d-none"></i>
140
- <v-tooltip activator="parent" location="top">
141
- Favorite
142
- </v-tooltip>
143
- </button>
144
- </div>
145
- </div>
146
- <div class="product-content">
147
- <NuxtLink to="/product-details" class="title">
148
- GPS Smartwatch with Bright Touchscreen Display
149
- </NuxtLink>
150
- <div class="d-flex gap-1 review">
151
- <i class="flaticon-star"></i>
152
- <i class="flaticon-star"></i>
153
- <i class="flaticon-star"></i>
154
- <i class="flaticon-star"></i>
155
- <i class="flaticon-star"></i>
156
- <span>(24 Reviews)</span>
157
- </div>
158
- <h3>$119 <del>$199</del></h3>
159
- <div class="d-flex sold-stock gap-4 align-items-center">
160
- <span class="sold">435 Sold</span>
161
- <span class="stock">
162
- <i class="ri-check-line"></i>
163
- 180 In Stock
164
- </span>
165
- </div>
166
- <div
167
- class="d-flex align-items-center justify-content-between delivery-cart gap-4"
168
- >
169
- <span class="delivery">
170
- <i class="ri-truck-line"></i>
171
- {{ t('product.freeDelivery') }}
172
- </span>
173
- <button class="cart-btn">
174
- <i class="ri-shopping-cart-line"></i>
175
- <v-tooltip activator="parent" location="top">
176
- {{ t('product.addToCart') }}
177
- </v-tooltip>
178
- </button>
179
- </div>
180
- </div>
181
- </div>
182
- </div>
183
- <div class="col-c-20">
184
- <div class="single-product-telemobile-item">
185
- <div class="product-img position-relative">
186
- <NuxtLink to="/product-details" class="d-block">
187
- <img src="~/assets/images/product-8.png" alt="product" />
188
- </NuxtLink>
189
- <div
190
- class="d-flex justify-content-between align-items-center position-absolute top-0 start-0 end-0"
191
- >
192
- <span class="minus-count">-20%</span>
193
- <button class="border-0 wish-btn">
194
- <i class="ri-heart-line"></i>
195
- <i class="ri-heart-fill d-none"></i>
196
- <v-tooltip activator="parent" location="top">
197
- Favorite
198
- </v-tooltip>
199
- </button>
200
- </div>
201
- </div>
202
- <div class="product-content">
203
- <NuxtLink to="/product-details" class="title">
204
- SAMSUNG 32-Inch Class QLED 4K Q60C Series Quantum HDR
205
- </NuxtLink>
206
- <div class="d-flex gap-1 review">
207
- <i class="flaticon-star"></i>
208
- <i class="flaticon-star"></i>
209
- <i class="flaticon-star"></i>
210
- <i class="flaticon-star"></i>
211
- <i class="flaticon-star"></i>
212
- <span>(19 Reviews)</span>
213
- </div>
214
- <h3>$397 <del>$497</del></h3>
215
- <div class="d-flex sold-stock gap-4 align-items-center">
216
- <span class="sold">35 Sold</span>
217
- <span class="stock">
218
- <i class="ri-check-line"></i>
219
- 125 In Stock
220
- </span>
221
- </div>
222
- <div
223
- class="d-flex align-items-center justify-content-between delivery-cart gap-4"
224
- >
225
- <span class="delivery">
226
- <i class="ri-truck-line"></i>
227
- {{ t('product.freeDelivery') }}
228
- </span>
229
- <button class="cart-btn">
230
- <i class="ri-shopping-cart-line"></i>
231
- <v-tooltip activator="parent" location="top">
232
- {{ t('product.addToCart') }}
233
- </v-tooltip>
234
- </button>
235
- </div>
236
- </div>
237
- </div>
238
- </div>
239
- <div class="col-c-20">
240
- <div class="single-product-telemobile-item">
241
- <div class="product-img position-relative">
242
- <NuxtLink to="/product-details" class="d-block">
243
- <img src="~/assets/images/product-9.png" alt="product" />
244
- </NuxtLink>
245
- <div
246
- class="d-flex justify-content-between align-items-center position-absolute top-0 start-0 end-0"
247
- >
248
- <span class="minus-count">-10%</span>
249
- <button class="border-0 wish-btn">
250
- <i class="ri-heart-line"></i>
251
- <i class="ri-heart-fill d-none"></i>
252
- <v-tooltip activator="parent" location="top">
253
- Favorite
254
- </v-tooltip>
255
- </button>
256
- </div>
257
- </div>
258
- <div class="product-content">
259
- <NuxtLink to="/product-details" class="title">
260
- Apple MacBook Pro 16.2" with Liquid Retina XDR Display
261
- </NuxtLink>
262
- <div class="d-flex gap-1 review">
263
- <i class="flaticon-star"></i>
264
- <i class="flaticon-star"></i>
265
- <i class="flaticon-star"></i>
266
- <i class="flaticon-star"></i>
267
- <i class="flaticon-star"></i>
268
- <span>(76 Reviews)</span>
269
- </div>
270
- <h3>$3,499 <del>$3,799</del></h3>
271
- <div class="d-flex sold-stock gap-4 align-items-center">
272
- <span class="sold">348 Sold</span>
273
- <span class="stock">
274
- <i class="ri-check-line"></i>
275
- 245 In Stock
276
- </span>
277
- </div>
278
- <div
279
- class="d-flex align-items-center justify-content-between delivery-cart gap-4"
280
- >
281
- <span class="delivery">
282
- <i class="ri-truck-line"></i>
283
- {{ t('product.freeDelivery') }}
284
- </span>
285
- <button class="cart-btn">
286
- <i class="ri-shopping-cart-line"></i>
287
- <v-tooltip activator="parent" location="top">
288
- {{ t('product.addToCart') }}
289
- </v-tooltip>
290
- </button>
291
- </div>
292
- </div>
293
- </div>
294
- </div>
295
- </div>
296
- </div>
297
- </div>
298
- </template>
299
-
300
- <script setup lang="ts">
301
- const { t } = useI18n();
302
- </script>
@@ -1,83 +0,0 @@
1
- <template>
2
- <div class="authentication-area ptb-60">
3
- <div class="container">
4
- <div class="authentication-content">
5
- <div class="row">
6
- <div class="col-lg-5">
7
- <div class="login h-100 text-center">
8
- <img
9
- src="~/assets/images/register.png"
10
- class="h-100 object-fit-cover"
11
- alt="register"
12
- />
13
- </div>
14
- </div>
15
- <div class="col-lg-7">
16
- <div class="authentication-form">
17
- <ul class="nav nav-tabs login-tabs" id="myTab" role="tablist">
18
- <li class="nav-item" role="presentation">
19
- <NuxtLink to="/login" class="nav-link">{{ t('auth.login') }}</NuxtLink>
20
- </li>
21
- <li class="nav-item" role="presentation">
22
- <NuxtLink to="/register" class="nav-link active">
23
- {{ t('auth.register') }}
24
- </NuxtLink>
25
- </li>
26
- </ul>
27
- <p>{{ t('auth.loginDescription') }}</p>
28
- <form>
29
- <div class="form-group mb-4">
30
- <label class="label">{{ t('auth.username') }} *</label>
31
- <input
32
- type="text"
33
- class="form-control"
34
- :placeholder="t('auth.username')"
35
- />
36
- </div>
37
- <div class="form-group mb-4">
38
- <label class="label">{{ t('auth.email') }} *</label>
39
- <input
40
- type="email"
41
- class="form-control"
42
- :placeholder="t('auth.email')"
43
- />
44
- </div>
45
- <div class="form-group mb-4">
46
- <label class="label">{{ t('auth.password') }} *</label>
47
- <input
48
- type="password"
49
- class="form-control"
50
- :placeholder="t('auth.password')"
51
- />
52
- </div>
53
- <div class="form-group mb-4">
54
- <button
55
- type="submit"
56
- class="btn btn-warning btn-pill text-white w-100 d-block"
57
- >
58
- {{ t('auth.register') }}
59
- </button>
60
- </div>
61
- <div class="form-group mb-0">
62
- <p class="text-secondary ms-1 text-primary">
63
- {{ t('auth.haveAccount') }}
64
- <NuxtLink
65
- to="/login"
66
- class="text-decoration-none text-primary"
67
- >
68
- {{ t('auth.login') }}
69
- </NuxtLink>
70
- </p>
71
- </div>
72
- </form>
73
- </div>
74
- </div>
75
- </div>
76
- </div>
77
- </div>
78
- </div>
79
- </template>
80
-
81
- <script setup lang="ts">
82
- const { t } = useI18n();
83
- </script>