Drop hardcoded white backgrounds

Product and collection card images, gallery slides, the zoom overlay
image, and the products section were pinned to bg-white while every
other section uses bg-background. They are transparent now and inherit
the page.

Skeleton fills and image-placeholder tiles keep their zinc backgrounds —
those are load-state and empty-state affordances, not theming.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016jWbNNJLksC1QG8z8845FX
This commit is contained in:
Rami Bitar
2026-08-01 17:33:31 -04:00
co-authored by Claude Opus 5
parent 8167acb231
commit 489dfd5e97
4 changed files with 5 additions and 5 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ const CollectionCard: React.FC<CollectionCardProps> = ({ collection }) => {
className="group block h-full" className="group block h-full"
> >
{/* Collection Image */} {/* Collection Image */}
<div className="relative aspect-square overflow-hidden bg-white"> <div className="relative aspect-square overflow-hidden">
{collection.image ? ( {collection.image ? (
<img <img
src={collection.image.url} src={collection.image.url}
+1 -1
View File
@@ -66,7 +66,7 @@ const ProductCard: React.FC<ProductCardProps> = ({ product }) => {
className="group block h-full" className="group block h-full"
> >
{/* Product Image */} {/* Product Image */}
<div className="relative aspect-square overflow-hidden bg-white"> <div className="relative aspect-square overflow-hidden">
{firstImage ? ( {firstImage ? (
<img <img
src={firstImage.url} src={firstImage.url}
@@ -132,7 +132,7 @@ const ProductDetailGallery: React.FC<ProductDetailGalleryProps> = ({
key={index} key={index}
onClick={() => setZoomedIndex(index)} onClick={() => setZoomedIndex(index)}
aria-label={`Zoom ${image.altText || 'product image'}`} aria-label={`Zoom ${image.altText || 'product image'}`}
className={`relative aspect-square w-full shrink-0 snap-center overflow-hidden bg-white pointer-events-none sm:pointer-events-auto sm:shrink sm:cursor-zoom-in ${ className={`relative aspect-square w-full shrink-0 snap-center overflow-hidden pointer-events-none sm:pointer-events-auto sm:shrink sm:cursor-zoom-in ${
isSingle ? 'sm:col-span-2' : '' isSingle ? 'sm:col-span-2' : ''
}`} }`}
> >
@@ -177,7 +177,7 @@ const ProductDetailGallery: React.FC<ProductDetailGalleryProps> = ({
src={zoomedImage.url} src={zoomedImage.url}
alt={zoomedImage.altText || 'Product image'} alt={zoomedImage.altText || 'Product image'}
onClick={(event) => event.stopPropagation()} onClick={(event) => event.stopPropagation()}
className="max-h-full max-w-full object-contain bg-white" className="max-h-full max-w-full object-contain"
/> />
<Button <Button
+1 -1
View File
@@ -172,7 +172,7 @@ const Products: React.FC<ProductsProps> = ({
} }
return ( return (
<div className="py-20 bg-white"> <div className="py-20">
<div className="max-w-screen-2xl mx-auto px-8"> <div className="max-w-screen-2xl mx-auto px-8">
<h2 className="text-center text-2xl md:text-3xl font-normal max-w-3xl mx-auto text-foreground"> <h2 className="text-center text-2xl md:text-3xl font-normal max-w-3xl mx-auto text-foreground">
{title} {title}