@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.
- package/assets/css/custom.css +70 -0
- package/assets/css/remixicon.css +2782 -0
- package/assets/css/satoshi-font.css +31 -0
- package/assets/fonts/flaticon.css +463 -0
- package/assets/fonts/flaticon.eot +0 -0
- package/assets/fonts/flaticon.html +2153 -0
- package/assets/fonts/flaticon.svg +441 -0
- package/assets/fonts/flaticon.ttf +0 -0
- package/assets/fonts/flaticon.woff +0 -0
- package/assets/fonts/flaticon.woff2 +0 -0
- package/assets/fonts/remixicon.eot +0 -0
- package/assets/fonts/remixicon.svg +8230 -0
- package/assets/fonts/remixicon.ttf +0 -0
- package/assets/fonts/remixicon.woff +0 -0
- package/assets/fonts/remixicon.woff2 +0 -0
- package/assets/scss/_variables.scss +31 -0
- package/assets/scss/components/_about.scss +58 -0
- package/assets/scss/components/_authentication.scss +124 -0
- package/assets/scss/components/_backtoptop.scss +27 -0
- package/assets/scss/components/_banner.scss +396 -0
- package/assets/scss/components/_best-deals.scss +74 -0
- package/assets/scss/components/_blank.scss +40 -0
- package/assets/scss/components/_blog.scss +193 -0
- package/assets/scss/components/_cart.scss +108 -0
- package/assets/scss/components/_categories.scss +82 -0
- package/assets/scss/components/_checkout.scss +110 -0
- package/assets/scss/components/_dashboard.scss +388 -0
- package/assets/scss/components/_faq.scss +22 -0
- package/assets/scss/components/_filter-rang.scss +109 -0
- package/assets/scss/components/_footer.scss +270 -0
- package/assets/scss/components/_global.scss +550 -0
- package/assets/scss/components/_header.scss +587 -0
- package/assets/scss/components/_hurry.scss +52 -0
- package/assets/scss/components/_navbar.scss +1008 -0
- package/assets/scss/components/_offers.scss +689 -0
- package/assets/scss/components/_pagination.scss +71 -0
- package/assets/scss/components/_popup.scss +172 -0
- package/assets/scss/components/_preloader.scss +108 -0
- package/assets/scss/components/_products.scss +1147 -0
- package/assets/scss/components/_rtl.scss +806 -0
- package/assets/scss/components/_services.scss +16 -0
- package/assets/scss/components/_sidebar.scss +259 -0
- package/assets/scss/style.css +6676 -0
- package/assets/scss/style.css.map +1 -0
- package/assets/scss/style.scss +40 -0
- package/assets/webfonts/Satoshi-Bold.eot +0 -0
- package/assets/webfonts/Satoshi-Bold.woff +0 -0
- package/assets/webfonts/Satoshi-Bold.woff2 +0 -0
- package/assets/webfonts/Satoshi-Medium.eot +0 -0
- package/assets/webfonts/Satoshi-Medium.woff +0 -0
- package/assets/webfonts/Satoshi-Medium.woff2 +0 -0
- package/assets/webfonts/Satoshi-Regular.eot +0 -0
- package/assets/webfonts/Satoshi-Regular.woff +0 -0
- package/assets/webfonts/Satoshi-Regular.woff2 +0 -0
- package/components/AboutUs/AboutUsTuan.vue +25 -0
- package/components/AboutUs/Statistics.vue +42 -0
- package/components/AboutUs/SubscribeToTheNewsletter.vue +57 -0
- package/components/AddAddress/index.vue +70 -0
- package/components/BestSellers/Products.vue +1562 -0
- package/components/BestSellers/RecentlyViewed.vue +304 -0
- package/components/Cart/ProductQuantity.vue +29 -0
- package/components/Cart/index.vue +167 -0
- package/components/Categories/index.vue +305 -0
- package/components/ChangePassword/index.vue +71 -0
- package/components/Checkout/index.vue +192 -0
- package/components/Common/DashboardNavigation.vue +37 -0
- package/components/Common/PageBanner.vue +28 -0
- package/components/Common/ProductCard.vue +152 -0
- package/components/Common/Services.vue +58 -0
- package/components/Contact/ContactForm.vue +91 -0
- package/components/Contact/ContactInfo.vue +74 -0
- package/components/Dashboard/RecentOrder.vue +173 -0
- package/components/Dashboard/index.vue +79 -0
- package/components/EditAddress/index.vue +119 -0
- package/components/EditProfile/index.vue +97 -0
- package/components/FAQ/index.vue +121 -0
- package/components/FeaturedProduct/FeaturedProducts.vue +304 -0
- package/components/FeaturedProduct/Products.vue +1562 -0
- package/components/ForgotPassword/index.vue +51 -0
- package/components/Layout/BackToUp.vue +38 -0
- package/components/Layout/Copyright.vue +25 -0
- package/components/Layout/Footer.vue +183 -0
- package/components/Layout/FooterTwo.vue +165 -0
- package/components/Layout/LocationOption.vue +178 -0
- package/components/Layout/MiddleHeader.vue +229 -0
- package/components/Layout/MiddleHeaderThree.vue +204 -0
- package/components/Layout/MiddleHeaderTwo.vue +240 -0
- package/components/Layout/Navbar.vue +185 -0
- package/components/Layout/NavbarStyleFour.vue +334 -0
- package/components/Layout/NavbarStyleThree.vue +188 -0
- package/components/Layout/NavbarStyleTwo.vue +108 -0
- package/components/Layout/Preloader.vue +18 -0
- package/components/Layout/RTLSwitchBtn.vue +40 -0
- package/components/Layout/ResponsiveNavbar.vue +431 -0
- package/components/Layout/TopHeader.vue +130 -0
- package/components/Login/index.vue +94 -0
- package/components/MyAccount/index.vue +154 -0
- package/components/NewArrivals/Products.vue +1969 -0
- package/components/NewArrivals/RecentlyViewed.vue +304 -0
- package/components/OrderDetails/index.vue +77 -0
- package/components/OrderHistory/index.vue +197 -0
- package/components/PrivacyPolicy/index.vue +112 -0
- package/components/ProductDetails/ProductDetailsTab.vue +343 -0
- package/components/ProductDetails/ProductQuantity.vue +29 -0
- package/components/ProductDetails/RecentlyViewed.vue +304 -0
- package/components/ProductDetails/index.vue +268 -0
- package/components/Products/RecentlyViewed.vue +304 -0
- package/components/Products/index.vue +292 -0
- package/components/Register/index.vue +88 -0
- package/components/TermsConditions/index.vue +112 -0
- package/components/TrendingProducts/FeaturedProducts.vue +304 -0
- package/components/TrendingProducts/Products.vue +1564 -0
- package/components/Wishlist/ProductQuantity.vue +29 -0
- package/components/Wishlist/index.vue +128 -0
- package/composables/useCart.ts +149 -0
- package/composables/useCategories.ts +87 -0
- package/composables/useCheckout.ts +131 -0
- package/composables/useProducts.ts +162 -0
- package/composables/useSiteConfig.ts +236 -0
- package/composables/useTemplateSections.ts +74 -0
- package/e2e/cart.spec.ts +71 -0
- package/e2e/fixtures/mock-api.ts +166 -0
- package/e2e/homepage.spec.ts +65 -0
- package/e2e/layout.spec.ts +73 -0
- package/e2e/navigation.spec.ts +61 -0
- package/e2e/pages/cart.page.ts +44 -0
- package/e2e/pages/homepage.page.ts +46 -0
- package/e2e/playwright.config.ts +32 -0
- package/e2e/products.spec.ts +33 -0
- package/layouts/default.vue +94 -0
- package/layouts/inner.vue +70 -0
- package/nuxt.config.ts +86 -0
- package/package.json +38 -0
- package/pages/about-us.vue +12 -0
- package/pages/address.vue +10 -0
- package/pages/cart.vue +10 -0
- package/pages/categories.vue +10 -0
- package/pages/change-password.vue +10 -0
- package/pages/checkout.vue +10 -0
- package/pages/contact.vue +11 -0
- package/pages/dashboard.vue +10 -0
- package/pages/edit-address.vue +10 -0
- package/pages/edit-profile.vue +10 -0
- package/pages/faq.vue +10 -0
- package/pages/forgot-password.vue +10 -0
- package/pages/login.vue +10 -0
- package/pages/my-account.vue +10 -0
- package/pages/order-details.vue +10 -0
- package/pages/order-history.vue +10 -0
- package/pages/privacy-policy.vue +10 -0
- package/pages/product-details.vue +10 -0
- package/pages/products.vue +10 -0
- package/pages/register.vue +10 -0
- package/pages/terms-conditions.vue +10 -0
- package/pages/wishlist.vue +10 -0
- package/plugins/site-init.client.ts +24 -0
- package/plugins/vuetify.ts +18 -0
- package/types/index.ts +121 -0
- package/utils/image.ts +13 -0
- package/utils/store.ts +21 -0
|
@@ -0,0 +1,304 @@
|
|
|
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
|
+
Free Delivery
|
|
60
|
+
</span>
|
|
61
|
+
<button class="cart-btn">
|
|
62
|
+
<i class="ri-shopping-cart-line"></i>
|
|
63
|
+
<v-tooltip activator="parent" location="top">
|
|
64
|
+
Add To Cart
|
|
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
|
+
Free Delivery
|
|
116
|
+
</span>
|
|
117
|
+
<button class="cart-btn">
|
|
118
|
+
<i class="ri-shopping-cart-line"></i>
|
|
119
|
+
<v-tooltip activator="parent" location="top">
|
|
120
|
+
Add To Cart
|
|
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
|
+
Free Delivery
|
|
172
|
+
</span>
|
|
173
|
+
<button class="cart-btn">
|
|
174
|
+
<i class="ri-shopping-cart-line"></i>
|
|
175
|
+
<v-tooltip activator="parent" location="top">
|
|
176
|
+
Add To Cart
|
|
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
|
+
Free Delivery
|
|
228
|
+
</span>
|
|
229
|
+
<button class="cart-btn">
|
|
230
|
+
<i class="ri-shopping-cart-line"></i>
|
|
231
|
+
<v-tooltip activator="parent" location="top">
|
|
232
|
+
Add To Cart
|
|
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
|
+
Free Delivery
|
|
284
|
+
</span>
|
|
285
|
+
<button class="cart-btn">
|
|
286
|
+
<i class="ri-shopping-cart-line"></i>
|
|
287
|
+
<v-tooltip activator="parent" location="top">
|
|
288
|
+
Add To Cart
|
|
289
|
+
</v-tooltip>
|
|
290
|
+
</button>
|
|
291
|
+
</div>
|
|
292
|
+
</div>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
</div>
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
</template>
|
|
299
|
+
|
|
300
|
+
<script>
|
|
301
|
+
export default {
|
|
302
|
+
name: "RecentlyViewed",
|
|
303
|
+
};
|
|
304
|
+
</script>
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="product-details-area products-page pt-30 pb-60">
|
|
3
|
+
<div class="container">
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-lg-6">
|
|
6
|
+
<v-card-text>
|
|
7
|
+
<v-tabs-window v-model="tab">
|
|
8
|
+
<v-tabs-window-item value="img1">
|
|
9
|
+
<div class="product-details-img">
|
|
10
|
+
<img src="~/assets/images/product-66.png" alt="product" />
|
|
11
|
+
</div>
|
|
12
|
+
</v-tabs-window-item>
|
|
13
|
+
<v-tabs-window-item value="img2">
|
|
14
|
+
<div class="product-details-img">
|
|
15
|
+
<img src="~/assets/images/product-67.png" alt="product" />
|
|
16
|
+
</div>
|
|
17
|
+
</v-tabs-window-item>
|
|
18
|
+
<v-tabs-window-item value="img3">
|
|
19
|
+
<div class="product-details-img">
|
|
20
|
+
<img src="~/assets/images/product-68.png" alt="product" />
|
|
21
|
+
</div>
|
|
22
|
+
</v-tabs-window-item>
|
|
23
|
+
<span class="discounts">-10%</span>
|
|
24
|
+
</v-tabs-window>
|
|
25
|
+
</v-card-text>
|
|
26
|
+
|
|
27
|
+
<v-tabs
|
|
28
|
+
v-model="tab"
|
|
29
|
+
bg-color="white"
|
|
30
|
+
class="products-tabs justify-content-center"
|
|
31
|
+
>
|
|
32
|
+
<v-tab value="img1">
|
|
33
|
+
<img src="~/assets/images/product-66.png" alt="product" />
|
|
34
|
+
</v-tab>
|
|
35
|
+
<v-tab value="img2">
|
|
36
|
+
<img src="~/assets/images/product-67.png" alt="product" />
|
|
37
|
+
</v-tab>
|
|
38
|
+
<v-tab value="img3">
|
|
39
|
+
<img src="~/assets/images/product-68.png" alt="product" />
|
|
40
|
+
</v-tab>
|
|
41
|
+
</v-tabs>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-lg-6">
|
|
44
|
+
<div class="product-details-content">
|
|
45
|
+
<span class="stock">
|
|
46
|
+
<i class="ri-check-line"></i>
|
|
47
|
+
In Stock
|
|
48
|
+
</span>
|
|
49
|
+
<h3>
|
|
50
|
+
Apple MacBook Pro 16.2" with Liquid Retina XDR Display, M2 Max
|
|
51
|
+
Chip with 12-Core CPU
|
|
52
|
+
</h3>
|
|
53
|
+
<div class="d-flex gap-1 review">
|
|
54
|
+
<i class="flaticon-star"></i>
|
|
55
|
+
<i class="flaticon-star"></i>
|
|
56
|
+
<i class="flaticon-star"></i>
|
|
57
|
+
<i class="flaticon-star"></i>
|
|
58
|
+
<i class="flaticon-star"></i>
|
|
59
|
+
<span>(5 Reviews)</span>
|
|
60
|
+
</div>
|
|
61
|
+
<h2 class="price">$399 <del>$450</del></h2>
|
|
62
|
+
<div class="d-flex style-select">
|
|
63
|
+
<span>Style:</span>
|
|
64
|
+
<h5>{{ typeText }}</h5>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="select-style mb-4">
|
|
67
|
+
<input type="radio" class="btn-check" />
|
|
68
|
+
<label
|
|
69
|
+
class="btn mb-2 mb-sm-0 mr-1"
|
|
70
|
+
@click="setTypeTextToFirst"
|
|
71
|
+
:class="{ active: typeActiveButton === 'first' }"
|
|
72
|
+
>
|
|
73
|
+
Apple M1 Max Chip
|
|
74
|
+
</label>
|
|
75
|
+
<input type="radio" class="btn-check" />
|
|
76
|
+
<label
|
|
77
|
+
class="btn mb-2 mb-sm-0"
|
|
78
|
+
@click="setTypeTextToSecond"
|
|
79
|
+
:class="{ active: typeActiveButton === 'second' }"
|
|
80
|
+
>
|
|
81
|
+
Apple M1 Pro Chip
|
|
82
|
+
</label>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="d-flex style-select">
|
|
85
|
+
<span>Capacity:</span>
|
|
86
|
+
<h5>{{ capacityText }}</h5>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="select-style mb-4">
|
|
89
|
+
<input type="radio" class="btn-check" />
|
|
90
|
+
<label
|
|
91
|
+
class="btn mb-2 mb-sm-0 mr-1"
|
|
92
|
+
@click="setCapacityTextToFirst"
|
|
93
|
+
:class="{ active: capacityActiveButton === 'first' }"
|
|
94
|
+
>
|
|
95
|
+
512 GB
|
|
96
|
+
</label>
|
|
97
|
+
|
|
98
|
+
<input type="radio" class="btn-check" />
|
|
99
|
+
<label
|
|
100
|
+
class="btn mb-2 mb-sm-0"
|
|
101
|
+
@click="setCapacityTextToSecond"
|
|
102
|
+
:class="{ active: capacityActiveButton === 'second' }"
|
|
103
|
+
>
|
|
104
|
+
1 TB
|
|
105
|
+
</label>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="d-flex style-select">
|
|
108
|
+
<span>Color:</span>
|
|
109
|
+
<h5>{{ colorText }}</h5>
|
|
110
|
+
</div>
|
|
111
|
+
<ul class="d-flex ps-0 mb-0 list-unstyled select-color gap-2 mb-4">
|
|
112
|
+
<li
|
|
113
|
+
class="color1"
|
|
114
|
+
@click="setColorTextToFirst"
|
|
115
|
+
:class="{ active: colorActiveButton === 'first' }"
|
|
116
|
+
></li>
|
|
117
|
+
<li
|
|
118
|
+
class="color2"
|
|
119
|
+
@click="setColorTextToSecond"
|
|
120
|
+
:class="{ active: colorActiveButton === 'second' }"
|
|
121
|
+
></li>
|
|
122
|
+
</ul>
|
|
123
|
+
<div class="d-flex align-items-center mb-4 gap-3">
|
|
124
|
+
<ProductDetailsProductQuantity />
|
|
125
|
+
<button class="btn btn-success text-white rounded-pill">
|
|
126
|
+
<i class="ri-shopping-cart-line"></i>
|
|
127
|
+
<span>Add To Cart</span>
|
|
128
|
+
</button>
|
|
129
|
+
</div>
|
|
130
|
+
<button class="d-flex align-items-center gap-3 wishlist mb-3">
|
|
131
|
+
<i class="ri-heart-line"></i>
|
|
132
|
+
<span>Add to wishlist</span>
|
|
133
|
+
</button>
|
|
134
|
+
<button class="d-flex align-items-center gap-3 wishlist">
|
|
135
|
+
<i class="ri-eye-line"></i>
|
|
136
|
+
<span><span>565 people</span> are viewing the products</span>
|
|
137
|
+
</button>
|
|
138
|
+
<ul class="services-list ps-0 mb-0 list-unstyled">
|
|
139
|
+
<li class="d-flex align-items-center">
|
|
140
|
+
<i class="ri-check-line"></i>
|
|
141
|
+
<span>Free delivery today</span>
|
|
142
|
+
</li>
|
|
143
|
+
<li class="d-flex align-items-center">
|
|
144
|
+
<i class="ri-check-line"></i>
|
|
145
|
+
<span>100% money back Guarantee</span>
|
|
146
|
+
</li>
|
|
147
|
+
<li class="d-flex align-items-center">
|
|
148
|
+
<i class="ri-check-line"></i>
|
|
149
|
+
<span>7 days product return policy</span>
|
|
150
|
+
</li>
|
|
151
|
+
</ul>
|
|
152
|
+
<ul class="sku-list ps-0 mb-0 list-unstyled">
|
|
153
|
+
<li class="d-flex align-items-center">
|
|
154
|
+
<span class="title">SKU:</span>
|
|
155
|
+
<span class="title2">SMTGS6T45</span>
|
|
156
|
+
</li>
|
|
157
|
+
<li class="d-flex align-items-center">
|
|
158
|
+
<span class="title">Category:</span>
|
|
159
|
+
<span class="title2">Computer</span>
|
|
160
|
+
</li>
|
|
161
|
+
<li class="d-flex align-items-center">
|
|
162
|
+
<span class="title">Tags:</span>
|
|
163
|
+
<span class="title2">laptop, macbook, PC</span>
|
|
164
|
+
</li>
|
|
165
|
+
</ul>
|
|
166
|
+
<ul
|
|
167
|
+
class="social-link ps-0 mb-0 list-unstyled d-flex gap-2 flex-wrap"
|
|
168
|
+
>
|
|
169
|
+
<li class="d-flex align-items-center me-2">
|
|
170
|
+
<span>Share:</span>
|
|
171
|
+
</li>
|
|
172
|
+
<li class="d-flex align-items-center gap-2">
|
|
173
|
+
<a href="https://facebook.com/" target="_blank">
|
|
174
|
+
<i class="ri-facebook-fill"></i>
|
|
175
|
+
</a>
|
|
176
|
+
</li>
|
|
177
|
+
<li class="d-flex align-items-center gap-2">
|
|
178
|
+
<a href="https://twitter.com/" target="_blank">
|
|
179
|
+
<i class="ri-twitter-x-line"></i>
|
|
180
|
+
</a>
|
|
181
|
+
</li>
|
|
182
|
+
<li class="d-flex align-items-center gap-2">
|
|
183
|
+
<a href="https://linkedin.com/" target="_blank">
|
|
184
|
+
<i class="ri-linkedin-fill"></i>
|
|
185
|
+
</a>
|
|
186
|
+
</li>
|
|
187
|
+
<li class="d-flex align-items-center gap-2">
|
|
188
|
+
<a href="https://whatsapp.com/" target="_blank">
|
|
189
|
+
<i class="ri-whatsapp-line"></i>
|
|
190
|
+
</a>
|
|
191
|
+
</li>
|
|
192
|
+
</ul>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
|
|
197
|
+
<div class="pt-60"></div>
|
|
198
|
+
|
|
199
|
+
<ProductDetailsTab />
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
</template>
|
|
203
|
+
|
|
204
|
+
<script lang="ts">
|
|
205
|
+
import { defineComponent, ref } from "vue";
|
|
206
|
+
|
|
207
|
+
export default defineComponent({
|
|
208
|
+
name: "ProductDetails",
|
|
209
|
+
data: () => ({
|
|
210
|
+
tab: null,
|
|
211
|
+
}),
|
|
212
|
+
setup() {
|
|
213
|
+
const typeText = ref("Apple M1 Max Chip");
|
|
214
|
+
const typeActiveButton = ref("first");
|
|
215
|
+
|
|
216
|
+
const setTypeTextToFirst = () => {
|
|
217
|
+
typeText.value = "Apple M1 Max Chip";
|
|
218
|
+
typeActiveButton.value = "first";
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
const setTypeTextToSecond = () => {
|
|
222
|
+
typeText.value = "Apple M1 Pro Chip";
|
|
223
|
+
typeActiveButton.value = "second";
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
const capacityText = ref("512 GB");
|
|
227
|
+
const capacityActiveButton = ref("first");
|
|
228
|
+
|
|
229
|
+
const setCapacityTextToFirst = () => {
|
|
230
|
+
capacityText.value = "512 GB";
|
|
231
|
+
capacityActiveButton.value = "first";
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
const setCapacityTextToSecond = () => {
|
|
235
|
+
capacityText.value = "1 TB";
|
|
236
|
+
capacityActiveButton.value = "second";
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
const colorText = ref("Silver");
|
|
240
|
+
const colorActiveButton = ref("first");
|
|
241
|
+
|
|
242
|
+
const setColorTextToFirst = () => {
|
|
243
|
+
colorText.value = "Silver";
|
|
244
|
+
colorActiveButton.value = "first";
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
const setColorTextToSecond = () => {
|
|
248
|
+
colorText.value = "Gray";
|
|
249
|
+
colorActiveButton.value = "second";
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
return {
|
|
253
|
+
typeText,
|
|
254
|
+
typeActiveButton,
|
|
255
|
+
setTypeTextToFirst,
|
|
256
|
+
setTypeTextToSecond,
|
|
257
|
+
capacityText,
|
|
258
|
+
capacityActiveButton,
|
|
259
|
+
setCapacityTextToFirst,
|
|
260
|
+
setCapacityTextToSecond,
|
|
261
|
+
colorText,
|
|
262
|
+
colorActiveButton,
|
|
263
|
+
setColorTextToFirst,
|
|
264
|
+
setColorTextToSecond,
|
|
265
|
+
};
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
</script>
|