GRV-Summit-Site/components/home/HeroTopographyBackground.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

66 lines
1.9 KiB
TypeScript

"use client";
import type { CSSProperties } from "react";
import { MAIN_WHITE_PATTERN_SRC } from "@/content/topo-patterns";
import { cn } from "@/lib/utils";
type Props = {
introPhase: "intro" | "settled" | "static";
className?: string;
hoverActive?: boolean;
hoverX?: number;
hoverY?: number;
};
export function HeroTopographyBackground({
introPhase,
className,
hoverActive = false,
hoverX = 50,
hoverY = 50,
}: Props) {
return (
<div
className={cn(
"rift-hero-topo group/topo-section absolute inset-0 isolate overflow-hidden bg-white",
introPhase === "intro" && "rift-hero-intro",
introPhase === "settled" && "rift-hero-settled",
introPhase === "static" && "rift-hero-static",
hoverActive && "rift-hero-topo--hover",
className
)}
style={
{
"--topo-hover-x": `${hoverX}%`,
"--topo-hover-y": `${hoverY}%`,
} as CSSProperties
}
aria-hidden
>
<div className="topo-hero-pattern-site absolute inset-0">
{/* eslint-disable-next-line @next/next/no-img-element */}
<img
src={MAIN_WHITE_PATTERN_SRC}
alt=""
className="topo-pattern-asset topo-hero-pattern-img block h-full w-full object-cover"
draggable={false}
/>
</div>
<div className="topo-hero-pattern-water absolute inset-0" aria-hidden>
{/* eslint-disable-next-line @next/next/no-img-element */}
<img
src={MAIN_WHITE_PATTERN_SRC}
alt=""
className="topo-hero-water-flow-img block h-full w-full object-cover"
draggable={false}
/>
</div>
<div className="topo-hero-channel-glow absolute inset-0" aria-hidden />
<div className="topo-hero-water-shimmer absolute inset-0" aria-hidden />
<div className="topo-hero-water-spotlight absolute inset-0" aria-hidden />
</div>
);
}