GRV-Summit-Site/components/layout/Section.tsx
“kirukib” efa48f6f6b
Some checks are pending
Deploy to Cloudflare Workers (OpenNext) / deploy (push) Waiting to run
Refine topography to hero and footer, improve readability and hero motion.
Limit mainwhite pattern to the landing hero and a bottom footer band; remove it from sections and page headers. Add vertical water-flow animation and stronger hero particles with hover boost. Fix green text on white sections and card descriptions in green bands, including the two-days program cards.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-21 14:29:39 +03:00

60 lines
1.6 KiB
TypeScript

import type { ReactNode } from "react";
import { TopoCurvyExtend } from "@/components/brand/TopoCurvyExtend";
import { ScrollReveal } from "@/components/motion/ScrollReveal";
import { TopoSectionProvider } from "@/components/layout/TopoSectionContext";
import { toneFromSectionVariant, type TopoPatternId } from "@/content/topo-patterns";
import { cn } from "@/lib/utils";
type Props = {
id?: string;
className?: string;
children: ReactNode;
variant?: "default" | "muted" | "inverse";
/** @deprecated Patterns are hero + footer only; kept for API compatibility */
riftPattern?: TopoPatternId;
/** @deprecated */
riftFlow?: boolean;
};
export function Section({
id,
className,
children,
variant = "default",
riftPattern,
riftFlow,
}: Props) {
void riftPattern;
void riftFlow;
const tone = toneFromSectionVariant(variant);
const isGreen = tone === "green";
return (
<section
id={id}
className={cn(
"group/topo-section relative isolate py-16 md:py-24",
isGreen && "section-green bg-[#1a5c38]",
!isGreen && "section-white bg-white text-[#0d3d26]",
!isGreen && "overflow-x-hidden overflow-y-visible",
isGreen && "overflow-hidden",
className
)}
data-section-tone={tone}
>
{!isGreen && <TopoCurvyExtend />}
<TopoSectionProvider tone={tone}>
<ScrollReveal
variant="section"
className={cn(
"topo-content-layer relative z-10 mx-auto max-w-6xl px-4 md:px-6",
!isGreen && "topo-content-readable"
)}
>
{children}
</ScrollReveal>
</TopoSectionProvider>
</section>
);
}