@crm-market/template-shared 1.0.0

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 (160) hide show
  1. package/assets/css/custom.css +70 -0
  2. package/assets/css/remixicon.css +2782 -0
  3. package/assets/css/satoshi-font.css +31 -0
  4. package/assets/fonts/flaticon.css +463 -0
  5. package/assets/fonts/flaticon.eot +0 -0
  6. package/assets/fonts/flaticon.html +2153 -0
  7. package/assets/fonts/flaticon.svg +441 -0
  8. package/assets/fonts/flaticon.ttf +0 -0
  9. package/assets/fonts/flaticon.woff +0 -0
  10. package/assets/fonts/flaticon.woff2 +0 -0
  11. package/assets/fonts/remixicon.eot +0 -0
  12. package/assets/fonts/remixicon.svg +8230 -0
  13. package/assets/fonts/remixicon.ttf +0 -0
  14. package/assets/fonts/remixicon.woff +0 -0
  15. package/assets/fonts/remixicon.woff2 +0 -0
  16. package/assets/scss/_variables.scss +31 -0
  17. package/assets/scss/components/_about.scss +58 -0
  18. package/assets/scss/components/_authentication.scss +124 -0
  19. package/assets/scss/components/_backtoptop.scss +27 -0
  20. package/assets/scss/components/_banner.scss +396 -0
  21. package/assets/scss/components/_best-deals.scss +74 -0
  22. package/assets/scss/components/_blank.scss +40 -0
  23. package/assets/scss/components/_blog.scss +193 -0
  24. package/assets/scss/components/_cart.scss +108 -0
  25. package/assets/scss/components/_categories.scss +82 -0
  26. package/assets/scss/components/_checkout.scss +110 -0
  27. package/assets/scss/components/_dashboard.scss +388 -0
  28. package/assets/scss/components/_faq.scss +22 -0
  29. package/assets/scss/components/_filter-rang.scss +109 -0
  30. package/assets/scss/components/_footer.scss +270 -0
  31. package/assets/scss/components/_global.scss +550 -0
  32. package/assets/scss/components/_header.scss +587 -0
  33. package/assets/scss/components/_hurry.scss +52 -0
  34. package/assets/scss/components/_navbar.scss +1008 -0
  35. package/assets/scss/components/_offers.scss +689 -0
  36. package/assets/scss/components/_pagination.scss +71 -0
  37. package/assets/scss/components/_popup.scss +172 -0
  38. package/assets/scss/components/_preloader.scss +108 -0
  39. package/assets/scss/components/_products.scss +1147 -0
  40. package/assets/scss/components/_rtl.scss +806 -0
  41. package/assets/scss/components/_services.scss +16 -0
  42. package/assets/scss/components/_sidebar.scss +259 -0
  43. package/assets/scss/style.css +6676 -0
  44. package/assets/scss/style.css.map +1 -0
  45. package/assets/scss/style.scss +40 -0
  46. package/assets/webfonts/Satoshi-Bold.eot +0 -0
  47. package/assets/webfonts/Satoshi-Bold.woff +0 -0
  48. package/assets/webfonts/Satoshi-Bold.woff2 +0 -0
  49. package/assets/webfonts/Satoshi-Medium.eot +0 -0
  50. package/assets/webfonts/Satoshi-Medium.woff +0 -0
  51. package/assets/webfonts/Satoshi-Medium.woff2 +0 -0
  52. package/assets/webfonts/Satoshi-Regular.eot +0 -0
  53. package/assets/webfonts/Satoshi-Regular.woff +0 -0
  54. package/assets/webfonts/Satoshi-Regular.woff2 +0 -0
  55. package/components/AboutUs/AboutUsTuan.vue +25 -0
  56. package/components/AboutUs/Statistics.vue +42 -0
  57. package/components/AboutUs/SubscribeToTheNewsletter.vue +57 -0
  58. package/components/AddAddress/index.vue +70 -0
  59. package/components/BestSellers/Products.vue +1562 -0
  60. package/components/BestSellers/RecentlyViewed.vue +304 -0
  61. package/components/Cart/ProductQuantity.vue +29 -0
  62. package/components/Cart/index.vue +167 -0
  63. package/components/Categories/index.vue +305 -0
  64. package/components/ChangePassword/index.vue +71 -0
  65. package/components/Checkout/index.vue +192 -0
  66. package/components/Common/DashboardNavigation.vue +37 -0
  67. package/components/Common/PageBanner.vue +28 -0
  68. package/components/Common/ProductCard.vue +152 -0
  69. package/components/Common/Services.vue +58 -0
  70. package/components/Contact/ContactForm.vue +91 -0
  71. package/components/Contact/ContactInfo.vue +74 -0
  72. package/components/Dashboard/RecentOrder.vue +173 -0
  73. package/components/Dashboard/index.vue +79 -0
  74. package/components/EditAddress/index.vue +119 -0
  75. package/components/EditProfile/index.vue +97 -0
  76. package/components/FAQ/index.vue +121 -0
  77. package/components/FeaturedProduct/FeaturedProducts.vue +304 -0
  78. package/components/FeaturedProduct/Products.vue +1562 -0
  79. package/components/ForgotPassword/index.vue +51 -0
  80. package/components/Layout/BackToUp.vue +38 -0
  81. package/components/Layout/Copyright.vue +25 -0
  82. package/components/Layout/Footer.vue +183 -0
  83. package/components/Layout/FooterTwo.vue +165 -0
  84. package/components/Layout/LocationOption.vue +178 -0
  85. package/components/Layout/MiddleHeader.vue +229 -0
  86. package/components/Layout/MiddleHeaderThree.vue +204 -0
  87. package/components/Layout/MiddleHeaderTwo.vue +240 -0
  88. package/components/Layout/Navbar.vue +185 -0
  89. package/components/Layout/NavbarStyleFour.vue +334 -0
  90. package/components/Layout/NavbarStyleThree.vue +188 -0
  91. package/components/Layout/NavbarStyleTwo.vue +108 -0
  92. package/components/Layout/Preloader.vue +18 -0
  93. package/components/Layout/RTLSwitchBtn.vue +40 -0
  94. package/components/Layout/ResponsiveNavbar.vue +431 -0
  95. package/components/Layout/TopHeader.vue +130 -0
  96. package/components/Login/index.vue +94 -0
  97. package/components/MyAccount/index.vue +154 -0
  98. package/components/NewArrivals/Products.vue +1969 -0
  99. package/components/NewArrivals/RecentlyViewed.vue +304 -0
  100. package/components/OrderDetails/index.vue +77 -0
  101. package/components/OrderHistory/index.vue +197 -0
  102. package/components/PrivacyPolicy/index.vue +112 -0
  103. package/components/ProductDetails/ProductDetailsTab.vue +343 -0
  104. package/components/ProductDetails/ProductQuantity.vue +29 -0
  105. package/components/ProductDetails/RecentlyViewed.vue +304 -0
  106. package/components/ProductDetails/index.vue +268 -0
  107. package/components/Products/RecentlyViewed.vue +304 -0
  108. package/components/Products/index.vue +292 -0
  109. package/components/Register/index.vue +88 -0
  110. package/components/TermsConditions/index.vue +112 -0
  111. package/components/TrendingProducts/FeaturedProducts.vue +304 -0
  112. package/components/TrendingProducts/Products.vue +1564 -0
  113. package/components/Wishlist/ProductQuantity.vue +29 -0
  114. package/components/Wishlist/index.vue +128 -0
  115. package/composables/useCart.ts +149 -0
  116. package/composables/useCategories.ts +87 -0
  117. package/composables/useCheckout.ts +131 -0
  118. package/composables/useProducts.ts +162 -0
  119. package/composables/useSiteConfig.ts +236 -0
  120. package/composables/useTemplateSections.ts +74 -0
  121. package/e2e/cart.spec.ts +71 -0
  122. package/e2e/fixtures/mock-api.ts +166 -0
  123. package/e2e/homepage.spec.ts +65 -0
  124. package/e2e/layout.spec.ts +73 -0
  125. package/e2e/navigation.spec.ts +61 -0
  126. package/e2e/pages/cart.page.ts +44 -0
  127. package/e2e/pages/homepage.page.ts +46 -0
  128. package/e2e/playwright.config.ts +32 -0
  129. package/e2e/products.spec.ts +33 -0
  130. package/layouts/default.vue +94 -0
  131. package/layouts/inner.vue +70 -0
  132. package/nuxt.config.ts +86 -0
  133. package/package.json +38 -0
  134. package/pages/about-us.vue +12 -0
  135. package/pages/address.vue +10 -0
  136. package/pages/cart.vue +10 -0
  137. package/pages/categories.vue +10 -0
  138. package/pages/change-password.vue +10 -0
  139. package/pages/checkout.vue +10 -0
  140. package/pages/contact.vue +11 -0
  141. package/pages/dashboard.vue +10 -0
  142. package/pages/edit-address.vue +10 -0
  143. package/pages/edit-profile.vue +10 -0
  144. package/pages/faq.vue +10 -0
  145. package/pages/forgot-password.vue +10 -0
  146. package/pages/login.vue +10 -0
  147. package/pages/my-account.vue +10 -0
  148. package/pages/order-details.vue +10 -0
  149. package/pages/order-history.vue +10 -0
  150. package/pages/privacy-policy.vue +10 -0
  151. package/pages/product-details.vue +10 -0
  152. package/pages/products.vue +10 -0
  153. package/pages/register.vue +10 -0
  154. package/pages/terms-conditions.vue +10 -0
  155. package/pages/wishlist.vue +10 -0
  156. package/plugins/site-init.client.ts +24 -0
  157. package/plugins/vuetify.ts +18 -0
  158. package/types/index.ts +121 -0
  159. package/utils/image.ts +13 -0
  160. package/utils/store.ts +21 -0
