Polish storefront SEO, specials, and homepage UX.

Publish Meshkee sitemap-config, map product-source specials without variants, restore hero autoplay, and tighten page heroes, product images, and section order.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-22 21:48:00 +03:30
co-authored by Cursor
parent 11d0ba64ed
commit 24b5649abd
22 changed files with 735 additions and 298 deletions
+4 -4
View File
@@ -17,7 +17,7 @@ export function ProductGallery({ images, alt }: { images: string[]; alt: string
<div>
<button
type="button"
className="relative block w-full overflow-hidden rounded-2xl bg-paper"
className="relative block aspect-square w-full overflow-hidden rounded-2xl bg-paper"
onClick={() => setLightbox(true)}
onMouseEnter={() => setZoomed(true)}
onMouseLeave={() => {
@@ -35,10 +35,10 @@ export function ProductGallery({ images, alt }: { images: string[]; alt: string
src={current}
fallbackSrc="/placeholders/product.svg"
alt={alt}
className="aspect-square w-full object-contain transition-transform duration-150"
className="absolute inset-0 size-full object-cover transition-transform duration-150"
/>
<span
className="pointer-events-none absolute inset-0 bg-contain bg-center bg-no-repeat"
className="pointer-events-none absolute inset-0 bg-cover bg-center bg-no-repeat"
style={{
backgroundImage: `url(${current})`,
transform: zoomed ? "scale(1.85)" : "scale(1)",
@@ -56,7 +56,7 @@ export function ProductGallery({ images, alt }: { images: string[]; alt: string
onClick={() => setActive(index)}
className={`size-16 shrink-0 overflow-hidden rounded-xl border ${index === active ? "border-brand" : "border-line"}`}
>
<Placeholder src={image} className="size-full object-contain" />
<Placeholder src={image} alt="" className="size-full object-cover" />
</button>
))}
</div>