diff --git a/scale_fix.mjs b/scale_fix.mjs new file mode 100644 index 0000000..0942d83 --- /dev/null +++ b/scale_fix.mjs @@ -0,0 +1,40 @@ +import fs from 'fs'; +import path from 'path'; + +const dir = 'src/components'; +const files = fs.readdirSync(dir).filter(f => f.endsWith('.tsx')); + +for (const file of files) { + const filePath = path.join(dir, file); + let content = fs.readFileSync(filePath, 'utf8'); + let original = content; + + // Hero Section + if (file === 'HeroSection.tsx') { + content = content.replaceAll('text-5xl md:text-7xl lg:text-8xl', 'text-4xl md:text-6xl lg:text-8xl break-words'); + content = content.replaceAll('text-2xl md:text-4xl font-hero', 'text-xl md:text-3xl lg:text-4xl font-hero'); + } else { + // Normal Sections Big Titles + // Replace text-6xl md:text-7xl font-bold pt-4 pb-10 leading-[1.8] text-gradient + content = content.replace(/text-6xl md:text-7xl/g, 'text-4xl md:text-5xl lg:text-7xl break-words'); + content = content.replace(/text-5xl md:text-6xl/g, 'text-3xl md:text-4xl lg:text-6xl break-words'); + + // Smaller sizes + content = content.replace(/text-5xl pt-3 pb-6/g, 'text-3xl md:text-4xl lg:text-5xl pt-3 pb-6 break-words'); + content = content.replace(/text-4xl pt-3 pb-5/g, 'text-2xl md:text-3xl lg:text-4xl pt-3 pb-5'); + content = content.replace(/text-3xl pt-3 pb-5/g, 'text-xl md:text-2xl lg:text-3xl pt-3 pb-5'); + + // Footer / Nav + content = content.replace(/text-4xl py-4/g, 'text-2xl md:text-3xl lg:text-4xl py-4'); + content = content.replace(/text-4xl py-2/g, 'text-2xl md:text-3xl lg:text-4xl py-2'); + content = content.replace(/text-2xl py-2/g, 'text-lg md:text-xl lg:text-2xl py-2'); + } + + // General overflow catch-all: Ensure .container has overflow-hidden just in case? + // No, adding break-words is better. + + if (original !== content) { + fs.writeFileSync(filePath, content); + console.log(`Fixed responsive sizes in ${file}`); + } +} diff --git a/src/components/AboutSection.tsx b/src/components/AboutSection.tsx index 31d025f..e413c79 100644 --- a/src/components/AboutSection.tsx +++ b/src/components/AboutSection.tsx @@ -30,7 +30,7 @@ const AboutSection = () => ( viewport={{ once: false, amount: 0.15 }} transition={{ duration: 0.6 }} > -

+

{ABOUT_EVENT.title}

diff --git a/src/components/BookingSection.tsx b/src/components/BookingSection.tsx index 4f2e74a..dbcf333 100644 --- a/src/components/BookingSection.tsx +++ b/src/components/BookingSection.tsx @@ -161,7 +161,7 @@ const BookingSection = () => { className="max-w-lg mx-auto text-center bg-card rounded-2xl p-10 shadow-elevated" > -

+

¡Reserva recibida!

@@ -186,7 +186,7 @@ const BookingSection = () => { viewport={{ once: false, amount: 0.15 }} className="text-center mb-10" > -

+

Reserva tu pase

diff --git a/src/components/FooterSection.tsx b/src/components/FooterSection.tsx index 405b34c..adc218b 100644 --- a/src/components/FooterSection.tsx +++ b/src/components/FooterSection.tsx @@ -17,7 +17,7 @@ const FooterSection = () => (

{/* Brand */}
-

ZoukLambadaBCN

+

ZoukLambadaBCN

Hacecalor Activat @@ -26,7 +26,7 @@ const FooterSection = () => ( {/* Contacto */}

-

Contacto

+

Contacto

( {/* Redes */}
-

Síguenos

+

Síguenos

{ABOUT_ORG.socials.instagram && ( ( viewport={{ once: false, amount: 0.15 }} className="text-center mb-12" > -

+

Galería

diff --git a/src/components/HeroSection.tsx b/src/components/HeroSection.tsx index d360b76..d5f73b4 100644 --- a/src/components/HeroSection.tsx +++ b/src/components/HeroSection.tsx @@ -60,7 +60,7 @@ const HeroSection = () => { initial={{ opacity: 0, y: 30 }} animate={{ opacity: 1, y: 0 }} transition={{ delay: 0.4 }} - className="font-hero text-5xl md:text-7xl lg:text-8xl font-black text-primary-foreground mb-4 leading-tight" + className="font-hero text-4xl md:text-6xl lg:text-8xl break-words font-black text-primary-foreground mb-4 leading-tight" > {EVENT_INFO.name} @@ -84,7 +84,7 @@ const HeroSection = () => { {countdownItems.map((item) => (
- + {String(item.value).padStart(2, "0")}
diff --git a/src/components/HotelSection.tsx b/src/components/HotelSection.tsx index b10e5f1..05d546b 100644 --- a/src/components/HotelSection.tsx +++ b/src/components/HotelSection.tsx @@ -16,7 +16,7 @@ const HotelSection = () => ( viewport={{ once: false, amount: 0.15 }} className="text-center mb-12" > -

+

Alojamiento

@@ -44,7 +44,7 @@ const HotelSection = () => (

-

+

{room.name}

{room.price}

diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index b73f3f0..a89fbd3 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -83,7 +83,7 @@ const Navbar = () => { exit={{ opacity: 0, y: 30 }} transition={{ delay: 0.1 * i }} onClick={() => setMenuOpen(false)} - className="text-5xl pt-3 pb-6 leading-[1.6] font-display font-medium text-foreground hover:text-primary transition-colors" + className="text-3xl md:text-4xl lg:text-5xl pt-3 pb-6 break-words leading-[1.6] font-display font-medium text-foreground hover:text-primary transition-colors" > {link.label} diff --git a/src/components/OrgSection.tsx b/src/components/OrgSection.tsx index e21c64c..4a624e6 100644 --- a/src/components/OrgSection.tsx +++ b/src/components/OrgSection.tsx @@ -3,11 +3,11 @@ import { ABOUT_ORG } from "@/data/event-data"; import communityImg from "@/assets/community.jpg"; import { Instagram, Facebook, Youtube } from "lucide-react"; -const maskStyle = "radial-gradient(491.93px at 50% 660px,#000 99%,#0000 101%) calc(50% - 440px) 0/880px 100%, radial-gradient(491.93px at 50% -440px,#0000 99%,#000 101%) 50% 220px/880px 100% repeat-x"; +const maskStyle = "radial-gradient(196.7px at 50% 264px, rgb(0, 0, 0) 99%, rgba(0, 0, 0, 0) 101%) calc(50% - 176px) 0px / 352px 100%, radial-gradient(196.7px at 50% -176px, rgba(0, 0, 0, 0) 99%, rgb(0, 0, 0) 101%) 50% 78px / 352px 100% repeat-x"; const OrgSection = () => (
@@ -19,7 +19,7 @@ const OrgSection = () => ( viewport={{ once: false, amount: 0.15 }} transition={{ duration: 0.6 }} > -

+

{ABOUT_ORG.title}

diff --git a/src/components/PracticalSection.tsx b/src/components/PracticalSection.tsx index 6c94883..450d873 100644 --- a/src/components/PracticalSection.tsx +++ b/src/components/PracticalSection.tsx @@ -15,7 +15,7 @@ const PracticalSection = () => ( viewport={{ once: false, amount: 0.15 }} className="text-center mb-12" > -

+

Información Práctica

@@ -57,7 +57,7 @@ const PracticalSection = () => ( > {/* Aeropuertos */}
-

+

Aeropuertos Cercanos

@@ -72,7 +72,7 @@ const PracticalSection = () => ( {/* Cómo llegar */}
-

+

Cómo Llegar

diff --git a/src/components/ScheduleSection.tsx b/src/components/ScheduleSection.tsx index 464adda..dd2ceeb 100644 --- a/src/components/ScheduleSection.tsx +++ b/src/components/ScheduleSection.tsx @@ -29,7 +29,7 @@ const ScheduleSection = () => ( viewport={{ once: false, amount: 0.15 }} className="text-center mb-12" > -

+

Programa

@@ -46,7 +46,7 @@ const ScheduleSection = () => ( viewport={{ once: false, amount: 0.15 }} transition={{ delay: di * 0.15 }} > -

+

{day.day}

diff --git a/src/components/StaffSection.tsx b/src/components/StaffSection.tsx index ce138d7..5051c0f 100644 --- a/src/components/StaffSection.tsx +++ b/src/components/StaffSection.tsx @@ -40,7 +40,7 @@ const StaffSection = () => { className="flex items-end justify-between gap-4 mb-6 md:mb-8" >
-

+

Staff del Evento

@@ -70,12 +70,12 @@ const StaffSection = () => { {/* Carousel scroller */}

{/* gradient edges */} -
-
+
+
{STAFF.map((member, i) => ( { className="snap-start shrink-0 w-4/5 sm:w-1/2 lg:w-1/3 xl:w-1/4 bg-card rounded-2xl overflow-hidden shadow-card hover:shadow-elevated transition-shadow group" > {/* Foto */} -
+
{member.image ? ( {member.name} ) : ( @@ -110,7 +110,7 @@ const StaffSection = () => { {member.role} -

+

{member.name}