@mframework/layer-commerce 0.0.7 → 0.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 (206) hide show
  1. package/app/components/catalog/product/ProductAccordion/ProductAccordion.vue +41 -0
  2. package/app/components/catalog/product/ProductAccordion/__tests__/ProductAccordion.spec.ts +15 -0
  3. package/app/components/catalog/product/ProductAccordion/types.ts +5 -0
  4. package/app/components/catalog/product/ProductProperties/ProductProperties.vue +52 -0
  5. package/app/components/catalog/product/ProductProperties/__tests__/ProductProperties.spec.ts +15 -0
  6. package/app/components/catalog/product/ProductProperties/types.ts +5 -0
  7. package/app/components/catalog/product/ProductSlider/ProductSlider.vue +28 -0
  8. package/app/components/catalog/product/ProductSlider/__tests__/ProductSlider.spec.ts +14 -0
  9. package/app/components/catalog/product/ProductSlider/types.ts +7 -0
  10. package/app/components/catalog/product/RecommendedProducts/RecommendedProducts.vue +12 -0
  11. package/app/components/catalog/product/RecommendedProducts/types.ts +5 -0
  12. package/app/components/catalog/product/RenderContentProductSlider/RenderContentProductSlider.vue +11 -0
  13. package/app/components/catalog/product/add-attribute.vue +54 -0
  14. package/app/components/catalog/product/add-product-type.vue +54 -0
  15. package/app/components/catalog/product/add-product.vue +53 -0
  16. package/app/components/catalog/product/add-showcase.vue +52 -0
  17. package/app/components/catalog/product/add-station.vue +54 -0
  18. package/app/components/catalog/product/bestsellers.vue +69 -0
  19. package/app/components/catalog/product/bidding.vue +93 -0
  20. package/app/components/catalog/product/colorOptions.vue +58 -0
  21. package/app/components/catalog/product/deals.vue +61 -0
  22. package/app/components/catalog/product/exclusives.vue +58 -0
  23. package/app/components/catalog/product/featuredproducts.vue +69 -0
  24. package/app/components/catalog/product/giftCard.vue +63 -0
  25. package/app/components/catalog/product/latestproducts.vue +58 -0
  26. package/app/components/catalog/product/productCard.vue +71 -0
  27. package/app/components/catalog/product/productCompare.vue +60 -0
  28. package/app/components/catalog/product/productCompareTable.vue +441 -0
  29. package/app/components/catalog/product/productDetails.vue +120 -0
  30. package/app/components/catalog/product/productFaqs.vue +17 -0
  31. package/app/components/catalog/product/productGallery.vue +16 -0
  32. package/app/components/catalog/product/productQty.vue +54 -0
  33. package/app/components/catalog/product/productReviews.vue +56 -0
  34. package/app/components/catalog/product/productSpecs.vue +116 -0
  35. package/app/components/catalog/product/radiostation.vue +36 -0
  36. package/app/components/catalog/product/recentlyviewed.vue +43 -0
  37. package/app/components/catalog/product/relatedbrands.vue +54 -0
  38. package/app/components/catalog/product/relatedproducts.vue +58 -0
  39. package/app/components/catalog/product/relatedstations.vue +40 -0
  40. package/app/components/catalog/product/shippingOptions.vue +41 -0
  41. package/app/components/catalog/product/sizeOptions.vue +47 -0
  42. package/app/components/catalog/product/update-attribute-set.vue +209 -0
  43. package/app/components/catalog/product/update-attribute.vue +118 -0
  44. package/app/components/catalog/product/update-product.vue +372 -0
  45. package/app/components/catalog/product/update-showcase.vue +153 -0
  46. package/app/components/catalog/shops/relatedstores.vue +52 -0
  47. package/app/components/catalog/shops/restaurant.vue +66 -0
  48. package/app/components/catalog/shops/stores.vue +44 -0
  49. package/app/components/catalog/vendor/README.md +3 -0
  50. package/app/components/catalog/vendor/blocks/biggestcustomers.vue +33 -0
  51. package/app/components/catalog/vendor/blocks/lowestselling.vue +33 -0
  52. package/app/components/catalog/vendor/blocks/topcategories.vue +33 -0
  53. package/app/components/catalog/vendor/blocks/topproducts.vue +27 -0
  54. package/app/components/catalog/vendor/pages/attributes.vue +43 -0
  55. package/app/components/catalog/vendor/pages/commissions.vue +43 -0
  56. package/app/components/catalog/vendor/pages/crm.vue +67 -0
  57. package/app/components/catalog/vendor/pages/dashboard.vue +46 -0
  58. package/app/components/catalog/vendor/pages/emails.vue +43 -0
  59. package/app/components/catalog/vendor/pages/enquiries.vue +43 -0
  60. package/app/components/catalog/vendor/pages/invoices.vue +43 -0
  61. package/app/components/catalog/vendor/pages/orders.vue +68 -0
  62. package/app/components/catalog/vendor/pages/products.vue +55 -0
  63. package/app/components/catalog/vendor/pages/reviews.vue +48 -0
  64. package/app/components/catalog/vendor/pages/shipments.vue +43 -0
  65. package/app/components/catalog/vendor/pages/stores.vue +43 -0
  66. package/app/components/content/blocks/breadcrumbs.vue +0 -0
  67. package/app/components/content/blocks/currencySwitcher.vue +0 -0
  68. package/app/components/content/blocks/languageSwitcher.vue +0 -0
  69. package/app/components/content/blocks/videoproduct.vue +9 -0
  70. package/app/components/content/pages/checkout.vue +118 -0
  71. package/app/components/content/pages/meeoviGlobal.vue +68 -0
  72. package/app/components/content/pages/pickup-locations.vue +238 -0
  73. package/app/components/content/pages/showcases.vue +90 -0
  74. package/app/components/content/pages/success.vue +60 -0
  75. package/app/components/marketing/add-brand.vue +54 -0
  76. package/app/components/marketing/add-incentive.vue +54 -0
  77. package/app/components/marketing/promotions/giftcards.vue +127 -0
  78. package/app/components/marketing/promotions/subscriptions.vue +134 -0
  79. package/app/components/marketing/update-incentive.vue +326 -0
  80. package/app/components/menus/lowernav.vue +78 -0
  81. package/app/components/partials/LocaleSelector.vue +24 -0
  82. package/app/components/partials/ShoppingCart.vue +128 -0
  83. package/app/components/partials/StripePayment.vue +149 -0
  84. package/app/components/partials/addToCartBtn.vue +40 -0
  85. package/app/components/partials/cartItem.vue +124 -0
  86. package/app/components/partials/checkoutButton.vue +44 -0
  87. package/app/components/partials/compareBtn.vue +68 -0
  88. package/app/components/partials/ratings.vue +13 -0
  89. package/app/components/partials/store/CurrencySelector.vue +133 -0
  90. package/app/components/partials/store/StoreSwitcher.vue +13 -0
  91. package/app/components/related/brandCard.vue +41 -0
  92. package/app/components/related/incentiveCard.vue +44 -0
  93. package/app/components/related/invoiceCard.vue +43 -0
  94. package/app/components/related/orderCard.vue +43 -0
  95. package/app/components/related/relatedproducts.vue +17 -0
  96. package/app/components/sales/CartPageContent/CartPageContent.vue +43 -0
  97. package/app/components/sales/CheckoutAddress/CheckoutAddress.vue +50 -0
  98. package/app/components/sales/CheckoutAddress/__tests__/CheckoutAddress.spec.ts +16 -0
  99. package/app/components/sales/CheckoutAddress/types.ts +16 -0
  100. package/app/components/sales/CheckoutPayment/CheckoutPayment.vue +65 -0
  101. package/app/components/sales/CheckoutPayment/__tests__/CheckoutPayment.spec.ts +14 -0
  102. package/app/components/sales/CheckoutPayment/types.ts +12 -0
  103. package/app/components/sales/OrderSummary/OrderSummary.vue +57 -0
  104. package/app/components/sales/OrderSummary/__tests__/ContactInformation.spec.ts +52 -0
  105. package/app/components/sales/OrderSummary/types.ts +5 -0
  106. package/app/components/sales/incentives.vue +247 -0
  107. package/app/components/sales/invoices.vue +107 -0
  108. package/app/components/sales/orders.vue +378 -0
  109. package/app/components/sales/shipments.vue +65 -0
  110. package/app/components/sales/transactions.vue +109 -0
  111. package/app/components/shop/add-shop.vue +54 -0
  112. package/app/components/shop/cart/cartItem.vue +182 -0
  113. package/app/components/shop/cart/checkout.vue +415 -0
  114. package/app/components/shop/checkout/StripeCardElement.vue +206 -0
  115. package/app/components/shop/checkout/StripeCheckout.vue +49 -0
  116. package/app/components/shop/checkout/addressBilling.vue +263 -0
  117. package/app/components/shop/checkout/addressShipping.vue +175 -0
  118. package/app/components/shop/checkout/cart/ProductItem.vue +56 -0
  119. package/app/components/shop/checkout/cart/PromotionItem.vue +53 -0
  120. package/app/stores/cart.ts +1 -1
  121. package/app/types/Direction.type.ts +1 -1
  122. package/app/types/Global.type.ts +6 -6
  123. package/app/types/Layout.type.ts +1 -1
  124. package/app/{normalizers → types/normalizers}/Cart.query.ts +1 -1
  125. package/app/{normalizers → types/normalizers}/Cart.type.ts +2 -2
  126. package/app/{normalizers → types/normalizers}/Checkout.query.ts +2 -2
  127. package/app/{normalizers → types/normalizers}/Config.query.ts +1 -1
  128. package/app/{normalizers → types/normalizers}/Config.type.ts +1 -1
  129. package/app/{normalizers → types/normalizers}/ContactForm.query.ts +2 -2
  130. package/app/{normalizers → types/normalizers}/CreditMemo.type.ts +1 -1
  131. package/app/{normalizers → types/normalizers}/GiftCard.type.ts +1 -1
  132. package/app/{normalizers → types/normalizers}/Invoice.type.ts +1 -1
  133. package/app/{normalizers → types/normalizers}/MyAccount.query.ts +1 -1
  134. package/app/{normalizers → types/normalizers}/MyAccount.type.ts +1 -1
  135. package/app/{normalizers → types/normalizers}/NewsletterSubscription.query.ts +1 -1
  136. package/app/{normalizers → types/normalizers}/Order.query.ts +1 -1
  137. package/app/{normalizers → types/normalizers}/Order.type.ts +2 -2
  138. package/app/{normalizers → types/normalizers}/Payment.type.ts +1 -1
  139. package/app/{normalizers → types/normalizers}/ProductCompare.query.ts +1 -1
  140. package/app/{normalizers → types/normalizers}/ProductCompare.type.ts +1 -1
  141. package/app/{normalizers → types/normalizers}/ProductList.query.ts +2 -2
  142. package/app/{normalizers → types/normalizers}/ProductList.type.ts +2 -2
  143. package/app/{normalizers → types/normalizers}/Return.type.ts +1 -1
  144. package/app/{normalizers → types/normalizers}/Review.query.ts +1 -1
  145. package/app/{normalizers → types/normalizers}/Review.type.ts +1 -1
  146. package/app/{normalizers → types/normalizers}/StoreInPickUp.query.ts +1 -1
  147. package/app/{normalizers → types/normalizers}/Subscription.type.ts +1 -1
  148. package/app/{normalizers → types/normalizers}/Transaction.type.ts +1 -1
  149. package/app/{normalizers → types/normalizers}/UrlRewrites.query.ts +1 -1
  150. package/app/{normalizers → types/normalizers}/UrlRewrites.type.ts +1 -1
  151. package/app/{normalizers → types/normalizers}/Wishlist.query.ts +4 -4
  152. package/app/{normalizers → types/normalizers}/Wishlist.type.ts +1 -1
  153. package/app/utils/Address/Address.type.ts +1 -1
  154. package/app/utils/Address/index.ts +5 -5
  155. package/app/utils/Cart/Cart.ts +1 -1
  156. package/app/utils/Currency/Currency.ts +1 -1
  157. package/app/utils/History/History.type.ts +1 -1
  158. package/app/utils/Menu/Menu.ts +1 -1
  159. package/app/utils/Menu/Menu.type.ts +2 -2
  160. package/app/utils/Orders/Orders.ts +1 -1
  161. package/app/utils/Preload/CategoryPreload.ts +2 -2
  162. package/app/utils/Preload/ProductPreload.ts +1 -1
  163. package/app/utils/Preload/index.ts +1 -1
  164. package/app/utils/Price/Price.ts +1 -1
  165. package/app/utils/Product/Extract.ts +1 -1
  166. package/app/utils/Product/Product.ts +1 -1
  167. package/app/utils/Product/Product.type.ts +1 -1
  168. package/app/utils/Product/Transform.ts +1 -1
  169. package/app/utils/Wishlist/Wishlist.ts +1 -1
  170. package/app/utils/client.ts +19 -19
  171. package/package.json +1 -2
  172. package/tsconfig.json +2 -2
  173. package/app/cart/useCart.ts +0 -1
  174. /package/app/{components → composables}/ChevronIcon/ChevronIcon.config.ts +0 -0
  175. /package/app/{components → composables}/DateSelect/DateSelect.config.ts +0 -0
  176. /package/app/{components → composables}/Field/Field.config.ts +0 -0
  177. /package/app/{components → composables}/FieldDate/FieldDate.config.ts +0 -0
  178. /package/app/{components → composables}/Form/Form.type.ts +0 -0
  179. /package/app/{components → composables}/Product/Product.config.ts +0 -0
  180. /package/app/{components → composables}/Product/Stock.config.ts +0 -0
  181. /package/app/{components → composables}/ProductCustomizableOption/ProductCustomizableOption.config.ts +0 -0
  182. /package/app/{components → composables}/ProductGallery/ProductGallery.config.ts +0 -0
  183. /package/app/{components → composables}/ProductReviews/ProductReviews.config.ts +0 -0
  184. /package/app/{normalizers → types/normalizers}/Category.query.ts +0 -0
  185. /package/app/{normalizers → types/normalizers}/Category.type.ts +0 -0
  186. /package/app/{normalizers → types/normalizers}/CheckEmail.query.ts +0 -0
  187. /package/app/{normalizers → types/normalizers}/Checkout.type.ts +0 -0
  188. /package/app/{normalizers → types/normalizers}/CmsBlock.query.ts +0 -0
  189. /package/app/{normalizers → types/normalizers}/CmsBlock.type.ts +0 -0
  190. /package/app/{normalizers → types/normalizers}/CmsPage.query.ts +0 -0
  191. /package/app/{normalizers → types/normalizers}/CmsPage.type.ts +0 -0
  192. /package/app/{normalizers → types/normalizers}/Menu.query.ts +0 -0
  193. /package/app/{normalizers → types/normalizers}/Menu.type.ts +0 -0
  194. /package/app/{normalizers → types/normalizers}/ProductAlerts.query.ts +0 -0
  195. /package/app/{normalizers → types/normalizers}/Region.query.ts +0 -0
  196. /package/app/{normalizers → types/normalizers}/Region.type.ts +0 -0
  197. /package/app/{normalizers → types/normalizers}/Slider.query.ts +0 -0
  198. /package/app/{normalizers → types/normalizers}/Slider.type.ts +0 -0
  199. /package/app/{normalizers → types/normalizers}/StoreInPickUp.type.ts +0 -0
  200. /package/app/{routes → types/routes}/CategoryPage/CategoryPage.config.ts +0 -0
  201. /package/app/{routes → types/routes}/CategoryPage/CategoryPage.type.ts +0 -0
  202. /package/app/{routes → types/routes}/Checkout/Checkout.config.ts +0 -0
  203. /package/app/{routes → types/routes}/Checkout/Checkout.type.ts +0 -0
  204. /package/app/{routes → types/routes}/MyAccount/MyAccount.config.ts +0 -0
  205. /package/app/{routes → types/routes}/SearchPage/SearchPage.config.ts +0 -0
  206. /package/app/{routes → types/routes}/UrlRewrites/UrlRewrites.config.ts +0 -0
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <v-sheet class="mx-auto sliderProducts row align-items-stretch items-row justify-content-center" elevation="0">
3
+ <v-toolbar title="Stores on Meeovi" color="transparent">
4
+ <div>
5
+ <NuxtLink to="/shops/">All Stores</NuxtLink>
6
+ </div>
7
+ </v-toolbar>
8
+ <v-slide-group v-model="model" class="pa-4" selected-class="bg-primary" show-arrows>
9
+ <v-slide-group-item v-for="store in shops" :key="store" v-slot="{ toggle, selectedClass }">
10
+ <store :store="store" />
11
+ </v-slide-group-item>
12
+ </v-slide-group>
13
+
14
+ <v-expand-transition>
15
+ <v-sheet v-if="model != null" height="200">
16
+ <div class="d-flex fill-height align-center justify-center">
17
+ <h3 class="text-h6">
18
+ Selected {{ model }}
19
+ </h3>
20
+ </div>
21
+ </v-sheet>
22
+ </v-expand-transition>
23
+ </v-sheet>
24
+ </template>
25
+
26
+ <script setup>
27
+ import {
28
+ ref,
29
+ onMounted
30
+ } from 'vue'
31
+ import store from '~/components/catalog/product/stores.vue'
32
+
33
+ const model = ref(null)
34
+ const {
35
+ $directus,
36
+ $readItems,
37
+ } = useNuxtApp()
38
+
39
+ const {
40
+ user
41
+ } = useSupabaseAuth()
42
+
43
+ const {
44
+ data: shops
45
+ } = await useAsyncData('shops', () => {
46
+ return $directus.request($readItems('shops', {
47
+ fields: ['*', {
48
+ '*': ['*']
49
+ }]
50
+ }))
51
+ })
52
+ </script>
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <div>
3
+ <div v-if="restaurant">
4
+ <section data-bs-version="5.1" class="features01 stockm5 cid-uwd9RxG0Y8" id="features01-aa">
5
+ <div class="container">
6
+ <div class="row">
7
+ <div class="col-12">
8
+ <div class="title-wrapper">
9
+ <div class="desc-wrapper">
10
+ <p class="mbr-desc mbr-fonts-style display-4">
11
+ Restaurants
12
+ </p>
13
+ </div>
14
+ <div class="title-wrap">
15
+ <h2 class="mbr-section-title mbr-fonts-style display-2">
16
+ <strong><span><b>Great Tastes</b></span> near you!</strong>
17
+ </h2>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ <div class="row items-wrapper">
23
+ <div class="item features-image col-12 col-lg-4">
24
+ <div class="item-wrapper">
25
+ <div class="item-img">
26
+ <NuxtLink :to="`/shops/${restaurant?.id}`"><img loading="lazy" class="align-end text-white" v-if="restaurant?.image"
27
+ :src="`${$directus.url}assets/${restaurant?.image?.filename_disk}`" :alt="restaurant?.name"></NuxtLink>
28
+ </div>
29
+ <div class="item-content">
30
+ <div class="desc-wrap">
31
+ <p class="item-desc desc_1 mbr-fonts-style display-4">
32
+ {{ restaurant?.food_offered }}
33
+ </p>
34
+ </div>
35
+ <h4 class="item-title mbr-fonts-style display-5">
36
+ <strong>{{ restaurant?.name }}</strong>
37
+ </h4>
38
+ <p class="item-text mbr-fonts-style display-4" v-dompurify-html="restaurant?.description"></p>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </section>
45
+ </div>
46
+ <p v-else>No restaurants found.</p>
47
+ </div>
48
+ </template>
49
+
50
+ <script setup>
51
+ import {
52
+ useRuntimeConfig
53
+ } from '#imports';
54
+
55
+ const config = useRuntimeConfig();
56
+ const props = defineProps({
57
+ restaurant: {
58
+ type: Object,
59
+ required: true,
60
+ },
61
+ });
62
+
63
+ const {
64
+ restaurant
65
+ } = props;
66
+ </script>
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <div>
3
+ <div v-if="store">
4
+ <div class="card col-12 col-md-6 col-lg-4">
5
+ <div class="card-wrapper">
6
+ <div class="img-wrapper">
7
+ <NuxtImg loading="lazy" class="align-end text-white" v-if="store?.image"
8
+ :src="`${$directus.url}/assets/${store?.image?.filename_disk}`" :alt="store?.name"
9
+ cover />
10
+ </div>
11
+ <div class="card-box align-center">
12
+ <h5 class="card-title mbr-fonts-style display-5">
13
+ {{ store?.name }}
14
+ </h5>
15
+ <p class="mbr-text mbr-fonts-style display-4">{{ store?.description }}</p>
16
+ </div>
17
+ <div class="mbr-section-btn mt-3">
18
+ <NuxtLink class="btn btn-secondary display-4" :href="`/shops/${store?.id}`">Enter
19
+ </NuxtLink>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ <p v-else>No stores found.</p>
25
+ </div>
26
+ </template>
27
+
28
+ <script setup>
29
+ import {
30
+ useRuntimeConfig
31
+ } from '#imports';
32
+
33
+ const config = useRuntimeConfig();
34
+ const props = defineProps({
35
+ store: {
36
+ type: Object,
37
+ required: true,
38
+ },
39
+ });
40
+
41
+ const {
42
+ store
43
+ } = props;
44
+ </script>
@@ -0,0 +1,3 @@
1
+ ## Dashboard Directory
2
+
3
+ This is part of the admin panel for the marketplace functionality also called the Seller's Dashboard on the frontend.
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div>
3
+ <v-toolbar color="transparent" title="Biggest Customers" density="compact"></v-toolbar>
4
+ <v-table fixed-header>
5
+ <thead>
6
+ <tr>
7
+ <th class="text-left">
8
+ Name
9
+ </th>
10
+ <th class="text-left">
11
+ Addresses
12
+ </th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+ <tr v-for="item in desserts" :key="item.name">
17
+ <td>{{ item.name }}</td>
18
+ <td>{{ item.Addresses }}</td>
19
+ </tr>
20
+ </tbody>
21
+ </v-table>
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ export default {
27
+
28
+ }
29
+ </script>
30
+
31
+ <script setup>
32
+
33
+ </script>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div>
3
+ <v-toolbar color="transparent" title="Lowest Selling Products" density="compact"></v-toolbar>
4
+ <v-table fixed-header>
5
+ <thead>
6
+ <tr>
7
+ <th class="text-left">
8
+ Name
9
+ </th>
10
+ <th class="text-left">
11
+ Addresses
12
+ </th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+ <tr v-for="item in desserts" :key="item.name">
17
+ <td>{{ item.name }}</td>
18
+ <td>{{ item.Addresses }}</td>
19
+ </tr>
20
+ </tbody>
21
+ </v-table>
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ export default {
27
+
28
+ }
29
+ </script>
30
+
31
+ <script setup>
32
+
33
+ </script>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div>
3
+ <v-toolbar color="transparent" title="Top Categories" density="compact"></v-toolbar>
4
+ <v-table fixed-header>
5
+ <thead>
6
+ <tr>
7
+ <th class="text-left">
8
+ Name
9
+ </th>
10
+ <th class="text-left">
11
+ Addresses
12
+ </th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+ <tr v-for="item in desserts" :key="item.name">
17
+ <td>{{ item.name }}</td>
18
+ <td>{{ item.Addresses }}</td>
19
+ </tr>
20
+ </tbody>
21
+ </v-table>
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ export default {
27
+
28
+ }
29
+ </script>
30
+
31
+ <script setup>
32
+
33
+ </script>
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <div>
3
+ <v-toolbar color="transparent" title="Best Selling Products" density="compact"></v-toolbar>
4
+ <v-table fixed-header>
5
+ <thead>
6
+ <tr>
7
+ <th class="text-left">
8
+ Name
9
+ </th>
10
+ <th class="text-left">
11
+ Addresses
12
+ </th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+ <tr v-for="item in desserts" :key="item.name">
17
+ <td>{{ item.name }}</td>
18
+ <td>{{ item.Addresses }}</td>
19
+ </tr>
20
+ </tbody>
21
+ </v-table>
22
+ </div>
23
+ </template>
24
+
25
+ <script setup>
26
+
27
+ </script>
@@ -0,0 +1,43 @@
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>
@@ -0,0 +1,43 @@
1
+ <template>
2
+ <v-card>
3
+ <v-toolbar color="" title=""></v-toolbar>
4
+ <v-tabs v-model="tab" bg-color="primary">
5
+ <v-tab value="one">Item One</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: ''
42
+ })
43
+ </script>
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <v-card>
3
+ <v-toolbar color="primary" title="Customer Relationship Management"></v-toolbar>
4
+ <v-tabs v-model="tab" bg-color="primary">
5
+ <div v-for="(nav, index) in crm" :key="index">
6
+ <v-tab :value="nav?.value">{{ nav?.name }}</v-tab>
7
+ </div>
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
+
24
+ <v-tabs-window-item value="four">
25
+ Three
26
+ </v-tabs-window-item>
27
+
28
+ <v-tabs-window-item value="five">
29
+ Three
30
+ </v-tabs-window-item>
31
+
32
+ <v-tabs-window-item value="six">
33
+ Three
34
+ </v-tabs-window-item>
35
+ </v-tabs-window>
36
+ </v-card-text>
37
+ </v-card>
38
+ </template>
39
+
40
+ <script setup>
41
+ import {
42
+ ref
43
+ } from 'vue'
44
+
45
+ const tab = ref(null);
46
+
47
+ const {
48
+ $directus,
49
+ $readItem
50
+ } = useNuxtApp()
51
+ const route = useRoute()
52
+
53
+ const {
54
+ data: crm
55
+ } = await useAsyncData('crm', () => {
56
+ return $directus.request($readItem('navigation', '26'))
57
+ })
58
+
59
+ definePageMeta({
60
+ layout: "sellers",
61
+ middleware: ['authenticated'],
62
+ });
63
+
64
+ useHead({
65
+ title: ''
66
+ })
67
+ </script>
@@ -0,0 +1,46 @@
1
+ <template>
2
+ <div>
3
+ <v-row>
4
+ <v-col cols="6"><biggestcustomers /></v-col>
5
+
6
+ <v-col cols="6"><lowestselling /></v-col>
7
+
8
+ <v-col cols="6"><topcategories /></v-col>
9
+
10
+ <v-col cols="6"><topproducts /></v-col>
11
+ </v-row>
12
+ </div>
13
+ </template>
14
+
15
+ <script setup>
16
+ import biggestcustomers from '~/components/vendor/sales/biggestcustomers.vue'
17
+ import lowestselling from '~/components/vendor/sales/lowestselling.vue'
18
+ import topcategories from '~/components/vendor/sales/topcategories.vue'
19
+ import topproducts from '~/components/vendor/sales/topproducts.vue'
20
+ import {
21
+ ref
22
+ } from 'vue'
23
+
24
+ const tab = ref(null);
25
+
26
+ const {
27
+ $directus,
28
+ $readItem
29
+ } = useNuxtApp()
30
+ const route = useRoute()
31
+
32
+ const {
33
+ data: seller
34
+ } = await useAsyncData('seller', () => {
35
+ return $directus.request($readItem('navigation', '14'))
36
+ })
37
+
38
+ definePageMeta({
39
+ layout: "sellers",
40
+ middleware: ['authenticated'],
41
+ });
42
+
43
+ useHead({
44
+ title: 'Sellers Dashboard'
45
+ })
46
+ </script>
@@ -0,0 +1,43 @@
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>
@@ -0,0 +1,43 @@
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>
@@ -0,0 +1,43 @@
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>