5 Commits

Author SHA1 Message Date
9462bb8255 Update src/app/shop/page.tsx 2026-02-23 15:58:26 +00:00
a96161c680 Update src/app/shop/[id]/page.tsx 2026-02-23 15:58:25 +00:00
823b6c10a1 Update src/app/page.tsx 2026-02-23 15:58:24 +00:00
b230f945ec Update src/app/layout.tsx 2026-02-23 15:58:23 +00:00
d23b3ab8e7 Update src/app/blog/page.tsx 2026-02-23 15:58:22 +00:00

View File

@@ -64,46 +64,34 @@ const MediaAbout = ({
aria-label={ariaLabel}
className={cls("relative py-20 w-full", useInvertedBackground && "bg-foreground", className)}
>
<div className={cls("relative w-content-width mx-auto aspect-auto min-h-70 md:aspect-video md:min-h-0 rounded-theme-capped overflow-visible", mediaWrapperClassName)} style={{ perspective: "1000px" }}>
<div className="relative w-full h-full rounded-theme-capped overflow-hidden" style={{ transformStyle: "preserve-3d", transition: "transform 0.6s ease-in-out" }} onMouseEnter={(e) => { e.currentTarget.style.transform = "rotateY(180deg)"; }} onMouseLeave={(e) => { e.currentTarget.style.transform = "rotateY(0deg)"; }}>
{/* Front side */}
<div style={{ backfaceVisibility: "hidden" }}>
<MediaContent
imageSrc={imageSrc}
videoSrc={videoSrc}
imageAlt={imageAlt}
videoAriaLabel={videoAriaLabel}
imageClassName={cls("w-full h-full object-cover", mediaClassName)}
<div className={cls("relative w-content-width mx-auto aspect-auto min-h-70 md:aspect-video md:min-h-0 rounded-theme-capped overflow-hidden", mediaWrapperClassName)}>
<MediaContent
imageSrc={imageSrc}
videoSrc={videoSrc}
imageAlt={imageAlt}
videoAriaLabel={videoAriaLabel}
imageClassName={cls("w-full h-full object-cover", mediaClassName)}
/>
<div className="absolute inset-0 z-0 bg-background/40 backdrop-blur-xs pointer-events-none select-none rounded-theme-capped" />
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2">
<div className="relative z-10 flex items-center justify-center h-full w-content-width p-5 md:w-45 mx-auto">
<TextBox
title={title}
description={description}
tag={tag}
tagIcon={tagIcon}
tagAnimation={tagAnimation}
buttons={buttons}
buttonAnimation={buttonAnimation}
className={cls("flex flex-col gap-3 md:gap-1", textBoxClassName)}
titleClassName={cls("text-6xl font-medium text-balance", titleClassName)}
descriptionClassName={cls("text-base md:text-lg leading-[1.2]", descriptionClassName)}
tagClassName={cls("px-3 py-1 text-sm rounded-theme card text-foreground inline-flex items-center gap-2 mb-3", tagClassName)}
buttonContainerClassName={cls("flex flex-wrap gap-4 max-md:justify-center mt-3", buttonContainerClassName)}
buttonClassName={buttonClassName}
buttonTextClassName={buttonTextClassName}
center={true}
/>
<div className="absolute inset-0 z-0 bg-background/40 backdrop-blur-xs pointer-events-none select-none rounded-theme-capped" />
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2">
<div className="relative z-10 flex items-center justify-center h-full w-content-width p-5 md:w-45 mx-auto">
<TextBox
title={title}
description={description}
tag={tag}
tagIcon={tagIcon}
tagAnimation={tagAnimation}
buttons={buttons}
buttonAnimation={buttonAnimation}
className={cls("flex flex-col gap-3 md:gap-1", textBoxClassName)}
titleClassName={cls("text-6xl font-medium text-balance", titleClassName)}
descriptionClassName={cls("text-base md:text-lg leading-[1.2]", descriptionClassName)}
tagClassName={cls("px-3 py-1 text-sm rounded-theme card text-foreground inline-flex items-center gap-2 mb-3", tagClassName)}
buttonContainerClassName={cls("flex flex-wrap gap-4 max-md:justify-center mt-3", buttonContainerClassName)}
buttonClassName={buttonClassName}
buttonTextClassName={buttonTextClassName}
center={true}
/>
</div>
</div>
</div>
{/* Back side */}
<div className="absolute inset-0 w-full h-full bg-foreground rounded-theme-capped flex items-center justify-center p-5" style={{ backfaceVisibility: "hidden", transform: "rotateY(180deg)" }}>
<div className="text-center">
<h3 className="text-4xl font-medium text-background mb-4">Discover More</h3>
<p className="text-base md:text-lg text-background/80 leading-[1.2]">Explore our artisanal craftsmanship and heritage. Hover back to see the front.</p>
</div>
</div>
</div>
</div>