Merge version_3_1781366110371 into main #3

Merged
bender merged 1 commits from version_3_1781366110371 into main 2026-06-13 15:56:46 +00:00
10 changed files with 255 additions and 153 deletions

View File

@@ -1,5 +1,5 @@
import FooterMinimal from '@/components/sections/footer/FooterMinimal';
import NavbarInline from '@/components/ui/NavbarInline';
import NavbarFloatingLogo from '@/components/ui/NavbarFloatingLogo';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot";
import { Instagram, Linkedin, Twitter } from "lucide-react";
@@ -42,8 +42,9 @@ export default function Layout() {
<StyleProvider buttonVariant="magnetic" siteBackground="noiseGradient" heroBackground="radialGradient">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarInline
<NavbarFloatingLogo
logo="USMA"
logoImageSrc="https://images.unsplash.com/photo-1599305445671-ac291c95aaa9?w=200&h=200&fit=crop"
ctaButton={{
text: "Portal USMA",
href: "#",

View File

@@ -1,163 +1,36 @@
import AboutText from '@/components/sections/about/AboutText';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import PricingCenteredCards from '@/components/sections/pricing/PricingCenteredCards';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import FeaturesSection from './HomePage/sections/Features';
import StatsSection from './HomePage/sections/Stats';
import CarrerasSection from './HomePage/sections/Carreras';
import PricingSection from './HomePage/sections/Pricing';
import TestimonialsSection from './HomePage/sections/Testimonials';
import ContactoSection from './HomePage/sections/Contacto';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="Tu futuro comienza aquí."
description="Más de 60 años formando líderes con excelencia académica, valores y visión global."
primaryButton={{
text: "Conoce nuestras carreras", href: "#carreras"}}
secondaryButton={{
text: "Solicita admisión", href: "#contacto"}}
imageSrc="https://images.unsplash.com/photo-1523240795612-9a054b0db644?q=80&w=2070&auto=format&fit=crop"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Excelencia Académica y Formación Humana al Servicio de Panamá"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesRevealCards
tag="USMA Innova"
title="Pilares de la Experiencia USMA"
description="Formación integral para el profesional del siglo XXI."
items={[
{
title: "Excelencia", description: "Formación de clase mundial basada en valores católicos.", imageSrc: "http://img.b2bpic.net/free-photo/graduation-high-school-university-concept-space-text_185193-109726.jpg"},
{
title: "Innovación", description: "Laboratorios de vanguardia y tecnología aplicada.", imageSrc: "http://img.b2bpic.net/free-photo/view-futuristic-classroom-students_23-2150906164.jpg"},
{
title: "Visión Global", description: "Convenios con universidades internacionales líderes.", imageSrc: "http://img.b2bpic.net/free-photo/colleagues-studying-together-front-their-college_23-2149038477.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="stats" data-section="stats">
<SectionErrorBoundary name="stats">
<MetricsSimpleCards
tag="USMA en números"
title="Impacto y Prestigio"
description="Resultados que respaldan nuestra trayectoria."
metrics={[
{
value: "60+", description: "Años de trayectoria"},
{
value: "100+", description: "Convenios Internacionales"},
{
value: "95%", description: "Tasa de empleabilidad"},
]}
/>
</SectionErrorBoundary>
</div>
<StatsSection />
<div id="carreras" data-section="carreras">
<SectionErrorBoundary name="carreras">
<FeaturesRevealCardsBento
tag="Facultades"
title="Nuestras Carreras Destacadas"
description="Explora tu vocación en nuestras 7 facultades."
items={[
{
title: "Ingeniería", description: "Tecnología de punta.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/portal-beautiful-neon-lights-with-glowing-orange-lines-tunnel_181624-17253.jpg"},
{
title: "Negocios", description: "Liderazgo empresarial.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/innovative-futuristic-classroom-students_23-2150906278.jpg"},
{
title: "Derecho", description: "Ética y justicia.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/colorful-globe-blue-books-wooden-table_23-2148207651.jpg"},
{
title: "Diseño", description: "Creatividad digital.", href: "#", imageSrc: "http://img.b2bpic.net/free-vector/buttons-with-certificates-awards_1308-86058.jpg"},
{
title: "Salud", description: "Compromiso humano.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/futuristic-view-school-classroom-with-state-art-architecture_23-2150906310.jpg"},
{
title: "Arquitectura", description: "Diseño urbano.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-adults-with-social-media-addiction_23-2149324635.jpg"},
{
title: "Comunicación", description: "Impacto mediático.", href: "#", imageSrc: "http://img.b2bpic.net/free-vector/best-offer-golden-laurel-wreath-label-with-crown-stars-royal-luxury-award-best-busines_384344-1659.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<CarrerasSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingCenteredCards
tag="Admisiones"
title="Inicia tu Proceso"
description="Opciones financieras para tu crecimiento."
plans={[
{
tag: "Admisión", price: "Matrícula", description: "Inversión en tu futuro.", features: [
"Becas Disponibles", "Financiamiento IFARHU", "Descuentos por Mérito"],
primaryButton: {
text: "Ver Costos", href: "#"},
},
{
tag: "Becas", price: "Programa", description: "Talento apoyado.", features: [
"Beca Excelencia", "Beca Deportiva", "Ayuda Financiera"],
primaryButton: {
text: "Postularme", href: "#"},
},
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Comunidad"
title="Experiencia USMA"
description="Lo que dicen nuestros estudiantes."
testimonials={[
{
name: "Ana R.", role: "Estudiante", company: "Ingeniería", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/cropped-image-glad-female-smiles-gently-has-hiking-tour-with-rucksack_273609-25972.jpg"},
{
name: "Juan M.", role: "Egresado", company: "Negocios", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-woman-library_23-2149204737.jpg"},
{
name: "María D.", role: "Estudiante", company: "Derecho", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/cool-student-man-notebook_1149-1788.jpg"},
{
name: "Pedro L.", role: "Egresado", company: "Arquitectura", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-african-beautiful-woman-student-smiling-holding-books-university-education-concept_176420-12453.jpg"},
{
name: "Lucía P.", role: "Estudiante", company: "Diseño", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-man-travelling-by-city-bus_23-2148958101.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="contacto" data-section="contacto">
<SectionErrorBoundary name="contacto">
<ContactCta
tag="Contacto"
text="Estamos listos para orientarte. Agenda una visita al campus."
primaryButton={{
text: "Agenda tu visita", href: "#"}}
secondaryButton={{
text: "USMA Asiste (IA)", href: "#"}}
/>
</SectionErrorBoundary>
</div>
<ContactoSection />
</>
);
}

View File

@@ -0,0 +1,18 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutText from '@/components/sections/about/AboutText';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Excelencia Académica y Formación Humana al Servicio de Panamá"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,36 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "carreras" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function CarrerasSection(): React.JSX.Element {
return (
<div id="carreras" data-section="carreras">
<SectionErrorBoundary name="carreras">
<FeaturesRevealCardsBento
tag="Facultades"
title="Nuestras Carreras Destacadas"
description="Explora tu vocación en nuestras 7 facultades."
items={[
{
title: "Ingeniería", description: "Tecnología de punta.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/portal-beautiful-neon-lights-with-glowing-orange-lines-tunnel_181624-17253.jpg"},
{
title: "Negocios", description: "Liderazgo empresarial.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/innovative-futuristic-classroom-students_23-2150906278.jpg"},
{
title: "Derecho", description: "Ética y justicia.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/colorful-globe-blue-books-wooden-table_23-2148207651.jpg"},
{
title: "Diseño", description: "Creatividad digital.", href: "#", imageSrc: "http://img.b2bpic.net/free-vector/buttons-with-certificates-awards_1308-86058.jpg"},
{
title: "Salud", description: "Compromiso humano.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/futuristic-view-school-classroom-with-state-art-architecture_23-2150906310.jpg"},
{
title: "Arquitectura", description: "Diseño urbano.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-adults-with-social-media-addiction_23-2149324635.jpg"},
{
title: "Comunicación", description: "Impacto mediático.", href: "#", imageSrc: "http://img.b2bpic.net/free-vector/best-offer-golden-laurel-wreath-label-with-crown-stars-royal-luxury-award-best-busines_384344-1659.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,23 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contacto" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactoSection(): React.JSX.Element {
return (
<div id="contacto" data-section="contacto">
<SectionErrorBoundary name="contacto">
<ContactCta
tag="Contacto"
text="Estamos listos para orientarte. Agenda una visita al campus."
primaryButton={{
text: "Agenda tu visita", href: "#"}}
secondaryButton={{
text: "USMA Asiste (IA)", href: "#"}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "features" section.
import React from 'react';
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesRevealCards
tag="USMA Innova"
title="Pilares de la Experiencia USMA"
description="Formación integral para el profesional del siglo XXI."
items={[
{
title: "Excelencia", description: "Formación de clase mundial basada en valores católicos.", imageSrc: "http://img.b2bpic.net/free-photo/graduation-high-school-university-concept-space-text_185193-109726.jpg"},
{
title: "Innovación", description: "Laboratorios de vanguardia y tecnología aplicada.", imageSrc: "http://img.b2bpic.net/free-photo/view-futuristic-classroom-students_23-2150906164.jpg"},
{
title: "Visión Global", description: "Convenios con universidades internacionales líderes.", imageSrc: "http://img.b2bpic.net/free-photo/colleagues-studying-together-front-their-college_23-2149038477.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,24 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="Tu futuro comienza aquí."
description="Más de 60 años formando líderes con excelencia académica, valores y visión global."
primaryButton={{
text: "Conoce nuestras carreras", href: "#carreras"}}
secondaryButton={{
text: "Solicita admisión", href: "#contacto"}}
imageSrc="https://images.unsplash.com/photo-1523240795612-9a054b0db644?q=80&w=2070&auto=format&fit=crop"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingCenteredCards from '@/components/sections/pricing/PricingCenteredCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingCenteredCards
tag="Admisiones"
title="Inicia tu Proceso"
description="Opciones financieras para tu crecimiento."
plans={[
{
tag: "Admisión", price: "Matrícula", description: "Inversión en tu futuro.", features: [
"Becas Disponibles", "Financiamiento IFARHU", "Descuentos por Mérito"],
primaryButton: {
text: "Ver Costos", href: "#"},
},
{
tag: "Becas", price: "Programa", description: "Talento apoyado.", features: [
"Beca Excelencia", "Beca Deportiva", "Ayuda Financiera"],
primaryButton: {
text: "Postularme", href: "#"},
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "stats" section.
import React from 'react';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function StatsSection(): React.JSX.Element {
return (
<div id="stats" data-section="stats">
<SectionErrorBoundary name="stats">
<MetricsSimpleCards
tag="USMA en números"
title="Impacto y Prestigio"
description="Resultados que respaldan nuestra trayectoria."
metrics={[
{
value: "60+", description: "Años de trayectoria"},
{
value: "100+", description: "Convenios Internacionales"},
{
value: "95%", description: "Tasa de empleabilidad"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,37 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Comunidad"
title="Experiencia USMA"
description="Lo que dicen nuestros estudiantes."
testimonials={[
{
name: "Ana R.", role: "Estudiante", company: "Ingeniería", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/cropped-image-glad-female-smiles-gently-has-hiking-tour-with-rucksack_273609-25972.jpg"},
{
name: "Juan M.", role: "Egresado", company: "Negocios", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-woman-library_23-2149204737.jpg"},
{
name: "María D.", role: "Estudiante", company: "Derecho", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/cool-student-man-notebook_1149-1788.jpg"},
{
name: "Pedro L.", role: "Egresado", company: "Arquitectura", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-african-beautiful-woman-student-smiling-holding-books-university-education-concept_176420-12453.jpg"},
{
name: "Lucía P.", role: "Estudiante", company: "Diseño", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-man-travelling-by-city-bus_23-2148958101.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}