import ResourceExchangeVisualization from '@/components/landing/ResourceExchangeVisualization.tsx'; import Badge from '@/components/ui/Badge.tsx'; import Button from '@/components/ui/Button.tsx'; import { Container, Grid } from '@/components/ui/layout'; import { useTranslation } from '@/hooks/useI18n.tsx'; import { motion } from 'framer-motion'; import React from 'react'; interface HeroProps { onNavigateToMap: () => void; onAddOrganizationClick: () => void; addOrgButtonRef: React.Ref; } const Hero = ({ onNavigateToMap, onAddOrganizationClick, addOrgButtonRef }: HeroProps) => { const { t } = useTranslation(); return (
{/* Animated background pattern */} {/* Abstract backlight effect */}
{/* Green backlight orb - behind "Connect Your Business" (left/top) */} {/* Blue backlight orb - behind "Grow Together" (right/bottom) */}
{/* Gradient overlay - positioned after backlight */}
{/* Floating particles effect */}
{[...Array(20)].map((_, i) => ( ))}
{/* Animated badge */}
{t('hero.kicker')}
{/* Main heading with creative 3D effects and color variations */} {(() => { const title = t('hero.title'); // Split title by period to separate "Connect Your Business" and "Grow Together" const parts = title.split('.').filter((p) => p.trim()); return parts.map((part, partIndex) => { const words = part.trim().split(' '); const isFirstPart = partIndex === 0; return ( {words.map((word, wordIndex) => ( {/* 3D shadow layers with color - positioned behind */} {/* Main text - solid and visible with colored shadow */} {word} {/* Animated glow effect */} ))} ); }); })()} {t('hero.subtitle')} {/* Action buttons */}
{/* Modern sector visualization */}
); }; export default React.memo(Hero);