mirror of
https://github.com/Ichitux/lambada-fiesta-live.git
synced 2026-05-15 16:32:20 +02:00
64 lines
2.2 KiB
TypeScript
64 lines
2.2 KiB
TypeScript
import { motion } from "framer-motion";
|
|
import { ABOUT_EVENT } from "@/data/event-data";
|
|
import aboutImg from "@/assets/about-event.jpg";
|
|
import { Music, Users, Sparkles, PartyPopper } from "lucide-react";
|
|
|
|
const iconMap = [Music, Users, Sparkles, PartyPopper];
|
|
|
|
const AboutSection = () => (
|
|
<section id="about" className="section-padding bg-background">
|
|
<div className="container mx-auto">
|
|
<div className="grid md:grid-cols-2 gap-12 items-center">
|
|
{/* Imagen */}
|
|
<motion.div
|
|
initial={{ opacity: 0, x: -40 }}
|
|
whileInView={{ opacity: 1, x: 0 }}
|
|
viewport={{ once: true }}
|
|
transition={{ duration: 0.6 }}
|
|
>
|
|
<img
|
|
src={aboutImg}
|
|
alt="Evento de Lambada"
|
|
className="rounded-2xl shadow-elevated w-full object-cover aspect-square"
|
|
/>
|
|
</motion.div>
|
|
|
|
{/* Texto */}
|
|
<motion.div
|
|
initial={{ opacity: 0, x: 40 }}
|
|
whileInView={{ opacity: 1, x: 0 }}
|
|
viewport={{ once: true }}
|
|
transition={{ duration: 0.6 }}
|
|
>
|
|
<h2 className="font-display text-4xl md:text-5xl font-bold mb-6 text-gradient">
|
|
{ABOUT_EVENT.title}
|
|
</h2>
|
|
<p className="text-muted-foreground mb-6 leading-relaxed whitespace-pre-line">
|
|
{ABOUT_EVENT.description}
|
|
</p>
|
|
<p className="text-foreground/90 mb-8 leading-relaxed italic border-l-4 border-primary pl-4">
|
|
{ABOUT_EVENT.lambadaInfo}
|
|
</p>
|
|
|
|
{/* Highlights */}
|
|
<div className="grid grid-cols-2 gap-4">
|
|
{ABOUT_EVENT.highlights.map((item, i) => {
|
|
const Icon = iconMap[i % iconMap.length];
|
|
return (
|
|
<div key={i} className="flex items-center gap-3 bg-card rounded-lg p-3">
|
|
<div className="bg-gradient-tropical rounded-full p-2 shrink-0">
|
|
<Icon className="w-4 h-4 text-primary-foreground" />
|
|
</div>
|
|
<span className="text-sm font-medium text-foreground">{item}</span>
|
|
</div>
|
|
);
|
|
})}
|
|
</div>
|
|
</motion.div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
);
|
|
|
|
export default AboutSection;
|