From 353d38bebf88412fbe9a5ffaaa04beec279f10c8 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 6 Sep 2026 14:50:41 +0000 Subject: [PATCH] Promotions : la page publique suit le gabarit des pages internes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La première version reprenait le style d'une *section* de l'accueil — un grand cartouche blanc arrondi — qui détonnait à côté de l'annuaire et de « L'association ». Elle suit maintenant le même gabarit que l'annuaire : - `SiteHeader … logo` : toutes les pages internes affichent le logo, seule l'accueil s'en passe. - Bloc de titre sur le fond beige (pastille « N offres en cours », `

` au même `clamp`, chapeau, étincelles) au lieu du cartouche. - Grille de cartes à même la page, `gap` aligné sur les autres listes. - Bandeau d'adhésion bleu en pied de page, identique à celui de l'annuaire. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01QXNXRC4j5VLfKvpyyisrnb --- src/app/promotions/page.tsx | 140 +++++++++++++++++++----------------- 1 file changed, 74 insertions(+), 66 deletions(-) diff --git a/src/app/promotions/page.tsx b/src/app/promotions/page.tsx index 37bd08a..33b07f1 100644 --- a/src/app/promotions/page.tsx +++ b/src/app/promotions/page.tsx @@ -3,6 +3,7 @@ import Link from "next/link"; import { Sparkle } from "@/components/Sparkle"; import { SiteHeader } from "@/components/SiteHeader"; import { SiteFooter } from "@/components/SiteFooter"; +import { MembershipModalButton } from "@/components/MembershipModalButton"; import { PromoCard } from "@/components/PromoCard"; import { JsonLd } from "@/components/JsonLd"; import { getLivePromotions } from "@/lib/queries"; @@ -31,7 +32,7 @@ export default async function PromotionsPage() { return (
- + -
-
- - - +
+ {/* title block */} +
+ +
- Bons plans + + {promos.length} offre{promos.length > 1 ? "s" : ""} en cours
-

- Les promotions de nos adhérents +

+ Les bons plans de nos adhérents

-

+

Toutes les offres en cours chez les commerçants, artisans et entreprises du réseau. Chaque promotion renvoie vers la fiche de son commerce.

- - {promos.length === 0 ? ( -
- Aucune promotion en cours pour le moment. -
- - Parcourir l'annuaire des adhérents → - -
- ) : ( - <> -
- {promos.length} offre{promos.length > 1 ? "s" : ""} en cours -
-
- {promos.map((p) => ( - - ))} -
- - )}
-

- Vous êtes commerçant du Bassin de Pompey ?{" "} - - Rejoignez Plein R - {" "} - pour publier vos offres ici. -

+ {promos.length === 0 ? ( +
+ Aucune promotion en cours pour le moment. +
+ + Parcourir l'annuaire des adhérents → + +
+ ) : ( +
+ {promos.map((p) => ( + + ))} +
+ )} + + {/* join CTA */} +
+ +
+
+ Vous êtes commerçant du Bassin de Pompey ? +
+

+ Publiez vos offres sur Plein R +

+
+ +