Skip to content

Commit 72d7d15

Browse files
committed
fix: product card ui
1 parent 83a10df commit 72d7d15

File tree

2 files changed

+24
-25
lines changed

2 files changed

+24
-25
lines changed

app.vue

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -90,37 +90,31 @@
9090
</div>
9191
</div>
9292
</div>
93-
<div class="grid gap-1 grid-cols-3">
94-
<div v-for="node in products" :key="node.id" class="bg-neutral-200 dark:bg-neutral-800 group relative">
95-
<div class="relative pb-[133%] overflow-hidden">
96-
<NuxtImg loading="lazy" :title="node.name" :alt="node.image.altText || node.name" :src="node.image.sourceUrl" class="object-cover w-full h-full absolute" />
93+
<div class="grid gap-4 grid-cols-3">
94+
<div v-for="node in products" :key="node.id" class="p-2 border border-neutral-700 rounded-2xl">
95+
<div class="relative pb-[133%] mb-3">
96+
<NuxtImg
97+
loading="lazy"
98+
:title="node.name"
99+
:alt="node.image.altText || node.name"
100+
:src="node.image.sourceUrl"
101+
class="object-cover w-full h-full absolute rounded-lg bg-neutral-800" />
97102
</div>
98-
<div
99-
class="bottom-0 left-0 right-0 top-0 flex flex-col justify-center items-center absolute text-white text-sm backdrop-blur-sm bg-black/80 invisible group-hover:visible">
100-
<div class="absolute p-4 flex flex-col gap-1 items-center">
101-
<div class="font-bold text-center">
102-
{{ node.name }}
103-
</div>
104-
<div class="flex gap-1">
105-
<div class="font-semibold text-[#ff0000]" v-html="node.salePrice"></div>
106-
<div class="line-through text-neutral-400" v-html="node.regularPrice"></div>
103+
<div class="px-2 mb-1 text-sm font-semibold gap-6 grid-flow-col grid">
104+
<div class="flex flex-col min-w-0 justify-between gap-1">
105+
<div class="text-neutral-400 text-xs">
106+
{{ node.allPaUrunTipi.nodes[0].name }}
107107
</div>
108-
<div class="flex gap-2 mt-3 flex-wrap justify-center">
109-
<span
110-
:class="[variation.stockStatus === 'OUT_OF_STOCK' ? 'disabled' : '']"
111-
class="py-1.5 px-2 border rounded leading-[10px] h-6"
112-
v-for="variation in node.variations.nodes"
113-
:key="variation.id"
114-
:disabled="variation.stockStatus === 'OUT_OF_STOCK'">
115-
{{ variation.attributes.nodes.map((attr) => attr.value).toString() }}
116-
</span>
108+
<div :title="node.name" class="text-ellipsis whitespace-nowrap overflow-hidden">
109+
{{ node.name }}
117110
</div>
118111
</div>
112+
<div class="text-right gap-1 flex flex-col">
113+
<div class="line-through text-neutral-400 text-xs" v-html="node.regularPrice"></div>
114+
<div class="text-[#ff0000] font-bold" v-html="node.salePrice"></div>
115+
</div>
119116
</div>
120117
</div>
121-
<div v-if="loading" v-for="node in 9" :key="node" class="animate-pulse bg-neutral-200 dark:bg-neutral-800">
122-
<div class="relative pb-[133%] overflow-hidden"></div>
123-
</div>
124118
</div>
125119
<div v-if="!empty && !loading" class="text-lg text-center p-6">
126120
<Icon name="heroicons-outline:magnifying-glass" size="99"></Icon>

gql/queries/getProducts.gql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ query getProducts($after: String, $search: String, $category: String, $order: Or
66
name
77
regularPrice
88
salePrice
9+
allPaUrunTipi {
10+
nodes {
11+
name
12+
}
13+
}
914
image {
1015
id
1116
sourceUrl(size: WOOCOMMERCE_SINGLE)

0 commit comments

Comments
 (0)