@meeovi/layer-commerce 1.0.6 → 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 (323) hide show
  1. package/package.json +9 -2
  2. package/app/components/catalog/product/ProductAccordion/ProductAccordion.vue +0 -39
  3. package/app/components/catalog/product/ProductAccordion/__tests__/ProductAccordion.spec.ts +0 -15
  4. package/app/components/catalog/product/ProductAccordion/types.ts +0 -5
  5. package/app/components/catalog/product/ProductProperties/ProductProperties.vue +0 -50
  6. package/app/components/catalog/product/ProductProperties/__tests__/ProductProperties.spec.ts +0 -15
  7. package/app/components/catalog/product/ProductProperties/types.ts +0 -5
  8. package/app/components/catalog/product/ProductSlider/ProductSlider.vue +0 -28
  9. package/app/components/catalog/product/ProductSlider/__tests__/ProductSlider.spec.ts +0 -14
  10. package/app/components/catalog/product/ProductSlider/types.ts +0 -7
  11. package/app/components/catalog/product/RecommendedProducts/RecommendedProducts.vue +0 -12
  12. package/app/components/catalog/product/RecommendedProducts/types.ts +0 -5
  13. package/app/components/catalog/product/RenderContentProductSlider/RenderContentProductSlider.vue +0 -11
  14. package/app/components/catalog/product/add-attribute.vue +0 -54
  15. package/app/components/catalog/product/add-product-type.vue +0 -54
  16. package/app/components/catalog/product/add-product.vue +0 -53
  17. package/app/components/catalog/product/add-showcase.vue +0 -52
  18. package/app/components/catalog/product/add-station.vue +0 -54
  19. package/app/components/catalog/product/bestsellers.vue +0 -57
  20. package/app/components/catalog/product/bidding.vue +0 -93
  21. package/app/components/catalog/product/colorOptions.vue +0 -58
  22. package/app/components/catalog/product/deals.vue +0 -46
  23. package/app/components/catalog/product/exclusives.vue +0 -56
  24. package/app/components/catalog/product/featuredproducts.vue +0 -57
  25. package/app/components/catalog/product/giftCard.vue +0 -63
  26. package/app/components/catalog/product/latestproducts.vue +0 -46
  27. package/app/components/catalog/product/productCard.vue +0 -105
  28. package/app/components/catalog/product/productCompare.vue +0 -60
  29. package/app/components/catalog/product/productCompareTable.vue +0 -441
  30. package/app/components/catalog/product/productDetails.vue +0 -126
  31. package/app/components/catalog/product/productFaqs.vue +0 -17
  32. package/app/components/catalog/product/productGallery.vue +0 -16
  33. package/app/components/catalog/product/productQty.vue +0 -54
  34. package/app/components/catalog/product/productReviews.vue +0 -56
  35. package/app/components/catalog/product/productSpecs.vue +0 -116
  36. package/app/components/catalog/product/radiostation.vue +0 -36
  37. package/app/components/catalog/product/recentlyviewed.vue +0 -43
  38. package/app/components/catalog/product/relatedbrands.vue +0 -54
  39. package/app/components/catalog/product/relatedproducts.vue +0 -43
  40. package/app/components/catalog/product/relatedstations.vue +0 -40
  41. package/app/components/catalog/product/shippingOptions.vue +0 -41
  42. package/app/components/catalog/product/sizeOptions.vue +0 -42
  43. package/app/components/catalog/product/update-attribute-set.vue +0 -209
  44. package/app/components/catalog/product/update-attribute.vue +0 -118
  45. package/app/components/catalog/product/update-product.vue +0 -372
  46. package/app/components/catalog/product/update-showcase.vue +0 -153
  47. package/app/components/catalog/shops/relatedstores.vue +0 -37
  48. package/app/components/catalog/shops/restaurant.vue +0 -66
  49. package/app/components/catalog/shops/stores.vue +0 -44
  50. package/app/components/catalog/vendor/README.md +0 -3
  51. package/app/components/catalog/vendor/blocks/biggestcustomers.vue +0 -33
  52. package/app/components/catalog/vendor/blocks/lowestselling.vue +0 -33
  53. package/app/components/catalog/vendor/blocks/topcategories.vue +0 -33
  54. package/app/components/catalog/vendor/blocks/topproducts.vue +0 -27
  55. package/app/components/catalog/vendor/pages/attributes.vue +0 -43
  56. package/app/components/catalog/vendor/pages/commissions.vue +0 -43
  57. package/app/components/catalog/vendor/pages/crm.vue +0 -67
  58. package/app/components/catalog/vendor/pages/dashboard.vue +0 -46
  59. package/app/components/catalog/vendor/pages/emails.vue +0 -43
  60. package/app/components/catalog/vendor/pages/enquiries.vue +0 -43
  61. package/app/components/catalog/vendor/pages/invoices.vue +0 -43
  62. package/app/components/catalog/vendor/pages/orders.vue +0 -68
  63. package/app/components/catalog/vendor/pages/products.vue +0 -55
  64. package/app/components/catalog/vendor/pages/reviews.vue +0 -48
  65. package/app/components/catalog/vendor/pages/shipments.vue +0 -43
  66. package/app/components/catalog/vendor/pages/stores.vue +0 -43
  67. package/app/components/categories/chart/[id].vue +0 -200
  68. package/app/components/categories/chart/add-chart.vue +0 -142
  69. package/app/components/categories/chart/chart.vue +0 -82
  70. package/app/components/categories/chart/monthlyChart.vue +0 -46
  71. package/app/components/categories/chart/weeklyChart.vue +0 -46
  72. package/app/components/categories/chart/yearlyChart.vue +0 -46
  73. package/app/components/categories/charts.vue +0 -118
  74. package/app/components/categories/deals.vue +0 -101
  75. package/app/components/categories/eats.vue +0 -49
  76. package/app/components/categories/restaurants.vue +0 -26
  77. package/app/components/categories/station/[id].vue +0 -72
  78. package/app/components/categories/stations.vue +0 -124
  79. package/app/components/categories/time/time.vue +0 -63
  80. package/app/components/categories/travel.vue +0 -75
  81. package/app/components/categories/weather/weather.vue +0 -44
  82. package/app/components/content/blocks/breadcrumbs.vue +0 -0
  83. package/app/components/content/blocks/currencySwitcher.vue +0 -0
  84. package/app/components/content/blocks/languageSwitcher.vue +0 -0
  85. package/app/components/content/blocks/videoproduct.vue +0 -9
  86. package/app/components/content/pages/checkout.vue +0 -118
  87. package/app/components/content/pages/meeoviGlobal.vue +0 -68
  88. package/app/components/content/pages/pickup-locations.vue +0 -238
  89. package/app/components/content/pages/showcases.vue +0 -90
  90. package/app/components/content/pages/success.vue +0 -60
  91. package/app/components/marketing/add-brand.vue +0 -54
  92. package/app/components/marketing/add-incentive.vue +0 -54
  93. package/app/components/marketing/promotions/giftcards.vue +0 -102
  94. package/app/components/marketing/promotions/subscriptions.vue +0 -121
  95. package/app/components/marketing/update-incentive.vue +0 -326
  96. package/app/components/menus/lowernav.vue +0 -78
  97. package/app/components/partials/LocaleSelector.vue +0 -24
  98. package/app/components/partials/ShoppingCart.vue +0 -128
  99. package/app/components/partials/StripePayment.vue +0 -149
  100. package/app/components/partials/addToCartBtn.vue +0 -40
  101. package/app/components/partials/cartItem.vue +0 -124
  102. package/app/components/partials/checkoutButton.vue +0 -44
  103. package/app/components/partials/compareBtn.vue +0 -68
  104. package/app/components/partials/ratings.vue +0 -13
  105. package/app/components/partials/store/CurrencySelector.vue +0 -133
  106. package/app/components/partials/store/StoreSwitcher.vue +0 -13
  107. package/app/components/placeholders/Comments.vue +0 -15
  108. package/app/components/placeholders/CreateListBtn.vue +0 -7
  109. package/app/components/placeholders/Event.vue +0 -9
  110. package/app/components/placeholders/ListShowcases.vue +0 -9
  111. package/app/components/placeholders/Short.vue +0 -9
  112. package/app/components/placeholders/Space.vue +0 -9
  113. package/app/components/placeholders/Tag.vue +0 -7
  114. package/app/components/related/brandCard.vue +0 -41
  115. package/app/components/related/incentiveCard.vue +0 -44
  116. package/app/components/related/invoiceCard.vue +0 -43
  117. package/app/components/related/orderCard.vue +0 -43
  118. package/app/components/related/relatedproducts.vue +0 -17
  119. package/app/components/sales/CartPageContent/CartPageContent.vue +0 -37
  120. package/app/components/sales/CheckoutAddress/CheckoutAddress.vue +0 -50
  121. package/app/components/sales/CheckoutAddress/__tests__/CheckoutAddress.spec.ts +0 -16
  122. package/app/components/sales/CheckoutAddress/types.ts +0 -16
  123. package/app/components/sales/CheckoutPayment/CheckoutPayment.vue +0 -68
  124. package/app/components/sales/CheckoutPayment/__tests__/CheckoutPayment.spec.ts +0 -14
  125. package/app/components/sales/CheckoutPayment/types.ts +0 -12
  126. package/app/components/sales/OrderSummary/OrderSummary.vue +0 -57
  127. package/app/components/sales/OrderSummary/__tests__/ContactInformation.spec.ts +0 -52
  128. package/app/components/sales/OrderSummary/types.ts +0 -5
  129. package/app/components/sales/incentives.vue +0 -223
  130. package/app/components/sales/invoices.vue +0 -107
  131. package/app/components/sales/orders.vue +0 -378
  132. package/app/components/sales/shipments.vue +0 -65
  133. package/app/components/sales/transactions.vue +0 -109
  134. package/app/components/shop/add-shop.vue +0 -54
  135. package/app/components/shop/cart/cartItem.vue +0 -182
  136. package/app/components/shop/cart/checkout.vue +0 -415
  137. package/app/components/shop/checkout/StripeCardElement.vue +0 -206
  138. package/app/components/shop/checkout/StripeCheckout.vue +0 -49
  139. package/app/components/shop/checkout/addressBilling.vue +0 -263
  140. package/app/components/shop/checkout/addressShipping.vue +0 -175
  141. package/app/components/shop/checkout/cart/ProductItem.vue +0 -56
  142. package/app/components/shop/checkout/cart/PromotionItem.vue +0 -53
  143. package/app/composables/_types.ts +0 -18
  144. package/app/composables/adapters/abstract/cartAdapter.ts +0 -0
  145. package/app/composables/adapters/abstract/categoryAdapter.ts +0 -0
  146. package/app/composables/adapters/abstract/customerAdapter.ts +0 -0
  147. package/app/composables/adapters/abstract/inventoryAdapter.ts +0 -0
  148. package/app/composables/adapters/abstract/orderAdapter.ts +0 -0
  149. package/app/composables/adapters/abstract/productAdapter.ts +0 -7
  150. package/app/composables/cart/registry.ts +0 -20
  151. package/app/composables/cart/types.ts +0 -18
  152. package/app/composables/cart/useCart.ts +0 -15
  153. package/app/composables/config.ts +0 -19
  154. package/app/composables/defs/apiDefinitions.ts +0 -55
  155. package/app/composables/defs/extension.feature +0 -40
  156. package/app/composables/defs/extension.mocks.ts +0 -39
  157. package/app/composables/defs/extension.test.ts +0 -280
  158. package/app/composables/defs/extension.ts +0 -236
  159. package/app/composables/defs/index.ts +0 -3
  160. package/app/composables/defs/types.ts +0 -136
  161. package/app/composables/domain/cart.ts +0 -0
  162. package/app/composables/domain/category.ts +0 -0
  163. package/app/composables/domain/order.ts +0 -0
  164. package/app/composables/domain/price.ts +0 -0
  165. package/app/composables/domain/product.ts +0 -8
  166. package/app/composables/domain/reward.ts +0 -0
  167. package/app/composables/domain/transactions.ts +0 -0
  168. package/app/composables/helpers/contextualizedNormalizers.feature +0 -14
  169. package/app/composables/helpers/contextualizedNormalizers.test.ts +0 -85
  170. package/app/composables/helpers/contextualizedNormalizers.ts +0 -20
  171. package/app/composables/helpers/index.ts +0 -1
  172. package/app/composables/index.ts +0 -6
  173. package/app/composables/methods/auth.ts +0 -83
  174. package/app/composables/methods/cart.ts +0 -119
  175. package/app/composables/methods/category.ts +0 -27
  176. package/app/composables/methods/checkout.ts +0 -54
  177. package/app/composables/methods/customer.ts +0 -52
  178. package/app/composables/methods/helpers.ts +0 -5
  179. package/app/composables/methods/index.ts +0 -75
  180. package/app/composables/methods/order.ts +0 -39
  181. package/app/composables/methods/product.ts +0 -95
  182. package/app/composables/methods/settings.ts +0 -16
  183. package/app/composables/models/cart.ts +0 -95
  184. package/app/composables/models/category.ts +0 -13
  185. package/app/composables/models/checkout.ts +0 -17
  186. package/app/composables/models/customer.ts +0 -16
  187. package/app/composables/models/facets.ts +0 -25
  188. package/app/composables/models/index.ts +0 -94
  189. package/app/composables/models/order.ts +0 -43
  190. package/app/composables/models/product.ts +0 -73
  191. package/app/composables/models/shared.ts +0 -75
  192. package/app/composables/products/registry.ts +0 -20
  193. package/app/composables/products/types.ts +0 -13
  194. package/app/composables/products/useEvents.ts +0 -0
  195. package/app/composables/products/useGiftCards.ts +0 -0
  196. package/app/composables/products/useProducts.ts +0 -12
  197. package/app/composables/products/useSubscriptions.ts +0 -0
  198. package/app/composables/registry.ts +0 -21
  199. package/app/composables/stores/cart.ts +0 -218
  200. package/app/composables/stores/cartStore.ts +0 -300
  201. package/app/composables/stores/checkout.ts +0 -19
  202. package/app/composables/stores/compare.ts +0 -65
  203. package/app/composables/stores/currency.js +0 -29
  204. package/app/composables/stores/digital-products.js +0 -11
  205. package/app/composables/stores/index.js +0 -0
  206. package/app/composables/stores/orders.ts +0 -161
  207. package/app/composables/stores/product.ts +0 -26
  208. package/app/composables/stores/productList.ts +0 -0
  209. package/app/composables/stores/productListInfo.ts +0 -0
  210. package/app/composables/stores/products.ts +0 -112
  211. package/app/composables/stores/recentlyViewedProducts.ts +0 -0
  212. package/app/composables/stores/review.ts +0 -25
  213. package/app/composables/stores/storeInPickUp.ts +0 -22
  214. package/app/composables/stores/user.ts +0 -20
  215. package/app/composables/stores/wishlist.ts +0 -19
  216. package/app/composables/types/Order.type.ts +0 -181
  217. package/app/composables/types/index.ts +0 -285
  218. package/app/composables/types/product.ts +0 -14
  219. package/app/composables/useBreakpoints/index.ts +0 -1
  220. package/app/composables/useBreakpoints/useBreakpoints.ts +0 -28
  221. package/app/composables/useCart/__tests__/useCart.spec.ts +0 -11
  222. package/app/composables/useCart/index.ts +0 -1
  223. package/app/composables/useCart/types.ts +0 -17
  224. package/app/composables/useCart/useCart.ts +0 -46
  225. package/app/composables/useCartShippingMethods/__tests__/useCartShippingMethods.spec.ts +0 -11
  226. package/app/composables/useCartShippingMethods/index.ts +0 -1
  227. package/app/composables/useCartShippingMethods/types.ts +0 -17
  228. package/app/composables/useCartShippingMethods/useCartShippingMethods.ts +0 -47
  229. package/app/composables/useCatalog.ts +0 -64
  230. package/app/composables/useContent/index.ts +0 -1
  231. package/app/composables/useContent/types.ts +0 -44
  232. package/app/composables/useContent/useContent.ts +0 -45
  233. package/app/composables/useContent.ts +0 -57
  234. package/app/composables/useCustomer/__tests__/useCustomer.spec.ts +0 -25
  235. package/app/composables/useCustomer/index.ts +0 -2
  236. package/app/composables/useCustomer/types.ts +0 -17
  237. package/app/composables/useCustomer/useCustomer.ts +0 -40
  238. package/app/composables/useCustomerAddress/__tests__/useCustomerAddress.spec.ts +0 -11
  239. package/app/composables/useCustomerAddress/index.ts +0 -2
  240. package/app/composables/useCustomerAddress/types.ts +0 -17
  241. package/app/composables/useCustomerAddress/useCustomerAddress.ts +0 -55
  242. package/app/composables/useCustomerOrder/__tests__/useCustomerOrder.spec.ts +0 -11
  243. package/app/composables/useCustomerOrder/adress.ts +0 -10
  244. package/app/composables/useCustomerOrder/index.ts +0 -2
  245. package/app/composables/useCustomerOrder/product.ts +0 -37
  246. package/app/composables/useCustomerOrder/types.ts +0 -40
  247. package/app/composables/useCustomerOrder/useCustomerOrder.ts +0 -63
  248. package/app/composables/useCustomerOrders/__tests__/useCustomerOrders.spec.ts +0 -11
  249. package/app/composables/useCustomerOrders/index.ts +0 -2
  250. package/app/composables/useCustomerOrders/types.ts +0 -20
  251. package/app/composables/useCustomerOrders/useCustomerOrders.ts +0 -56
  252. package/app/composables/useCustomerReturns/__tests__/useCustomerReturns.spec.ts +0 -11
  253. package/app/composables/useCustomerReturns/index.ts +0 -2
  254. package/app/composables/useCustomerReturns/types.ts +0 -17
  255. package/app/composables/useCustomerReturns/useCustomerReturns.ts +0 -41
  256. package/app/composables/useHandleError/index.ts +0 -1
  257. package/app/composables/useHandleError/types.ts +0 -11
  258. package/app/composables/useHandleError/useHandleError.ts +0 -27
  259. package/app/composables/usePageTitle.ts +0 -16
  260. package/app/composables/useProduct/index.ts +0 -2
  261. package/app/composables/useProduct/types.ts +0 -17
  262. package/app/composables/useProduct/useProduct.ts +0 -42
  263. package/app/composables/useProductAttribute/__tests__/useProduct.mock.ts +0 -31
  264. package/app/composables/useProductAttribute/__tests__/useProductAttribute.spec.ts +0 -14
  265. package/app/composables/useProductAttribute/index.ts +0 -1
  266. package/app/composables/useProductAttribute/useProductAttribute.ts +0 -37
  267. package/app/composables/useProductRecommended/__tests__/useProductRecommended.spec.ts +0 -12
  268. package/app/composables/useProductRecommended/index.ts +0 -1
  269. package/app/composables/useProductRecommended/types.ts +0 -17
  270. package/app/composables/useProductRecommended/useProductRecommended.ts +0 -43
  271. package/app/composables/useProductReviews/__tests__/productReviews.mock.ts +0 -20
  272. package/app/composables/useProductReviews/__tests__/useProductReviews.spec.ts +0 -22
  273. package/app/composables/useProductReviews/index.ts +0 -2
  274. package/app/composables/useProductReviews/types.ts +0 -17
  275. package/app/composables/useProductReviews/useProductReviews.ts +0 -46
  276. package/app/composables/useProducts/__tests__/useProducts.spec.ts +0 -11
  277. package/app/composables/useProducts/types.ts +0 -22
  278. package/app/composables/useProducts/useProducts.ts +0 -41
  279. package/app/composables/utils/countryList.ts +0 -14
  280. package/app/composables/utils/currency.js +0 -56
  281. package/app/composables/utils/glossary.ts +0 -0
  282. package/app/composables/utils/importExport.ts +0 -0
  283. package/app/composables/utils/index.js +0 -0
  284. package/app/composables/utils/print.ts +0 -0
  285. package/app/composables/utils/shopThemes.ts +0 -0
  286. package/app/composables/utils/statistics.ts +0 -0
  287. package/app/composables/utils/stock.ts +0 -0
  288. package/app/composables/utils/stripe.ts +0 -16
  289. package/app/composables/utils/taxation.ts +0 -0
  290. package/app/composables/utils/tellFriends.ts +0 -0
  291. package/app/composables/validationRules/index.ts +0 -1
  292. package/app/composables/validationRules/password.feature +0 -67
  293. package/app/composables/validationRules/password.test.ts +0 -89
  294. package/app/composables/validationRules/password.ts +0 -25
  295. package/app/composables/vendors/index.ts +0 -0
  296. package/app/composables/vendors/registry.ts +0 -0
  297. package/app/composables/vendors/useAffiliates.ts +0 -0
  298. package/app/composables/vendors/useCommission.ts +0 -0
  299. package/app/modules/vue-head/composables/useHead.ts +0 -3
  300. package/app/pages/brand/[...slug].vue +0 -92
  301. package/app/pages/brands.vue +0 -90
  302. package/app/pages/cart.vue +0 -142
  303. package/app/pages/compare.vue +0 -166
  304. package/app/pages/departments/[...slug].vue +0 -385
  305. package/app/pages/departments/category/[...slug].vue +0 -135
  306. package/app/pages/incentive/[...id].vue +0 -66
  307. package/app/pages/invoice/[id].vue +0 -309
  308. package/app/pages/order/[id].vue +0 -327
  309. package/app/pages/product/[...id].vue +0 -309
  310. package/app/pages/product/showcases/index.vue +0 -86
  311. package/app/pages/shipment/[...id].vue +0 -176
  312. package/app/pages/shop/[...slug].vue +0 -158
  313. package/app/pages/shops.vue +0 -76
  314. package/app/pages/subscription/[...id].vue +0 -147
  315. package/app/pages/transaction/[...id].vue +0 -74
  316. package/app/types/shims-imports.d.ts +0 -13
  317. package/app/utils/client.ts +0 -26
  318. package/app/utils/index.ts +0 -53
  319. package/app/utils/normalizer.ts +0 -23
  320. package/app/utils/normalizers/magento.ts +0 -29
  321. package/app/utils/normalizers/shopify.ts +0 -29
  322. package/global.d.ts +0 -149
  323. package/tsconfig.json +0 -31
