import type { ReactNode } from "react"; import { TopoCurvyExtend } from "@/components/brand/TopoCurvyExtend"; import { TopographicPattern } from "@/components/brand/TopographicPattern"; import { ScrollReveal } from "@/components/motion/ScrollReveal"; import { TopoSectionProvider } from "@/components/layout/TopoSectionContext"; import { SITE_TOPO_PATTERN, toneFromSectionVariant, type TopoPatternId, } from "@/content/topo-patterns"; import { cn } from "@/lib/utils"; type Props = { id?: string; className?: string; children: ReactNode; variant?: "default" | "muted" | "inverse"; riftPattern?: TopoPatternId; riftFlow?: boolean; }; export function Section({ id, className, children, variant = "default", riftPattern = SITE_TOPO_PATTERN, riftFlow, }: Props) { let pattern: TopoPatternId = riftPattern; if (riftFlow && pattern === "none") pattern = SITE_TOPO_PATTERN; const tone = toneFromSectionVariant(variant); const isGreen = tone === "green"; const showPattern = !isGreen && pattern !== "none"; return (
{showPattern && ( )} {!isGreen && } {children}
); }