diff --git a/src/app/adherents/[id]/page.tsx b/src/app/adherents/[id]/page.tsx index cf21bcc..96702f3 100644 --- a/src/app/adherents/[id]/page.tsx +++ b/src/app/adherents/[id]/page.tsx @@ -2,6 +2,8 @@ import Link from "next/link"; import { notFound } from "next/navigation"; import type { Metadata } from "next"; import { Sparkle } from "@/components/Sparkle"; +import { SiteHeader } from "@/components/SiteHeader"; +import { SiteFooter } from "@/components/SiteFooter"; import { getMemberLivePromotions, getPublicMember } from "@/lib/queries"; export const dynamic = "force-dynamic"; @@ -81,20 +83,7 @@ export default async function FicheAdherentPage({ return (
- {/* header */} -
- - {/* eslint-disable-next-line @next/next/no-img-element */} - Plein R - Plein R - - -
+
{/* breadcrumb */} @@ -305,19 +294,7 @@ export default async function FicheAdherentPage({
- {/* footer */} - + ); } diff --git a/src/app/annuaire/page.tsx b/src/app/annuaire/page.tsx index 1b85119..da66f5e 100644 --- a/src/app/annuaire/page.tsx +++ b/src/app/annuaire/page.tsx @@ -1,6 +1,8 @@ import Link from "next/link"; import type { Metadata } from "next"; import { Sparkle } from "@/components/Sparkle"; +import { SiteHeader } from "@/components/SiteHeader"; +import { SiteFooter } from "@/components/SiteFooter"; import { getActiveMembersWithCategory, getAllCategories, @@ -43,36 +45,7 @@ export default async function AnnuairePage({ return (
- {/* header */} -
- - {/* eslint-disable-next-line @next/next/no-img-element */} - Plein R - - Plein R - - - -
+
{/* title block */} @@ -144,23 +117,7 @@ export default async function AnnuairePage({
- {/* footer */} -
-
-
- {/* eslint-disable-next-line @next/next/no-img-element */} - Plein R - - Plein R - -
-
- contact@plein-r.fr · Bassin de Pompey -
- Réseau · Rencontre · Réussite -
-
-
+
); } diff --git a/src/app/page.tsx b/src/app/page.tsx index 67a342e..6cdb075 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,10 +1,8 @@ import Link from "next/link"; import { Sparkle } from "@/components/Sparkle"; -import { - getCategoriesWithCounts, - getHighlightedMembers, - getLivePromotions, -} from "@/lib/queries"; +import { SiteHeader } from "@/components/SiteHeader"; +import { SiteFooter } from "@/components/SiteFooter"; +import { getHighlightedMembers, getLivePromotions } from "@/lib/queries"; export const dynamic = "force-dynamic"; @@ -19,8 +17,7 @@ function badgeColor(badge: string | null) { } export default async function AccueilPage() { - const [cats, promos, highlighted] = await Promise.all([ - getCategoriesWithCounts(6), + const [promos, highlighted] = await Promise.all([ getLivePromotions(6), getHighlightedMembers(3), ]); @@ -34,53 +31,7 @@ export default async function AccueilPage() { color: "#33291D", }} > - {/* header */} -
- - {/* eslint-disable-next-line @next/next/no-img-element */} - Plein R - - Plein R - - - -
+
{/* hero */} @@ -198,51 +149,6 @@ export default async function AccueilPage() {
- {/* category tiles */} -
-

- Parcourir par métier -

-
- {cats.map((c) => ( -
- - - -
{c.label}
-
- {c.memberCount} adhérent{c.memberCount > 1 ? "s" : ""} -
-
- ))} -
-
- {/* promotions */}
- {/* footer */} -
-
-
- {/* eslint-disable-next-line @next/next/no-img-element */} - Plein R - - Plein R - -
-
- contact@plein-r.fr · Bassin de Pompey -
- Réseau · Rencontre · Réussite -
-
-
+ ); } diff --git a/src/components/SiteFooter.tsx b/src/components/SiteFooter.tsx new file mode 100644 index 0000000..03106fe --- /dev/null +++ b/src/components/SiteFooter.tsx @@ -0,0 +1,23 @@ +export function SiteFooter() { + return ( +
+
+
+ {/* eslint-disable-next-line @next/next/no-img-element */} + Plein R + + Plein R + +
+
+ contact@plein-r.fr · Bassin de Pompey +
+ Réseau · Rencontre · Réussite +
+
+
+ ); +} diff --git a/src/components/SiteHeader.tsx b/src/components/SiteHeader.tsx new file mode 100644 index 0000000..f38dd24 --- /dev/null +++ b/src/components/SiteHeader.tsx @@ -0,0 +1,64 @@ +import Link from "next/link"; + +const NAV = [ + { key: "accueil", label: "Accueil", href: "/" }, + { key: "annuaire", label: "Annuaire", href: "/annuaire" }, + { key: "promotions", label: "Promotions", href: "/#promotions" }, + { key: "association", label: "L'association", href: "#" }, +]; + +export function SiteHeader({ active }: { active?: string }) { + return ( +
+ + {/* eslint-disable-next-line @next/next/no-img-element */} + Plein R + + Plein R + + + +
+ ); +}