|
1 | 1 | <template> |
2 | | - <template v-if="data?.product"> |
3 | | - <section> |
4 | | - <div class="container flex flex-wrap items-center pt-4 pb-12 mx-auto"> |
5 | | - <div |
6 | | - class="grid grid-cols-1 gap-4 mt-8 lg:grid-cols-2 xl:grid-cols-2 md:grid-cols-2 sm:grid-cols-2" |
7 | | - > |
8 | | - <ProductImage |
9 | | - :alt="data.product.name" |
10 | | - :src="data.product.image.sourceUrl" |
11 | | - /> |
12 | | - <div class="ml-8"> |
13 | | - <p class="text-3xl font-bold text-left"> |
14 | | - {{ data.product.name }} |
15 | | - </p> |
16 | | - <ProductPrice |
17 | | - :product="data.product" |
18 | | - :shouldCenterPrice="false" |
19 | | - priceFontSize="big" |
| 2 | + <div class="product-single-container"> |
| 3 | + <template v-if="data?.product"> |
| 4 | + <section> |
| 5 | + <div class="container flex flex-wrap items-center pt-4 pb-12 mx-auto"> |
| 6 | + <div |
| 7 | + class="grid grid-cols-1 gap-4 mt-8 lg:grid-cols-2 xl:grid-cols-2 md:grid-cols-2 sm:grid-cols-2" |
| 8 | + > |
| 9 | + <ProductImage |
| 10 | + :alt="data.product.name" |
| 11 | + :src="data.product.image.sourceUrl" |
20 | 12 | /> |
21 | | - <p class="pt-1 mt-6 text-2xl text-gray-900"> |
22 | | - {{ stripHTML(data.product.description) }} |
23 | | - </p> |
24 | | - <p |
25 | | - v-if="data.product.stockQuantity" |
26 | | - class="pt-1 mt-4 text-2xl text-gray-900" |
27 | | - > |
28 | | - {{ data.product.stockQuantity }} in stock |
29 | | - </p> |
30 | | - <p |
31 | | - v-if="data.product.variations" |
32 | | - class="pt-1 mt-4 text-xl text-gray-900" |
33 | | - > |
34 | | - <span class="py-2">Varianter</span> |
35 | | - <select |
36 | | - id="variant" |
37 | | - name="variant" |
38 | | - class="block w-64 px-6 py-2 bg-white border border-gray-500 rounded-lg focus:outline-none focus:shadow-outline" |
39 | | - v-model="selectedVariation" |
| 13 | + <div class="ml-8"> |
| 14 | + <p class="text-3xl font-bold text-left"> |
| 15 | + {{ data.product.name }} |
| 16 | + </p> |
| 17 | + <ProductPrice |
| 18 | + :product="data.product" |
| 19 | + :shouldCenterPrice="false" |
| 20 | + priceFontSize="big" |
| 21 | + /> |
| 22 | + <p class="pt-1 mt-6 text-2xl text-gray-900"> |
| 23 | + {{ stripHTML(data.product.description) }} |
| 24 | + </p> |
| 25 | + <p |
| 26 | + v-if="data.product.stockQuantity" |
| 27 | + class="pt-1 mt-4 text-2xl text-gray-900" |
40 | 28 | > |
41 | | - <option |
42 | | - v-for="(variation, index) in data.product.variations.nodes" |
43 | | - :key="variation.databaseId" |
44 | | - :value="variation.databaseId" |
45 | | - :selected="index === 0" |
46 | | - > |
47 | | - {{ filteredVariantName(data.product.name, variation.name) }} |
48 | | - ({{ variation.stockQuantity }} in stock) |
49 | | - </option> |
50 | | - </select> |
51 | | - </p> |
52 | | - <div class="pt-1 mt-2"> |
53 | | - <CommonButton |
54 | | - @common-button-click="addProductToCart(data.product)" |
55 | | - :is-loading="isLoading" |
| 29 | + {{ data.product.stockQuantity }} in stock |
| 30 | + </p> |
| 31 | + <p |
| 32 | + v-if="data.product.variations" |
| 33 | + class="pt-1 mt-4 text-xl text-gray-900" |
56 | 34 | > |
57 | | - ADD TO CART |
58 | | - </CommonButton> |
| 35 | + <span class="py-2">Varianter</span> |
| 36 | + <select |
| 37 | + id="variant" |
| 38 | + name="variant" |
| 39 | + class="block w-64 px-6 py-2 bg-white border border-gray-500 rounded-lg focus:outline-none focus:shadow-outline" |
| 40 | + v-model="selectedVariation" |
| 41 | + > |
| 42 | + <option |
| 43 | + v-for="(variation, index) in data.product.variations.nodes" |
| 44 | + :key="variation.databaseId" |
| 45 | + :value="variation.databaseId" |
| 46 | + :selected="index === 0" |
| 47 | + > |
| 48 | + {{ filteredVariantName(data.product.name, variation.name) }} |
| 49 | + ({{ variation.stockQuantity }} in stock) |
| 50 | + </option> |
| 51 | + </select> |
| 52 | + </p> |
| 53 | + <div class="pt-1 mt-2"> |
| 54 | + <CommonButton |
| 55 | + @common-button-click="addProductToCart(data.product)" |
| 56 | + :is-loading="isLoading" |
| 57 | + > |
| 58 | + ADD TO CART |
| 59 | + </CommonButton> |
| 60 | + </div> |
59 | 61 | </div> |
60 | 62 | </div> |
61 | 63 | </div> |
62 | | - </div> |
63 | | - </section> |
64 | | - <Toast ref="toast" /> |
65 | | - </template> |
| 64 | + </section> |
| 65 | + <Toast ref="toast" /> |
| 66 | + </template> |
| 67 | + </div> |
66 | 68 | </template> |
67 | 69 |
|
68 | 70 | <script setup> |
|
0 commit comments