38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
'use client'
|
|
|
|
import SankeyDiagram from '@/components/visualizations/SankeyDiagram'
|
|
import SectionHeader from '@/components/ui/SectionHeader'
|
|
import ScrollReveal from '@/components/ui/ScrollReveal'
|
|
import { naturalFlows } from '@/lib/sankey-data'
|
|
|
|
export default function NatureFlowsSection() {
|
|
return (
|
|
<section className="min-h-screen flex flex-col items-center justify-center relative px-4 py-20">
|
|
<div className="absolute inset-0 bg-gradient-to-b from-void via-nothing to-void opacity-80" />
|
|
|
|
<div className="relative z-10 max-w-5xl w-full text-center">
|
|
<SectionHeader wobble={2}>Natural Flows</SectionHeader>
|
|
|
|
<ScrollReveal delay={0.2}>
|
|
<div className="my-12">
|
|
<SankeyDiagram
|
|
data={naturalFlows}
|
|
showLabels={false}
|
|
speed="slow"
|
|
showParticles={true}
|
|
showDistortion={true}
|
|
maxParticles={8}
|
|
/>
|
|
</div>
|
|
</ScrollReveal>
|
|
|
|
<ScrollReveal delay={0.4}>
|
|
<p className="font-caveat text-xl md:text-2xl text-zen/50 max-w-2xl mx-auto">
|
|
In living systems, value doesn't accumulate. It <span className="text-flow-green/70">circulates</span>.
|
|
</p>
|
|
</ScrollReveal>
|
|
</div>
|
|
</section>
|
|
)
|
|
}
|