@@ -1,43 +0,0 @@
1
- <template>
2
- <v-card>
3
- <v-toolbar color="" title="Stores"></v-toolbar>
4
- <v-tabs v-model="tab" bg-color="primary">
5
- <v-tab value="one">My Stores</v-tab>
6
- <!--<v-tab value="two">Item Two</v-tab>
7
- <v-tab value="three">Item Three</v-tab>-->
8
- </v-tabs>
9
-
10
- <v-card-text>
11
- <v-tabs-window v-model="tab">
12
- <v-tabs-window-item value="one">
13
- One
14
- </v-tabs-window-item>
15
-
16
- <v-tabs-window-item value="two">
17
- Two
18
- </v-tabs-window-item>
19
-
20
- <v-tabs-window-item value="three">
21
- Three
22
- </v-tabs-window-item>
23
- </v-tabs-window>
24
- </v-card-text>
25
- </v-card>
26
- </template>
27
-
28
- <script setup>
29
- import {
30
- ref
31
- } from 'vue'
32
-
33
- const tab = ref(null);
34
-
35
- definePageMeta({
36
- layout: "sellers",
37
- middleware: ['authenticated'],
38
- });
39
-
40
- useHead({
41
- title: 'Sellers Stores'
42
- })
43
- </script>
@@ -1,200 +0,0 @@
1
- <template>
2
- <div class="contentPage">
3
- <v-row>
4
- <v-col cols="12">
5
- <v-card :color="chartbar?.color">
6
- <div class="d-flex flex-no-wrap justify-space-between">
7
- <div>
8
- <v-card-title class="text-h5">
9
- {{ chart?.name }}
10
- </v-card-title>
11
-
12
- <v-card-subtitle>{{ chart?.description }}</v-card-subtitle>
13
- </div>
14
-
15
- <v-avatar class="ma-3" rounded="0" size="125">
16
- <NuxtImg :src="`${$directus.url}/assets/${chart?.image?.filename_disk}`" />
17
- </v-avatar>
18
- </div>
19
- </v-card>
20
- </v-col>
21
-
22
- <v-col cols="12">
23
- <v-card elevation="0">
24
- <v-tabs v-model="tab" :bg-color="chartbar?.color">
25
- <div v-for="(menu, index) in spacebar?.menus" :key="index">
26
- <v-tab :value="menu?.value">{{ menu?.name }}</v-tab>
27
- </div>
28
- </v-tabs>
29
-
30
- <v-card-text>
31
- <v-tabs-window v-model="tab">
32
- <v-tabs-window-item :value="chartbar?.menus[0]?.value">
33
- <!-- Weekly Chart Table -->
34
- <WeeklyChart :data="topProducts" />
35
- </v-tabs-window-item>
36
- <v-tabs-window-item :value="chartbar?.menus[1]?.value">
37
- <!-- Monthly Chart Table -->
38
- <MonthlyChart :data="topProducts" />
39
- </v-tabs-window-item>
40
- <v-tabs-window-item :value="chartbar?.menus[2]?.value">
41
- <!-- Yearly Chart Table -->
42
- <YearlyChart :data="topProducts" />
43
- </v-tabs-window-item>
44
-
45
- <v-tabs-window-item :value="chartbar?.menus[3]?.value">
46
- <v-row>
47
- <v-col v-for="charts in charts" :key="charts">
48
- <charts :chart="charts" />
49
- </v-col>
50
- </v-row>
51
- </v-tabs-window-item>
52
- </v-tabs-window>
53
- </v-card-text>
54
- </v-card>
55
- </v-col>
56
- </v-row>
57
- </div>
58
- </template>
59
-
60
- <script setup>
61
- import {
62
- ref,
63
- computed
64
- } from 'vue'
65
- import WeeklyChart from '@/components/charts/weeklyChart.vue'
66
- import MonthlyChart from '@/components/charts/monthlyChart.vue'
67
- import YearlyChart from '@/components/charts/yearlyChart.vue'
68
-
69
- const tab = ref('weekly')
70
- const route = useRoute()
71
- const topProducts = ref([]);
72
-
73
- // Add new reactive references
74
- const filterOptions = ref({
75
- category: null,
76
- timeRange: 'weekly'
77
- })
78
-
79
- const sortOptions = ref({
80
- field: 'sales',
81
- order: 'desc'
82
- })
83
-
84
- const {
85
- $directus,
86
- $readItem,
87
- $readItems
88
- } = useNuxtApp()
89
-
90
- const {
91
- data: chart
92
- } = await useAsyncData('chart', () => {
93
- return $directus.request($readItem('musicchart', route.params.id, {
94
- fields: ['*', {
95
- '*': ['*']
96
- }]
97
- }))
98
- })
99
-
100
- const {
101
- data: charts
102
- } = await useAsyncData('charts', () => {
103
- return $directus.request($readItems('musicchart', {
104
- fields: ['*', {
105
- '*': ['*']
106
- }]
107
- }))
108
- })
109
-
110
- const {
111
- data: chartbar
112
- } = await useAsyncData('chartbar', () => {
113
- return $directus.request($readItem('navigation', '53'))
114
- })
115
-
116
- const categories = ref([]) // Will be populated from your products data
117
-
118
- // Calculate helper functions
119
- const calculateTrend = (current, previous) => {
120
- if (current > previous) return 'up';
121
- if (current < previous) return 'down';
122
- return 'stable';
123
- };
124
-
125
- const calculateWeeksOnChart = (firstAppearance) => {
126
- const now = new Date();
127
- const start = new Date(firstAppearance);
128
- return Math.floor((now - start) / (7 * 24 * 60 * 60 * 1000));
129
- };
130
-
131
- // Modify your existing fetchChartData function
132
- const fetchChartData = async (timeframe) => {
133
- try {
134
- const now = new Date();
135
- let startDate;
136
-
137
- // Determine the start date based on the timeframe
138
- if (timeframe === "weekly") {
139
- startDate = new Date(now.setDate(now.getDate() - 7));
140
- } else if (timeframe === "monthly") {
141
- startDate = new Date(now.getFullYear(), now.getMonth(), 1);
142
- } else if (timeframe === "yearly") {
143
- startDate = new Date(now.getFullYear(), 0, 1);
144
- }
145
-
146
- const {
147
- data
148
- } = await useAsyncData("productChart", () => {
149
- return $directus.request(
150
- $readItems("products", {
151
- sort: ["-sales"],
152
- limit: 100,
153
- filter: {
154
- created_on: {
155
- _gte: startDate.toISOString(),
156
- },
157
- },
158
- })
159
- );
160
- });
161
-
162
- // Process the data and calculate fields
163
- const processedData = data.value.map((product) => ({
164
- ...product,
165
- trend: calculateTrend(product.currentSales, product.previousSales),
166
- weeksOnChart: calculateWeeksOnChart(product.firstAppearance),
167
- }));
168
-
169
- // Update top products and categories
170
- topProducts.value = processedData;
171
- categories.value = [...new Set(processedData.map((p) => p.category))];
172
- } catch (error) {
173
- console.error("Error fetching chart data:", error);
174
- }
175
- };
176
-
177
- // Watch for tab changes to update data
178
- watch(tab, (newValue) => {
179
- fetchChartData(newValue);
180
- });
181
-
182
- // Filter and sort products
183
- const sortedAndFilteredProducts = computed(() => {
184
- let filtered = [...topProducts.value];
185
-
186
- if (filterOptions.value.category) {
187
- filtered = filtered.filter(
188
- (product) => product.category === filterOptions.value.category
189
- );
190
- }
191
-
192
- return filtered.sort((a, b) => {
193
- const aValue = a[sortOptions.value.field];
194
- const bValue = b[sortOptions.value.field];
195
-
196
- return sortOptions.value.order === 'asc' ?
197
- aValue - bValue :
198
- bValue - aValue;
199
- });
200
- });
@@ -1,142 +0,0 @@
1
- <template>
2
- <div>
3
- <form @submit.prevent="createActivityAndRefresh">
4
- <v-card>
5
- <v-card-text>
6
- <v-text-field v-model="chartData.name" id="chartName" label="Chart Name*" required />
7
- <v-textarea v-model="chartData.description" label="What's happening?*" variant="outlined"
8
- required></v-textarea>
9
- <v-row>
10
- <v-col cols="6">
11
- <v-select v-model="chartData.type" label="What type of chart is this?"
12
- :items="['Notes', 'News']" />
13
- </v-col>
14
- <v-col cols="6">
15
- <v-select v-model="chartData.status" label="Is this chart public or private?"
16
- :items="['Public', 'Private']" />
17
- </v-col>
18
- <v-col cols="12">
19
- <v-file-input @change="handleImageUpload" clearable density="compact"
20
- prepend-icon="fas fa-image" accept="image/*" label="Image" variant="solo-inverted" />
21
- </v-col>
22
- </v-row>
23
- </v-card-text>
24
- <v-divider class="mt-12"></v-divider>
25
- <v-card-actions>
26
- <v-btn color="blue-darken-1" variant="text" @click="dialog = false">
27
- Close
28
- </v-btn>
29
- <v-spacer></v-spacer>
30
- <v-btn color="blue-darken-1" variant="text" type="submit" @click="reset = false">
31
- Reset
32
- </v-btn>
33
- <v-btn color="blue-darken-1" variant="text" type="submit" @click="createNewChart">
34
- Create
35
- </v-btn>
36
- </v-card-actions>
37
- </v-card>
38
- </form>
39
- </div>
40
- </template>
41
-
42
- <script>
43
- export default {
44
- methods: {
45
- reset() {
46
- this.$refs.form.reset()
47
- },
48
- },
49
- }
50
- </script>
51
-
52
- <script setup>
53
- import {
54
- ref
55
- } from 'vue';
56
- import {
57
- useRoute } from 'vue-router';
58
- import uploadFiles from '#shared/app/composables/globals/uploadFiles';
59
- import createChart from '@/composables/charts/createChart';
60
-
61
- // Make sure your props are properly defined
62
- // Update props to include spaces_id
63
- const props = defineProps({
64
- spaces_id: {
65
- type: String,
66
- required: true
67
- }
68
- });
69
-
70
- const { user } = useSupabaseAuth()
71
-
72
- const route = useRoute();
73
-
74
-
75
- const chartData = ref({
76
- name: '',
77
- description: '',
78
- type: '',
79
- status: '',
80
- image: '',
81
- reactions: '',
82
- color: '',
83
- coverFile: null,
84
- avatarFile: null,
85
- creator: user?.email,
86
- })
87
-
88
- const dialog = ref(false);
89
-
90
- const imageFile = ref(null);
91
- const documentFile = ref(null);
92
-
93
- // Emit event for parent component updates
94
- const emit = defineEmits(['chart-created']);
95
-
96
- const handleImageUpload = (event) => {
97
- imageFile.value = event.target.files[0];
98
- };
99
-
100
-
101
- const createNewChart = async () => {
102
- try {
103
- // Upload files if any
104
- const uploadedFiles = await uploadFiles({
105
- imageFile: imageFile.value,
106
- documentFile: documentFile.value,
107
- });
108
-
109
- // Update chart data with uploaded files
110
- if (uploadedFiles) {
111
- chartData.value.image = uploadedFiles.imageId;
112
- chartData.value.media = uploadedFiles.documentId;
113
- }
114
-
115
- // Set spaces_id in chartData to link chart to the space
116
- chartData.value.spaces_id = props.spaces_id;
117
-
118
- // Create the chart with space relationship
119
- const chart = await createChart(chartData.value);
120
-
121
- console.log('Created Chart:', chart);
122
-
123
- // Emit event to refresh parent component
124
- emit('chart-created', chart);
125
-
126
- // Close dialog and reset form
127
- dialog.value = false;
128
- reset();
129
-
130
- // Optional: Redirect to the space page
131
- router.push(`/departments/categories/chart/${props.spaces_id}`);
132
- } catch (error) {
133
- console.error('Error creating chart:', error);
134
- // Add error handling here
135
- }
136
- };
137
-
138
- // Add watch to update spaces_id if props change
139
- watch(() => props.spaces_id, (newSpaceId) => {
140
- chartData.value.spaces_id = newSpaceId;
141
- });
142
- </script>
@@ -1,82 +0,0 @@
1
- <template>
2
- <div class="contentPage">
3
- <v-toolbar :style="`background-color: ${chart?.color}`" :title="chart?.name"></v-toolbar>
4
- <v-table class="charttable">
5
- <thead>
6
- <tr>
7
- <th></th>
8
- <th class="text-left">
9
- This Week
10
- </th>
11
- <th class="text-left">Name</th>
12
- <th class="text-left">
13
- Award
14
- </th>
15
- <th class="text-left">
16
- Last Week
17
- </th>
18
- <th class="text-left">
19
- Peak Position
20
- </th>
21
- <th class="text-left">
22
- Weeks on Chart
23
- </th>
24
- <th class="text-left">
25
- Buy
26
- </th>
27
- <th class="text-left"><share /></th>
28
- </tr>
29
- </thead>
30
- <tbody>
31
- <tr v-for="(products, index) in chart?.products?.products_id" :key="index">
32
- <td class="chartnumber">
33
- <h1>{{ chart?.thisWeek }}</h1>
34
- </td>
35
- <td>
36
- <v-avatar :image="products?.image?.filename_disk" rounded="0" size="130"></v-avatar>
37
- </td>
38
- <td>
39
- <v-list>
40
- <v-list-item>
41
- <v-list-item-title>{{ products?.name }}</v-list-item-title>
42
- <div v-for="product in products?.product_types?.product_types_id" :key="product">
43
- <v-list-item-subtitle>{{ product?.name }}</v-list-item-subtitle>
44
- </div>
45
- </v-list-item>
46
- </v-list>
47
- </td>
48
- <td>
49
- <v-avatar icon="fas fa-star" :style="`color: ${chart?.award}`"></v-avatar>
50
- </td>
51
- <td>
52
- <h5>{{ chart?.last_week }}</h5>
53
- </td>
54
- <td>
55
- <h5>{{ chart?.peak_position }}</h5>
56
- </td>
57
- <td>
58
- <h5>{{ chart?.weeks_on_chart }}</h5>
59
- </td>
60
- <td>
61
- <v-btn href="" icon="fas fa-shopping-cart"></v-btn>
62
- </td>
63
- </tr>
64
- </tbody>
65
- </v-table>
66
- <relatedchart />
67
- <relatedproducts /><!---->
68
- <recentlyviewed /><!---->
69
- </div>
70
- </template>
71
-
72
- <script setup>
73
- import share from '#social/app/components/blocks/share.vue'
74
- import relatedchart from '../../related/relatedcharts.vue'
75
- import relatedproducts from '#commerce/app/components/related/relatedproducts.vue'
76
- import recentlyviewed from '#commerce/app/components/catalog/product/recentlyviewed.vue'
77
-
78
-
79
- useHead({
80
- title: computed(() => chart?.value?.name || 'Chart Page')
81
- });
82
- </script>
@@ -1,46 +0,0 @@
1
- <template>
2
- <v-table fixed-header>
3
- <thead>
4
- <tr>
5
- <th class="text-left">Position</th>
6
- <th class="text-left">Product</th>
7
- <th class="text-left">Sales</th>
8
- <th class="text-left">Last Week</th>
9
- <th class="text-left">Peak Position</th>
10
- <th class="text-left">Weeks on Chart</th>
11
- <th class="text-left">Trend</th>
12
- </tr>
13
- </thead>
14
- <tbody>
15
- <tr v-for="(product, index) in data" :key="product.id">
16
- <td>{{ index + 1 }}</td>
17
- <td>
18
- <div class="d-flex align-center">
19
- <v-img :src="product.image" width="50" height="50" class="mr-3" />
20
- <div>
21
- <div class="font-weight-bold">{{ product.name }}</div>
22
- <div class="text-caption">{{ product.category }}</div>
23
- </div>
24
- </div>
25
- </td>
26
- <td>{{ product.sales }}</td>
27
- <td>
28
- <v-chip :color="getPositionColor(product.lastWeek, index + 1)" size="small">
29
- {{ product.lastWeek }}
30
- </v-chip>
31
- </td>
32
- <td>{{ product.peakPosition }}</td>
33
- <td>{{ product.weeksOnChart }}</td>
34
- <td>
35
- <v-icon :color="getTrendColor(product.trend)">{{ getTrendIcon(product.trend) }}</v-icon>
36
- </td>
37
- </tr>
38
- </tbody>
39
- </v-table>
40
- </template>
41
-
42
- <script setup>
43
- defineProps({
44
- data: Array, // Accepts the chart data
45
- });
46
- </script>
@@ -1,46 +0,0 @@
1
- <template>
2
- <v-table fixed-header>
3
- <thead>
4
- <tr>
5
- <th class="text-left">Position</th>
6
- <th class="text-left">Product</th>
7
- <th class="text-left">Sales</th>
8
- <th class="text-left">Last Week</th>
9
- <th class="text-left">Peak Position</th>
10
- <th class="text-left">Weeks on Chart</th>
11
- <th class="text-left">Trend</th>
12
- </tr>
13
- </thead>
14
- <tbody>
15
- <tr v-for="(product, index) in data" :key="product.id">
16
- <td>{{ index + 1 }}</td>
17
- <td>
18
- <div class="d-flex align-center">
19
- <v-img :src="product.image" width="50" height="50" class="mr-3" />
20
- <div>
21
- <div class="font-weight-bold">{{ product.name }}</div>
22
- <div class="text-caption">{{ product.category }}</div>
23
- </div>
24
- </div>
25
- </td>
26
- <td>{{ product.sales }}</td>
27
- <td>
28
- <v-chip :color="getPositionColor(product.lastWeek, index + 1)" size="small">
29
- {{ product.lastWeek }}
30
- </v-chip>
31
- </td>
32
- <td>{{ product.peakPosition }}</td>
33
- <td>{{ product.weeksOnChart }}</td>
34
- <td>
35
- <v-icon :color="getTrendColor(product.trend)">{{ getTrendIcon(product.trend) }}</v-icon>
36
- </td>
37
- </tr>
38
- </tbody>
39
- </v-table>
40
- </template>
41
-
42
- <script setup>
43
- defineProps({
44
- data: Array, // Accepts the chart data
45
- });
46
- </script>
@@ -1,46 +0,0 @@
1
- <template>
2
- <v-table fixed-header>
3
- <thead>
4
- <tr>
5
- <th class="text-left">Position</th>
6
- <th class="text-left">Product</th>
7
- <th class="text-left">Sales</th>
8
- <th class="text-left">Last Week</th>
9
- <th class="text-left">Peak Position</th>
10
- <th class="text-left">Weeks on Chart</th>
11
- <th class="text-left">Trend</th>
12
- </tr>
13
- </thead>
14
- <tbody>
15
- <tr v-for="(product, index) in data" :key="product.id">
16
- <td>{{ index + 1 }}</td>
17
- <td>
18
- <div class="d-flex align-center">
19
- <v-img :src="product.image" width="50" height="50" class="mr-3" />
20
- <div>
21
- <div class="font-weight-bold">{{ product.name }}</div>
22
- <div class="text-caption">{{ product.category }}</div>
23
- </div>
24
- </div>
25
- </td>
26
- <td>{{ product.sales }}</td>
27
- <td>
28
- <v-chip :color="getPositionColor(product.lastWeek, index + 1)" size="small">
29
- {{ product.lastWeek }}
30
- </v-chip>
31
- </td>
32
- <td>{{ product.peakPosition }}</td>
33
- <td>{{ product.weeksOnChart }}</td>
34
- <td>
35
- <v-icon :color="getTrendColor(product.trend)">{{ getTrendIcon(product.trend) }}</v-icon>
36
- </td>
37
- </tr>
38
- </tbody>
39
- </v-table>
40
- </template>
41
-
42
- <script setup>
43
- defineProps({
44
- data: Array, // Accepts the chart data
45
- });
46
- </script>