Compare commits
9 Commits
version_2_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e2b3a88a7e | |||
|
|
d2237152cc | ||
|
|
7305ca2d9a | ||
| 71b0f4b6bf | |||
| fd0f075890 | |||
| 70abbe2edc | |||
| ce9a6cb10b | |||
| a9c1a2cfd3 | |||
| a9db29ec45 |
@@ -1,5 +1,5 @@
|
||||
import FooterBasic from '@/components/sections/footer/FooterBasic';
|
||||
import NavbarCentered from '@/components/ui/NavbarCentered';
|
||||
import NavbarFloatingLogo from '@/components/ui/NavbarFloatingLogo';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot";
|
||||
import { Outlet } from 'react-router-dom';
|
||||
@@ -41,8 +41,9 @@ export default function Layout() {
|
||||
<StyleProvider buttonVariant="arrow" siteBackground="gridDots" heroBackground="lightRaysCenter">
|
||||
<SiteBackgroundSlot />
|
||||
<SectionErrorBoundary name="navbar">
|
||||
<NavbarCentered
|
||||
<NavbarFloatingLogo
|
||||
logo="Lumio"
|
||||
logoImageSrc="https://storage.googleapis.com/webild/users/user_3FKULPo3nJpi6Z8XrIaYR86bCR6/uploaded-1781824255750-ixcd2q4j.png"
|
||||
ctaButton={{
|
||||
text: "Agenda tu diagnóstico",
|
||||
href: "#contacto",
|
||||
@@ -53,6 +54,13 @@ export default function Layout() {
|
||||
<Outlet />
|
||||
</main>
|
||||
<SectionErrorBoundary name="footer">
|
||||
<div className="w-full bg-background pb-4 flex justify-center">
|
||||
<img
|
||||
src="https://storage.googleapis.com/webild/users/user_3FKULPo3nJpi6Z8XrIaYR86bCR6/uploaded-1781824255750-ixcd2q4j.png"
|
||||
alt="Lumio Logo"
|
||||
className="h-12 object-contain"
|
||||
/>
|
||||
</div>
|
||||
<FooterBasic
|
||||
columns={[
|
||||
{
|
||||
@@ -105,4 +113,4 @@ export default function Layout() {
|
||||
</SectionErrorBoundary>
|
||||
</StyleProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,19 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap');
|
||||
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
|
||||
@import "tailwindcss";
|
||||
@import "./styles/masks.css";
|
||||
@import "./styles/animations.css";
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #050012;
|
||||
--card: #040121;
|
||||
--foreground: #f0e6ff;
|
||||
--primary-cta: #c89bff;
|
||||
--primary-cta-text: #050012;
|
||||
--secondary-cta: #1d123b;
|
||||
--secondary-cta-text: #f0e6ff;
|
||||
--accent: #684f7b;
|
||||
--background-accent: #65417c;
|
||||
--background: #FAFAFB;
|
||||
--card: #FFFFFF;
|
||||
--foreground: #15171C;
|
||||
--primary-cta: #FF6FB1;
|
||||
--primary-cta-text: #FFFFFF;
|
||||
--secondary-cta: #FFFFFF;
|
||||
--secondary-cta-text: #15171C;
|
||||
--accent: #6A6F7B;
|
||||
--background-accent: #E2E8F0;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1.5rem;
|
||||
@@ -88,8 +88,8 @@
|
||||
--color-background-accent: var(--background-accent);
|
||||
|
||||
/* Fonts */
|
||||
--font-sans: 'Figtree', sans-serif;
|
||||
--font-tight: "Inter Tight", sans-serif;
|
||||
--font-sans: 'Hanken Grotesk', sans-serif;
|
||||
--font-tight: "Space Grotesk", sans-serif;
|
||||
--font-mono: monospace;
|
||||
|
||||
/* Border Radius */
|
||||
|
||||
@@ -1,138 +1,33 @@
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesBento from '@/components/sections/features/FeaturesBento';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
|
||||
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
|
||||
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 ProblemaSection from './HomePage/sections/Problema';
|
||||
import ServiciosSection from './HomePage/sections/Servicios';
|
||||
import SistemaSection from './HomePage/sections/Sistema';
|
||||
import ProcesoSection from './HomePage/sections/Proceso';
|
||||
import PorQueSection from './HomePage/sections/PorQue';
|
||||
import ContactoSection from './HomePage/sections/Contacto';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardTiltedCarousel
|
||||
tag="AGENCIA DE MARKETING DIGITAL"
|
||||
title="Más pacientes. \nMenos preocupaciones."
|
||||
description="Gestionamos redes, anuncios y embudos para atraer pacientes calificados en Cota, Chía y Bogotá."
|
||||
primaryButton={{
|
||||
text: "Agenda tu diagnóstico gratis", href: "#contacto"}}
|
||||
secondaryButton={{
|
||||
text: "Cómo lo hacemos →", href: "#sistema"}}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/high-tech-view-futuristic-earth_23-2151100368.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/armchair-couch_1203-772.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/futuristic-ai-data-visualization_23-2151977857.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/architect-with-wireless-headset-using-laptop-while-working-home-night-sitting-kitchen-industrial-female-engineer-studying-personal-computer-showing-cad-software_482257-14609.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/blurred-night-lights_23-2148139260.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/colleagues-smiling-speaking-discussing-drawings-new-ideas-office_176420-1684.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="problema" data-section="problema">
|
||||
<SectionErrorBoundary name="problema">
|
||||
<AboutTextSplit
|
||||
title="Tienes un gran servicio. Pero tu agenda no lo refleja."
|
||||
descriptions={[
|
||||
"Tus redes sociales permanecen quietas a pesar de tu esfuerzo.", "Inviertes dinero en anuncios publicitarios casi a ciegas.", "Te llegan cientos de curiosos, pero pocos pacientes reales.", "No tienes el tiempo técnico necesario para gestionar tu marketing."]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProblemaSection />
|
||||
|
||||
<div id="servicios" data-section="servicios">
|
||||
<SectionErrorBoundary name="servicios">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="SERVICIOS"
|
||||
title="Lo que hacemos"
|
||||
description="Estrategias de crecimiento validadas para el sector estético."
|
||||
items={[
|
||||
{ title: "Gestión de Redes", description: "Contenido estratégico que genera confianza.", href: "#", imageSrc: "https://storage.googleapis.com/webild/default/no-image.jpg?id=7kpo9u" },
|
||||
{ title: "Meta Ads", description: "Anuncios optimizados para atraer pacientes.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/money-fantasy-scene_23-2151663100.jpg" },
|
||||
{ title: "Google Ads", description: "Captura búsquedas con intención alta.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-notebook-yellow-background_23-2149382391.jpg" },
|
||||
{ title: "Embudo de Conversión", description: "Transformamos clics en citas.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/network-connection-graphic-overlay-banner_53876-120356.jpg" },
|
||||
{ title: "Email Marketing", description: "Nutrición de pacientes potenciales.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/letter-envelop-message-notification-concept_53876-13786.jpg" },
|
||||
{ title: "Reportes Semanales", description: "Transparencia total sobre los resultados.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/creative-business-arrangement-with-colorful-graphics_23-2148488605.jpg" },
|
||||
{ title: "Consultoría Estratégica", description: "Optimización del negocio estético.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/drawing-tree-with-ideas_1134-298.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServiciosSection />
|
||||
|
||||
<div id="sistema" data-section="sistema">
|
||||
<SectionErrorBoundary name="sistema">
|
||||
<FeaturesBento
|
||||
tag="EL SISTEMA"
|
||||
title="Así convertimos tráfico en pacientes"
|
||||
description="Un embudo diseñado para la conversión constante."
|
||||
features={[
|
||||
{
|
||||
title: "Tráfico Calificado", description: "Segmentación geográfica y demográfica precisa.", bentoComponent: "orbiting-icons", centerIcon: "Target", orbitIcons: ["Facebook", "Instagram", "Google"],
|
||||
},
|
||||
{
|
||||
title: "Interacción", description: "Engagement que calienta el interés.", bentoComponent: "chat-marquee", aiIcon: "MessageCircle", userIcon: "User", exchanges: [{ userMessage: "Me gustaría una valoración.", aiResponse: "¡Claro! Agenda aquí." }],
|
||||
placeholder: "..."},
|
||||
{
|
||||
title: "Conversión", description: "Agenda confirmada.", bentoComponent: "checklist-timeline", heading: "El proceso", subheading: "Pasos simples", checklistItems: [
|
||||
{ label: "Registro", detail: "Formulario rápido" },
|
||||
{ label: "WhatsApp", detail: "Conversación humana" },
|
||||
{ label: "Cita", detail: "Cierre en agenda" },
|
||||
],
|
||||
completedLabel: "Confirmado"},
|
||||
{
|
||||
title: "Pacientes Reales", description: "Resultados de negocio.", bentoComponent: "animated-bar-chart"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<SistemaSection />
|
||||
|
||||
<div id="proceso" data-section="proceso">
|
||||
<SectionErrorBoundary name="proceso">
|
||||
<MetricsIconCards
|
||||
tag="PASOS"
|
||||
title="Cómo trabajamos"
|
||||
description="Nuestro sistema es transparente y optimizable."
|
||||
metrics={[
|
||||
{ icon: "Search", title: "01 Diagnóstico", value: "Base" },
|
||||
{ icon: "Lightbulb", title: "02 Estrategia", value: "Diseño" },
|
||||
{ icon: "Zap", title: "03 Ejecución", value: "Meta" },
|
||||
{ icon: "TrendingUp", title: "04 Optimización", value: "KPIs" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProcesoSection />
|
||||
|
||||
<div id="por-que" data-section="por-que">
|
||||
<SectionErrorBoundary name="por-que">
|
||||
<TestimonialOverlayCards
|
||||
tag="POR QUÉ NOSOTROS"
|
||||
title="Una agencia enfocada, no una fábrica de clientes"
|
||||
description="La transparencia y los resultados son nuestra prioridad."
|
||||
testimonials={[
|
||||
{ name: "Enfoque Local", role: "Transparencia Total", company: "Reportes semanales", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smiling-colleagues-working-with-laptops-notebooks_171337-17169.jpg" },
|
||||
{ name: "Trato Directo", role: "Sin intermediarios", company: "Comunicación real", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/two-businessmen-mad-each-other-trying-come-agreement_1150-2623.jpg" },
|
||||
{ name: "Flexibilidad", role: "Sin contratos eternos", company: "Crecemos juntos", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/conceptual-success-business-with-wooden-human-rectangle-blocks_176474-10564.jpg" },
|
||||
{ name: "Data Driven", role: "Estrategia", company: "Resultados, no promesas", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/people-tablet-with-bar-graph_1134-472.jpg" },
|
||||
{ name: "Calidad", role: "Enfoque Salud", company: "Normativa legal", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/cotton-flower-vase-wooden-floor_53876-105954.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PorQueSection />
|
||||
|
||||
<div id="contacto" data-section="contacto">
|
||||
<SectionErrorBoundary name="contacto">
|
||||
<ContactCta
|
||||
tag="CONTACTO"
|
||||
text="¿Listo para llenar tu agenda con pacientes calificados?"
|
||||
primaryButton={{
|
||||
text: "Hablemos por WhatsApp", href: "https://wa.me/573000000000"}}
|
||||
secondaryButton={{
|
||||
text: "Enviar correo", href: "mailto:hola@lumio.com"}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactoSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
23
src/pages/HomePage/sections/Contacto.tsx
Normal file
23
src/pages/HomePage/sections/Contacto.tsx
Normal 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="¿Listo para llenar tu agenda con pacientes calificados?"
|
||||
primaryButton={{
|
||||
text: "Hablemos por WhatsApp", href: "https://wa.me/573000000000"}}
|
||||
secondaryButton={{
|
||||
text: "Enviar correo", href: "mailto:hola@lumio.com"}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
32
src/pages/HomePage/sections/Hero.tsx
Normal file
32
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
// 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 HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardTiltedCarousel
|
||||
tag="AGENCIA DE MARKETING DIGITAL"
|
||||
title="Más pacientes. \nMenos preocupaciones."
|
||||
description="Gestionamos redes, anuncios y embudos para atraer pacientes calificados en Cota, Chía y Bogotá."
|
||||
primaryButton={{
|
||||
text: "Agenda tu diagnóstico gratis", href: "#contacto"}}
|
||||
secondaryButton={{
|
||||
text: "Cómo lo hacemos →", href: "#sistema"}}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/high-tech-view-futuristic-earth_23-2151100368.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/armchair-couch_1203-772.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/futuristic-ai-data-visualization_23-2151977857.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/architect-with-wireless-headset-using-laptop-while-working-home-night-sitting-kitchen-industrial-female-engineer-studying-personal-computer-showing-cad-software_482257-14609.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/blurred-night-lights_23-2148139260.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/colleagues-smiling-speaking-discussing-drawings-new-ideas-office_176420-1684.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/PorQue.tsx
Normal file
27
src/pages/HomePage/sections/PorQue.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "por-que" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PorQueSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="por-que" data-section="por-que">
|
||||
<SectionErrorBoundary name="por-que">
|
||||
<TestimonialOverlayCards
|
||||
tag="POR QUÉ NOSOTROS"
|
||||
title="Una agencia enfocada, no una fábrica de clientes"
|
||||
description="La transparencia y los resultados son nuestra prioridad."
|
||||
testimonials={[
|
||||
{ name: "Enfoque Local", role: "Transparencia Total", company: "Reportes semanales", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smiling-colleagues-working-with-laptops-notebooks_171337-17169.jpg" },
|
||||
{ name: "Trato Directo", role: "Sin intermediarios", company: "Comunicación real", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/two-businessmen-mad-each-other-trying-come-agreement_1150-2623.jpg" },
|
||||
{ name: "Flexibilidad", role: "Sin contratos eternos", company: "Crecemos juntos", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/conceptual-success-business-with-wooden-human-rectangle-blocks_176474-10564.jpg" },
|
||||
{ name: "Data Driven", role: "Estrategia", company: "Resultados, no promesas", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/people-tablet-with-bar-graph_1134-472.jpg" },
|
||||
{ name: "Calidad", role: "Enfoque Salud", company: "Normativa legal", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/cotton-flower-vase-wooden-floor_53876-105954.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
20
src/pages/HomePage/sections/Problema.tsx
Normal file
20
src/pages/HomePage/sections/Problema.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "problema" section.
|
||||
|
||||
import React from 'react';
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProblemaSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="problema" data-section="problema">
|
||||
<SectionErrorBoundary name="problema">
|
||||
<AboutTextSplit
|
||||
title="Tienes un gran servicio. Pero tu agenda no lo refleja."
|
||||
descriptions={[
|
||||
"Tus redes sociales permanecen quietas a pesar de tu esfuerzo.", "Inviertes dinero en anuncios publicitarios casi a ciegas.", "Te llegan cientos de curiosos, pero pocos pacientes reales.", "No tienes el tiempo técnico necesario para gestionar tu marketing."]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
26
src/pages/HomePage/sections/Proceso.tsx
Normal file
26
src/pages/HomePage/sections/Proceso.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "proceso" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProcesoSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="proceso" data-section="proceso">
|
||||
<SectionErrorBoundary name="proceso">
|
||||
<MetricsIconCards
|
||||
tag="PASOS"
|
||||
title="Cómo trabajamos"
|
||||
description="Nuestro sistema es transparente y optimizable."
|
||||
metrics={[
|
||||
{ icon: "Search", title: "01 Diagnóstico", value: "Base" },
|
||||
{ icon: "Lightbulb", title: "02 Estrategia", value: "Diseño" },
|
||||
{ icon: "Zap", title: "03 Ejecución", value: "Meta" },
|
||||
{ icon: "TrendingUp", title: "04 Optimización", value: "KPIs" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Servicios.tsx
Normal file
29
src/pages/HomePage/sections/Servicios.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "servicios" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ServiciosSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="servicios" data-section="servicios">
|
||||
<SectionErrorBoundary name="servicios">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="SERVICIOS"
|
||||
title="Lo que hacemos"
|
||||
description="Estrategias de crecimiento validadas para el sector estético."
|
||||
items={[
|
||||
{ title: "Gestión de Redes", description: "Contenido estratégico que genera confianza.", href: "#", imageSrc: "https://storage.googleapis.com/webild/default/no-image.jpg?id=7kpo9u" },
|
||||
{ title: "Meta Ads", description: "Anuncios optimizados para atraer pacientes.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/money-fantasy-scene_23-2151663100.jpg" },
|
||||
{ title: "Google Ads", description: "Captura búsquedas con intención alta.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/top-view-notebook-yellow-background_23-2149382391.jpg" },
|
||||
{ title: "Embudo de Conversión", description: "Transformamos clics en citas.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/network-connection-graphic-overlay-banner_53876-120356.jpg" },
|
||||
{ title: "Email Marketing", description: "Nutrición de pacientes potenciales.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/letter-envelop-message-notification-concept_53876-13786.jpg" },
|
||||
{ title: "Reportes Semanales", description: "Transparencia total sobre los resultados.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/creative-business-arrangement-with-colorful-graphics_23-2148488605.jpg" },
|
||||
{ title: "Consultoría Estratégica", description: "Optimización del negocio estético.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/drawing-tree-with-ideas_1134-298.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Sistema.tsx
Normal file
37
src/pages/HomePage/sections/Sistema.tsx
Normal file
@@ -0,0 +1,37 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "sistema" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesBento from '@/components/sections/features/FeaturesBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function SistemaSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="sistema" data-section="sistema">
|
||||
<SectionErrorBoundary name="sistema">
|
||||
<FeaturesBento
|
||||
tag="EL SISTEMA"
|
||||
title="Así convertimos tráfico en pacientes"
|
||||
description="Un embudo diseñado para la conversión constante."
|
||||
features={[
|
||||
{
|
||||
title: "Tráfico Calificado", description: "Segmentación geográfica y demográfica precisa.", bentoComponent: "orbiting-icons", centerIcon: "Target", orbitIcons: ["Facebook", "Instagram", "Google"],
|
||||
},
|
||||
{
|
||||
title: "Interacción", description: "Engagement que calienta el interés.", bentoComponent: "chat-marquee", aiIcon: "MessageCircle", userIcon: "User", exchanges: [{ userMessage: "Me gustaría una valoración.", aiResponse: "¡Claro! Agenda aquí." }],
|
||||
placeholder: "..."},
|
||||
{
|
||||
title: "Conversión", description: "Agenda confirmada.", bentoComponent: "checklist-timeline", heading: "El proceso", subheading: "Pasos simples", checklistItems: [
|
||||
{ label: "Registro", detail: "Formulario rápido" },
|
||||
{ label: "WhatsApp", detail: "Conversación humana" },
|
||||
{ label: "Cita", detail: "Cierre en agenda" },
|
||||
],
|
||||
completedLabel: "Confirmado"},
|
||||
{
|
||||
title: "Pacientes Reales", description: "Resultados de negocio.", bentoComponent: "animated-bar-chart"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user