feat: adaptive promo images with blurred fill

Replace cover-crop background with PromoImage component: sharp
contain image over a blurred cover copy. Whole image visible on
any aspect ratio, no flat letterbox bars. Applied to accueil,
adherent profile, backend promotions, member space preview +
upload dropzone.

Also retheme adherent logo frame (cream gradient + warm border)
instead of flat white.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 4.8 committed 2026-06-27 14:59:46 +02:00
1 parent c199d7a7db
commit 03eca6e9ae
5 files changed
+60 -19

No files matched your search

+4 -7
View File
@@ -5,6 +5,7 @@ import { db } from "@/db";
import { members, promotions } from "@/db/schema";
import { can } from "@/lib/rbac";
import { moderatePromo } from "../actions";
import { PromoImage } from "@/components/PromoImage";
export const dynamic = "force-dynamic";
@@ -75,18 +76,14 @@ export default async function PromotionsPage() {
style={{
position: "relative",
height: 150,
background: p.imageUrl
? `url(${p.imageUrl})`
: isPending
? STRIPE_COOL
: STRIPE_WARM,
backgroundSize: "cover",
backgroundPosition: "center",
background: isPending ? STRIPE_COOL : STRIPE_WARM,
overflow: "hidden",
display: "flex",
alignItems: "center",
justifyContent: "center",
}}
>
{p.imageUrl && <PromoImage src={p.imageUrl} alt={p.title ?? ""} />}
{p.category && (
<span style={{ position: "absolute", top: 10, left: 10, background: "#9a6638", color: "#fff", borderRadius: 999, padding: "4px 11px", fontSize: 11, fontWeight: 700 }}>
{p.category}