@@ -0,0 +1,112 @@
1
+ <template>
2
+ <div class="ptb-60">
3
+ <div class="container">
4
+ <div class="main-content-text">
5
+ <span class="update">Last updated: February 2024</span>
6
+ <h3>Privacy policy</h3>
7
+ <p>
8
+ Turpis gravida turpis mauris magna in libero ac dis consequat.
9
+ Imperdiet ac semper quisque volutpat consectetur cursus non pretium
10
+ pharetra. Nisl duis blandit dui imperdiet nec id integer. Elit varius
11
+ cras arcu tempor integer in.
12
+ </p>
13
+ <p>
14
+ Quam nunc arcu nunc a lobortis convallis magnis dolor. Integer
15
+ malesuada vel mi eu elementum. Etiam eget urna quis dui amet facilisis
16
+ fringilla sed. Massa vitae accumsan viverra in morbi nec volutpat
17
+ aenean tortor. At nec sagittis eget placerat. Mi accumsan massa vitae
18
+ etiam nisi suspendisse condimentum elementum. Arcu varius id ipsum
19
+ arcu et diam non rutrum. Auctor elit malesuada non aenean posuere
20
+ mattis iaculis mauris nibh.
21
+ </p>
22
+
23
+ <div class="gap-20"></div>
24
+
25
+ <h3>What type of personal information do we collect?</h3>
26
+ <p>
27
+ Turpis gravida turpis mauris magna in libero ac dis consequat.
28
+ Imperdiet ac semper quisque volutpat consectetur cursus non pretium
29
+ pharetra. Nisl duis blandit dui imperdiet nec id integer. Elit varius
30
+ cras arcu tempor integer in. Quam nunc arcu nunc a lobortis convallis
31
+ magnis dolor. Integer malesuada vel mi eu elementum. Etiam eget urna
32
+ quis dui amet facilisis fringilla sed. Massa vitae accumsan viverra in
33
+ morbi nec volutpat aenean tortor. At nec sagittis eget placerat. Mi
34
+ accumsan massa vitae etiam nisi suspendisse condimentum elementum.
35
+ Arcu varius id ipsum arcu et diam non rutrum. Auctor elit malesuada
36
+ non aenean posuere mattis iaculis mauris nibh.
37
+ </p>
38
+
39
+ <div class="gap-20"></div>
40
+
41
+ <h3>How do we collect your personal data?</h3>
42
+ <p>
43
+ Turpis gravida turpis mauris magna in libero ac dis consequat.
44
+ Imperdiet ac semper quisque volutpat consectetur cursus non pretium
45
+ pharetra. Nisl duis blandit dui imperdiet nec id integer. Elit varius
46
+ cras arcu tempor integer in.
47
+ </p>
48
+ <p>
49
+ Quam nunc arcu nunc a lobortis convallis magnis dolor. Integer
50
+ malesuada vel mi eu elementum. Etiam eget urna quis dui amet facilisis
51
+ fringilla sed. Massa vitae accumsan viverra in morbi nec volutpat
52
+ aenean tortor. At nec sagittis eget placerat. Mi accumsan massa vitae
53
+ etiam nisi suspendisse condimentum elementum. Arcu varius id ipsum
54
+ arcu et diam non rutrum. Auctor elit malesuada non aenean posuere
55
+ mattis iaculis mauris nibh.
56
+ </p>
57
+ <ol>
58
+ <li>
59
+ Imperdiet ac semper quisque volutpat consectetur cursus non pretium
60
+ pharetra.
61
+ </li>
62
+ <li>Nisl duis blandit dui imperdiet nec id integer.</li>
63
+ <li>Quam nunc arcu nunc a lobortis convallis magnis dolor.</li>
64
+ <li>
65
+ Massa vitae accumsan viverra in morbi nec volutpat aenean tortor.
66
+ </li>
67
+ </ol>
68
+
69
+ <div class="gap-20"></div>
70
+
71
+ <h3>What are our legal bases for processing your data?</h3>
72
+ <p>
73
+ Turpis gravida turpis mauris magna in libero ac dis consequat.
74
+ Imperdiet ac semper quisque volutpat consectetur cursus non pretium
75
+ pharetra. Nisl duis blandit dui imperdiet nec id integer. Elit varius
76
+ cras arcu tempor integer in. Quam nunc arcu nunc a lobortis convallis
77
+ magnis dolor. Integer malesuada vel mi eu elementum. Etiam eget urna
78
+ quis dui amet facilisis fringilla sed. Massa vitae accumsan viverra in
79
+ morbi nec volutpat aenean tortor. At nec sagittis eget placerat. Mi
80
+ accumsan massa vitae etiam nisi suspendisse condimentum elementum.
81
+ Arcu varius id ipsum arcu et diam non rutrum. Auctor elit malesuada
82
+ non aenean posuere mattis iaculis mauris nibh.
83
+ </p>
84
+
85
+ <div class="gap-20"></div>
86
+
87
+ <h3>Security</h3>
88
+ <p>
89
+ Turpis gravida turpis mauris magna in libero ac dis consequat.
90
+ Imperdiet ac semper quisque volutpat consectetur cursus non pretium
91
+ pharetra. Nisl duis blandit dui imperdiet nec id integer. Elit varius
92
+ cras arcu tempor integer in.
93
+ </p>
94
+ <p>
95
+ Quam nunc arcu nunc a lobortis convallis magnis dolor. Integer
96
+ malesuada vel mi eu elementum. Etiam eget urna quis dui amet facilisis
97
+ fringilla sed. Massa vitae accumsan viverra in morbi nec volutpat
98
+ aenean tortor. At nec sagittis eget placerat. Mi accumsan massa vitae
99
+ etiam nisi suspendisse condimentum elementum. Arcu varius id ipsum
100
+ arcu et diam non rutrum. Auctor elit malesuada non aenean posuere
101
+ mattis iaculis mauris nibh.
102
+ </p>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </template>
107
+
108
+ <script>
109
+ export default {
110
+ name: "PrivacyPolicy",
111
+ };
112
+ </script>
@@ -0,0 +1,343 @@
1
+ <template>
2
+ <div>
3
+ <v-tabs
4
+ v-model="tab"
5
+ bg-color="white"
6
+ class="product-tabs d-block border-0"
7
+ >
8
+ <v-tab value="description"> Description </v-tab>
9
+ <v-tab value="specification"> Specification </v-tab>
10
+ <v-tab value="reviews"> Reviews </v-tab>
11
+ </v-tabs>
12
+
13
+ <v-card-text>
14
+ <v-tabs-window v-model="tab">
15
+ <v-tabs-window-item value="description">
16
+ <div class="description-conetnt">
17
+ <p class="mb-3">
18
+ The Apple MacBook Pro 16.2 is a cutting-edge laptop designed to
19
+ deliver exceptional performance and advanced features for
20
+ professionals and creative enthusiasts. With its sleek aluminum
21
+ body and precision engineering, this MacBook Pro represents the
22
+ pinnacle of Apple's laptop technology.
23
+ </p>
24
+ <p class="mb-3">
25
+ Stay connected with a variety of ports, including Thunderbolt 3,
26
+ USB-C, and audio jacks. These versatile ports support high-speed
27
+ data transfer and external device connections. Enjoy a rich audio
28
+ experience with high-fidelity speakers that deliver clear and
29
+ immersive sound. Perfect for content creators and multimedia
30
+ enthusiasts.
31
+ </p>
32
+ <p>
33
+ Equipped with the latest processors, ample RAM, and
34
+ high-performance graphics, the MacBook Pro 16.2 ensures smooth
35
+ multitasking, fast rendering, and efficient handling of
36
+ resource-intensive tasks. Seamlessly integrate with the macOS
37
+ ecosystem, benefiting from features like iCloud, Siri, and a vast
38
+ selection of applications available on the App Store.
39
+ </p>
40
+ </div>
41
+ </v-tabs-window-item>
42
+ <v-tabs-window-item value="specification">
43
+ <div class="additional-info table-responsive p-0">
44
+ <table class="table table-bordered">
45
+ <tbody>
46
+ <tr>
47
+ <td class="title text-dark">Brand</td>
48
+ <td class="price">Apple</td>
49
+ </tr>
50
+ <tr>
51
+ <td class="title text-dark">Categories</td>
52
+ <td class="price">Brond New</td>
53
+ </tr>
54
+ <tr>
55
+ <td class="title text-dark">SKU</td>
56
+ <td class="price">01</td>
57
+ </tr>
58
+ <tr>
59
+ <td class="title text-dark">Price</td>
60
+ <td class="price">$399</td>
61
+ </tr>
62
+ </tbody>
63
+ </table>
64
+ </div>
65
+ </v-tabs-window-item>
66
+ <v-tabs-window-item value="reviews">
67
+ <div class="product-reviews">
68
+ <div class="total-rating-wrap">
69
+ <div class="row">
70
+ <div class="col-lg-3 col-md-3">
71
+ <span class="title text-start">Average Rating </span>
72
+ <div class="total-review text-center mb-4 mb-md-0 rounded-0">
73
+ <h1>4.8</h1>
74
+ <ul
75
+ class="d-flex justify-content-center ps-0 list-unstyled"
76
+ >
77
+ <li>
78
+ <i class="ri-star-line"></i>
79
+ </li>
80
+ <li>
81
+ <i class="ri-star-line"></i>
82
+ </li>
83
+ <li>
84
+ <i class="ri-star-line"></i>
85
+ </li>
86
+ <li>
87
+ <i class="ri-star-line"></i>
88
+ </li>
89
+ <li>
90
+ <i class="ri-star-line"></i>
91
+ </li>
92
+ </ul>
93
+ <span>5 Rating</span>
94
+ </div>
95
+ </div>
96
+
97
+ <div class="col-lg-9 col-md-9">
98
+ <span class="title text-start">Detailed Rating</span>
99
+ <ul class="ps-0 mb-0 list-unstyled total-rating">
100
+ <li class="d-flex align-items-center">
101
+ <div class="d-flex align-items-center">
102
+ <span class="ms-2">5</span>
103
+ </div>
104
+ <div class="w-100 px-2">
105
+ <v-progress-linear
106
+ color="blue-accent-2"
107
+ model-value="100"
108
+ rounded
109
+ ></v-progress-linear>
110
+ </div>
111
+ <span class="rating">3%</span>
112
+ </li>
113
+ <li class="d-flex align-items-center">
114
+ <div class="d-flex align-items-center">
115
+ <span class="ms-2">4</span>
116
+ </div>
117
+ <div class="w-100 px-2">
118
+ <v-progress-linear
119
+ color="blue-accent-2"
120
+ model-value="70"
121
+ rounded
122
+ ></v-progress-linear>
123
+ </div>
124
+ <span class="rating">2%</span>
125
+ </li>
126
+ <li class="d-flex align-items-center">
127
+ <div class="d-flex align-items-center">
128
+ <span class="ms-2">3</span>
129
+ </div>
130
+ <div class="w-100 px-2">
131
+ <v-progress-linear
132
+ color="blue-accent-2"
133
+ model-value="0"
134
+ rounded
135
+ ></v-progress-linear>
136
+ </div>
137
+ <span class="rating">0%</span>
138
+ </li>
139
+ <li class="d-flex align-items-center">
140
+ <div class="d-flex align-items-center">
141
+ <span class="ms-2">2</span>
142
+ </div>
143
+ <div class="w-100 px-2">
144
+ <v-progress-linear
145
+ color="blue-accent-2"
146
+ model-value="0"
147
+ rounded
148
+ ></v-progress-linear>
149
+ </div>
150
+ <span class="rating">0%</span>
151
+ </li>
152
+ <li class="d-flex align-items-center">
153
+ <div class="d-flex align-items-center">
154
+ <span class="ms-2">1</span>
155
+ </div>
156
+ <div class="w-100 px-2">
157
+ <v-progress-linear
158
+ color="blue-accent-2"
159
+ model-value="0"
160
+ rounded
161
+ ></v-progress-linear>
162
+ </div>
163
+ <span class="rating">0%</span>
164
+ </li>
165
+ </ul>
166
+ </div>
167
+ </div>
168
+ </div>
169
+
170
+ <h3>Client Feedback</h3>
171
+
172
+ <ul class="comment-list ps-0 list-unstyled m-0 pb-5 mb-lg-5">
173
+ <li>
174
+ <div class="d-sm-flex">
175
+ <div class="flex-shrink-0">
176
+ <div class="border-style d-inline-block mb-3 mb-sm-0">
177
+ <img
178
+ class="rounded-circle wh-108"
179
+ src="~/assets/images/user-8.jpg"
180
+ alt="user-1"
181
+ />
182
+ </div>
183
+ </div>
184
+ <div class="flex-grow-1 ms-0 ms-sm-4">
185
+ <h4>Maria Cruz</h4>
186
+ <div class="d-flex align-items-center">
187
+ <div class="d-flex">
188
+ <i class="ri-star-fill"></i>
189
+ <i class="ri-star-fill"></i>
190
+ <i class="ri-star-fill"></i>
191
+ <i class="ri-star-fill"></i>
192
+ <i class="ri-star-fill"></i>
193
+ </div>
194
+ <span>(5.00)</span>
195
+ </div>
196
+ <p>
197
+ Pellentesque urna varius nunc risus. Nisl sagittis et id
198
+ ac faucibus sollicitudin purus. Mattis a ac purus sapien
199
+ mauris mauris sagittis ut in. Molestie integer luctus nam
200
+ duis egestas placerat amet netus. Est ut ligula aliquam
201
+ sed.
202
+ </p>
203
+ </div>
204
+ </div>
205
+ </li>
206
+ <li>
207
+ <div class="d-sm-flex">
208
+ <div class="flex-shrink-0">
209
+ <div class="border-style d-inline-block mb-3 mb-sm-0">
210
+ <img
211
+ class="rounded-10 wh-108 rounded-circle"
212
+ src="~/assets/images/user-9.jpg"
213
+ alt="user-2"
214
+ />
215
+ </div>
216
+ </div>
217
+ <div class="flex-grow-1 ms-0 ms-sm-4">
218
+ <h4>Anthony Hernandez</h4>
219
+ <div class="d-flex align-items-center">
220
+ <div class="d-flex">
221
+ <i class="ri-star-fill"></i>
222
+ <i class="ri-star-fill"></i>
223
+ <i class="ri-star-fill"></i>
224
+ <i class="ri-star-fill"></i>
225
+ <i class="ri-star-fill"></i>
226
+ </div>
227
+ <span>(5.00)</span>
228
+ </div>
229
+ <p>
230
+ Molestie integer luctus nam duis egestas placerat amet
231
+ netus. Est ut ligula aliquam sed. Enim tincidunt
232
+ adipiscing consectetur mauris tincidunt quam. Ipsum
233
+ aliquet aliquet cras nec in eget tristique. Facilisis
234
+ purus viverra interdum viverra.
235
+ </p>
236
+ </div>
237
+ </div>
238
+ </li>
239
+ <li>
240
+ <div class="d-sm-flex">
241
+ <div class="flex-shrink-0">
242
+ <div class="border-style d-inline-block mb-3 mb-sm-0">
243
+ <img
244
+ class="rounded-10 wh-108 rounded-circle"
245
+ src="~/assets/images/user-10.jpg"
246
+ alt="user-3"
247
+ />
248
+ </div>
249
+ </div>
250
+ <div class="flex-grow-1 ms-0 ms-sm-4">
251
+ <h4>Mildred Benally</h4>
252
+ <div class="d-flex align-items-center">
253
+ <div class="d-flex">
254
+ <i class="ri-star-fill"></i>
255
+ <i class="ri-star-fill"></i>
256
+ <i class="ri-star-fill"></i>
257
+ <i class="ri-star-fill"></i>
258
+ <i class="ri-star-half-fill"></i>
259
+ </div>
260
+ <span>(4.80)</span>
261
+ </div>
262
+ <p>
263
+ Nisl sagittis et id ac faucibus sollicitudin purus. Mattis
264
+ a ac purus sapien mauris mauris sagittis ut in. Molestie
265
+ integer luctus nam duis egestas placerat amet netus. Est
266
+ ut ligula aliquam sed.
267
+ </p>
268
+ </div>
269
+ </div>
270
+ </li>
271
+ </ul>
272
+
273
+ <div class="review-form">
274
+ <h3>Write A Review</h3>
275
+ <div class="d-flex align-items-center rate">
276
+ <i class="ri-star-fill"></i>
277
+ <i class="ri-star-fill"></i>
278
+ <i class="ri-star-fill"></i>
279
+ <i class="ri-star-fill"></i>
280
+ <i class="ri-star-half-fill"></i>
281
+ <span>(3)</span>
282
+ </div>
283
+ <form>
284
+ <div class="row">
285
+ <div class="col-lg-6">
286
+ <div class="form-group mb-4">
287
+ <label class="label">Full Name</label>
288
+ <input
289
+ type="text"
290
+ class="form-control"
291
+ placeholder="Kim Keener"
292
+ />
293
+ </div>
294
+ </div>
295
+ <div class="col-lg-6">
296
+ <div class="form-group mb-4">
297
+ <label class="label">Email</label>
298
+ <input
299
+ type="email"
300
+ class="form-control"
301
+ placeholder="hello@tuan.com"
302
+ />
303
+ </div>
304
+ </div>
305
+ <div class="col-lg-12">
306
+ <div class="form-group mb-4">
307
+ <label class="label">Summary</label>
308
+ <textarea
309
+ class="form-control"
310
+ placeholder="Write review summary"
311
+ cols="30"
312
+ rows="10"
313
+ ></textarea>
314
+ </div>
315
+ </div>
316
+ <div class="col-lg-12">
317
+ <div class="form-group mb-0">
318
+ <button
319
+ type="submit"
320
+ class="btn btn-warning text-white rounded-pill"
321
+ >
322
+ Submit Now
323
+ </button>
324
+ </div>
325
+ </div>
326
+ </div>
327
+ </form>
328
+ </div>
329
+ </div>
330
+ </v-tabs-window-item>
331
+ </v-tabs-window>
332
+ </v-card-text>
333
+ </div>
334
+ </template>
335
+
336
+ <script>
337
+ export default {
338
+ name: "ProductDetailsTab",
339
+ data: () => ({
340
+ tab: null,
341
+ }),
342
+ };
343
+ </script>
@@ -0,0 +1,29 @@
1
+ <template>
2
+ <div class="product-quantity">
3
+ <div class="add-to-cart-counter">
4
+ <div @click="decrement">
5
+ <input type="button" class="minusBtn" value="-" />
6
+ </div>
7
+ <input type="text" size="25" v-model="internalValue" class="count" />
8
+ <div @click="increment">
9
+ <input type="button" class="plusBtn" value="+" />
10
+ </div>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script lang="ts" setup>
16
+ import { ref } from "vue";
17
+
18
+ const internalValue = ref(0);
19
+
20
+ const increment = () => {
21
+ internalValue.value++;
22
+ };
23
+
24
+ const decrement = () => {
25
+ if (internalValue.value > 0) {
26
+ internalValue.value--;
27
+ }
28
+ };
29
+ </script>