This commit is contained in:
Parsa Nazer
2025-12-26 11:08:55 +03:30
42 changed files with 45 additions and 13 deletions
+40 -9
View File
@@ -14,15 +14,46 @@ const { isMobile } = useRatio();
const props = defineProps<Props>();
const {} = toRefs(props);
const brands = ref([
"/img/brands/brand-1.png",
"/img/brands/brand-2.png",
"/img/brands/brand-3.png",
"/img/brands/brand-4.png",
"/img/brands/brand-5.png",
"/img/brands/brand-6.png",
const brandsList = ref([
"acer.png",
"adidas.png",
"aeg.png",
"anker.png",
"apple.webp",
"asus.png",
"canon.png",
"cat.png",
"deawoo.png",
"dell.png",
"greenlion.webp",
"gucci.png",
"hp.png",
"huawei.webp",
"jbl.png",
"jordan.png",
"lg.png",
"microsoft.png",
"msi.png",
"nike.png",
"ninja.png",
"philips.png",
"playstation.png",
"reebok.png",
"samsung.png",
"sencor.png",
"sony.png",
"tefal.png",
"uwell.png",
"westinghous.png",
"xbox.png",
"xiaomi.png",
"xvision.png",
"zara.png",
]);
const brands = computed(() => {
return brandsList.value.map(i => `/img/brands/${i}`)
})
// preload images using vueuse
const isReady = ref(false);
@@ -75,11 +106,11 @@ onMounted(async () => {
<div class="rotate-z-2 z-10 w-[110%]">
<Marquee
v-if="isReady"
class="bg-slate-100/70 will-change-transform"
class="bg-slate-100/70 will-change-transform"
direction="reverse"
:clone="true"
dir="ltr"
:duration="14"
:duration="48"
>
<div
v-for="brand in brands"
+2 -2
View File
@@ -160,7 +160,7 @@ onMounted(() => {
/>
<div class="container relative z-10">
<div class="flex h-200 bg-white rounded-b-2xl border-t border-slate-200">
<div class="flex h-[70svh] max-h-200 bg-white rounded-b-2xl border-t border-slate-200">
<div class="bg-slate-100 p-4 flex flex-col overflow-y-auto mask-b-from-90% pb-8">
<button
v-for="(item, index) in items"
@@ -183,7 +183,7 @@ onMounted(() => {
>
<div
:key="selectedItem"
class="grid grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 p-4 text-back w-full h-fit"
class="grid grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 p-4 gap-2 text-back w-full h-fit"
:style="{
// gridTemplateRows: 'repeat(5, auto)',
// justifyContent: 'center',
+2 -1
View File
@@ -47,9 +47,10 @@ withDefaults(defineProps<Props>(), {
:title="product.name"
:picture="product.image ?? product.variants[0].images[0].image"
:colors="product.colors"
:price="product.variants[0].price"
:price="product.variants[0].price_after_discount ?? product.variants[0].price"
:rate="product.rating"
:dark-layer="true"
:tag="`${product.variants[0].discount}% تخفیف`"
/>
</li>
</ul>
+1 -1
View File
@@ -1,5 +1,5 @@
<template>
<div class="text-white flex items-center justify-center rounded-full px-4 py-2 bg-danger-600 typo-sub-h-sm">
<div class="text-white flex items-center justify-center rounded-full px-3 lg:px-4 py-2 bg-danger-600 typo-sub-h-xs lg:typo-sub-h-sm">
<slot />
</div>
</template>
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB