49 Commits

Author SHA1 Message Date
cc1a072828 Update src/app/page.tsx 2026-05-01 08:06:15 +00:00
abd1aad0d5 Update src/app/page.tsx 2026-05-01 08:05:46 +00:00
71e9ce6199 Merge version_21 into main
Merge version_21 into main
2026-05-01 07:53:31 +00:00
f51dfcf874 Update src/app/page.tsx 2026-05-01 07:53:28 +00:00
0bbae846ee Merge version_19 into main
Merge version_19 into main
2026-05-01 07:45:15 +00:00
350bb9f88b Update src/app/page.tsx 2026-05-01 07:45:12 +00:00
bf74670a1a Merge version_18 into main
Merge version_18 into main
2026-05-01 04:44:37 +00:00
b2bae69280 Update src/app/page.tsx 2026-05-01 04:44:34 +00:00
eb146800e9 Merge version_17 into main
Merge version_17 into main
2026-05-01 04:42:26 +00:00
da9c9826cb Update src/app/page.tsx 2026-05-01 04:42:20 +00:00
58220cb1c9 Merge version_17 into main
Merge version_17 into main
2026-05-01 04:41:53 +00:00
e0e71a8745 Update src/app/page.tsx 2026-05-01 04:41:50 +00:00
4eb2250b7d Merge version_16 into main
Merge version_16 into main
2026-05-01 04:02:17 +00:00
d34d560a71 Update src/app/page.tsx 2026-05-01 04:02:14 +00:00
37d00996a7 Merge version_15 into main
Merge version_15 into main
2026-05-01 03:53:03 +00:00
b60b1d962f Update src/app/page.tsx 2026-05-01 03:53:00 +00:00
2dc4e65324 Merge version_14 into main
Merge version_14 into main
2026-05-01 02:36:05 +00:00
ac21c77ec3 Update src/app/page.tsx 2026-05-01 02:36:02 +00:00
4e698bb534 Merge version_14 into main
Merge version_14 into main
2026-05-01 02:17:25 +00:00
10ad39e629 Update theme fonts 2026-05-01 02:17:22 +00:00
7e7fe42561 Update theme fonts 2026-05-01 02:17:21 +00:00
56e69227c4 Merge version_13 into main
Merge version_13 into main
2026-05-01 01:24:28 +00:00
e19762e9dc Update src/app/page.tsx 2026-05-01 01:24:25 +00:00
77efa6ce77 Merge version_12 into main
Merge version_12 into main
2026-05-01 01:20:03 +00:00
0c48d9ba0f Update src/app/page.tsx 2026-05-01 01:19:57 +00:00
919f56309c Merge version_11 into main
Merge version_11 into main
2026-05-01 01:14:29 +00:00
8e16b96cb3 Update src/app/page.tsx 2026-05-01 01:14:26 +00:00
6a7ea2f5a1 Merge version_10 into main
Merge version_10 into main
2026-05-01 01:10:25 +00:00
a501bd7b6e Update src/app/page.tsx 2026-05-01 01:10:22 +00:00
2a8660a808 Merge version_9 into main
Merge version_9 into main
2026-05-01 01:07:42 +00:00
881da43203 Update src/app/page.tsx 2026-05-01 01:07:36 +00:00
e02a2028a7 Merge version_8 into main
Merge version_8 into main
2026-05-01 00:52:00 +00:00
2bfed707b2 Update src/app/page.tsx 2026-05-01 00:51:54 +00:00
15b0741b32 Merge version_8 into main
Merge version_8 into main
2026-05-01 00:51:33 +00:00
8faad5824a Update src/app/page.tsx 2026-05-01 00:51:27 +00:00
9ecf5bc184 Merge version_7 into main
Merge version_7 into main
2026-05-01 00:19:17 +00:00
7c2d3008b4 Update src/app/page.tsx 2026-05-01 00:19:14 +00:00
24d00a53f6 Merge version_7 into main
Merge version_7 into main
2026-04-30 23:42:34 +00:00
ad0997e1b6 Update src/app/page.tsx 2026-04-30 23:42:31 +00:00
13a728fba2 Merge version_6 into main
Merge version_6 into main
2026-04-30 23:24:21 +00:00
c8c0c76c2a Update src/app/page.tsx 2026-04-30 23:24:18 +00:00
60c19a08c1 Merge version_5 into main
Merge version_5 into main
2026-04-30 21:45:17 +00:00
3669423c15 Update src/app/page.tsx 2026-04-30 21:45:14 +00:00
edf84daeef Update src/app/layout.tsx 2026-04-30 21:45:13 +00:00
c01d347807 Merge version_5 into main
Merge version_5 into main
2026-04-30 21:44:49 +00:00
71067bd074 Update src/app/page.tsx 2026-04-30 21:44:46 +00:00
64ee5dd70c Merge version_4 into main
Merge version_4 into main
2026-04-30 15:51:59 +00:00
ab1ee0046c Update src/app/page.tsx 2026-04-30 15:51:56 +00:00
6db3ed5401 Merge version_3 into main
Merge version_3 into main
2026-04-30 15:51:19 +00:00
3 changed files with 88 additions and 80 deletions

View File

@@ -6,12 +6,13 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { DM_Sans } from "next/font/google"; import { DM_Sans } from "next/font/google";
import { Source_Sans_3 } from "next/font/google";
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Palancar Barbershop | Hialeah, Miami', title: 'Palancar Barbershop | Hialeah',
description: 'Premium grooming and barber services in Hialeah. Expert fades, beard trims, and more.', description: 'Servicio de barbería premium en Hialeah.',
openGraph: { openGraph: {
"title": "Palancar Barbershop | Hialeah, Miami", "title": "Palancar Barbershop | Hialeah, Miami",
"description": "Premium grooming and barber services in Hialeah.", "description": "Premium grooming and barber services in Hialeah.",
@@ -20,12 +21,9 @@ export const metadata: Metadata = {
}, },
}; };
const dmSans = DM_Sans({
variable: "--font-dm-sans", const sourceSans3 = Source_Sans_3({
subsets: ["latin"], variable: "--font-source-sans-3",
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"], subsets: ["latin"],
}); });
@@ -37,7 +35,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${dmSans.variable} ${inter.variable} antialiased`}> <body className={`${sourceSans3.variable} antialiased`}>
{children} {children}
<script <script

View File

@@ -2,19 +2,24 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactSplit from '@/components/sections/contact/ContactSplit'; import ContactText from '@/components/sections/contact/ContactText';
import FaqBase from '@/components/sections/faq/FaqBase';
import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern'; import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern';
import FooterCard from '@/components/sections/footer/FooterCard'; import FooterCard from '@/components/sections/footer/FooterCard';
import HeroLogo from '@/components/sections/hero/HeroLogo'; import HeroLogo from '@/components/sections/hero/HeroLogo';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout'; import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import PricingCardTwo from '@/components/sections/pricing/PricingCardTwo'; import PricingCardTwo from '@/components/sections/pricing/PricingCardTwo';
import TeamCardSix from '@/components/sections/team/TeamCardSix'; import FaqBase from '@/components/sections/faq/FaqBase';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne'; import TeamCardEleven from '@/components/sections/team/TeamCardEleven';
import { Diamond, Instagram, Scissors, User } from "lucide-react"; import { Instagram, Scissors, Sparkles, Droplets, Zap, Eye, User } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
const handleLinkClick = (href: string) => {
if (href?.startsWith('tel:')) {
window.location.href = href;
}
};
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="text-stagger" defaultButtonVariant="text-stagger"
@@ -34,11 +39,12 @@ export default function LandingPage() {
navItems={[ navItems={[
{ name: "Inicio", id: "hero" }, { name: "Inicio", id: "hero" },
{ name: "Servicios", id: "services" }, { name: "Servicios", id: "services" },
{ name: "Equipo", id: "team" }, { name: "Precios", id: "menu" },
{ name: "Contacto", id: "contact" }, { name: "Contacto", id: "contact" },
]} ]}
brandName="Palancar Barbershop" brandName="Palancar Barbershop"
button={{ text: "Reservar" }} button={{ text: "305-824-9966", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }}
buttonClassName="min-w-fit px-3 text-xs md:text-sm"
/> />
</div> </div>
@@ -46,9 +52,10 @@ export default function LandingPage() {
<HeroLogo <HeroLogo
logoText="Palancar Barbershop" logoText="Palancar Barbershop"
description="Corte premium en el corazón de Hialeah. Mejore su estilo con maestros del oficio. Servicio de barbería diseñado para el hombre moderno." description="Corte premium en el corazón de Hialeah. Mejore su estilo con maestros del oficio. Servicio de barbería diseñado para el hombre moderno."
buttons={[{ text: "Reservar Cita", href: "#contact" }]} buttons={[{ text: "Reservar Cita", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }]}
imageSrc="http://img.b2bpic.net/free-photo/barber-with-scissors-barbershop_140725-7670.jpg?_wi=1" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ApasF6ZFfKJ3lLObBgGARvGnPS/uploaded-1777601004182-ilf1hmww.png?_wi=1"
imageAlt="interior moderno de barbería" imageAlt="interior moderno de barbería"
buttonClassName="text-sm md:text-base"
/> />
</div> </div>
@@ -59,6 +66,31 @@ export default function LandingPage() {
{ type: "text", content: "Tradición y Estilo Superior" }, { type: "text", content: "Tradición y Estilo Superior" },
{ type: "image", src: "http://img.b2bpic.net/free-photo/from-hands-shaving-neck_23-2147778916.jpg", alt: "barbero profesional cuidando al cliente" }, { type: "image", src: "http://img.b2bpic.net/free-photo/from-hands-shaving-neck_23-2147778916.jpg", alt: "barbero profesional cuidando al cliente" },
]} ]}
buttons={[{ text: "Reservar Cita", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }]}
/>
</div>
<div id="team" data-section="team">
<TeamCardEleven
title="Nuestro Equipo"
animationType="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
description="Nuestros maestros del oficio a tu servicio."
groups={[
{
id: "g1",
groupTitle: "Master Barbers",
members: [
{ id: "carlos", title: "Carlos Palancar", subtitle: "Master Barber", detail: "Experto en cortes clásicos" },
{ id: "erick", title: "Erick Cabrera", subtitle: "Master Barbero", detail: "Especialista en degradados" },
{ id: "carlosjr", title: "Carlos Palancar Jr.", subtitle: "Master Barbero", detail: "Estilista versátil" },
{ id: "brian", title: "Brian Teran", subtitle: "Master Barbero", detail: "Técnico de barba" },
{ id: "jose", title: "Jose Fernandez", subtitle: "Master Barbero", detail: "Cortes modernos" },
{ id: "rusbel", title: "Rusbel Hernandez", subtitle: "Master Barbero", detail: "Atención al detalle", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ApasF6ZFfKJ3lLObBgGARvGnPS/uploaded-1777601004182-ilf1hmww.png?_wi=2" }
]
}
]}
/> />
</div> </div>
@@ -68,12 +100,16 @@ export default function LandingPage() {
textboxLayout="split" textboxLayout="split"
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ icon: Scissors, title: "Fade & Corte Personalizado", description: "Fades de precisión y estilos a medida para usted." }, { icon: Scissors, title: "Corte de Pelo", description: "$25" },
{ icon: Diamond, title: "Cuidado de Barba", description: "Recorte y mantenimiento profesional para su barba." }, { icon: Sparkles, title: "Cortes", description: "$15" },
{ icon: User, title: "Grooming Completo", description: "Servicio integral diseñado para el hombre actual." }, { icon: Droplets, title: "Lavado de Cabeza", description: "$10" },
{ icon: Zap, title: "Afeitado", description: "$10" },
{ icon: User, title: "Barba", description: "$20" },
{ icon: Scissors, title: "Candado", description: "$10" },
{ icon: Eye, title: "Cejas", description: "$10" },
]} ]}
title="Nuestros Servicios" title="Nuestros Servicios"
description="Servicios de barbería expertos para resaltar su imagen única." description="Servicios de barbería profesionales."
/> />
</div> </div>
@@ -83,46 +119,17 @@ export default function LandingPage() {
textboxLayout="default" textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
plans={[ plans={[
{ id: "basic", badge: "Popular", price: "$25", subtitle: "Mantenimiento de Barba", buttons: [{ text: "Reservar", href: "#contact" }], features: ["Recorte", "Perfilado", "Aceite"] }, { id: "p1", badge: "Corte", price: "$25", subtitle: "Corte de Pelo", buttons: [{ text: "Llamar", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }], features: [] },
{ id: "standard", badge: "Recomendado", price: "$35", subtitle: "Corte y Fade Premium", buttons: [{ text: "Reservar", href: "#contact" }], features: ["Fade Clásico", "Taper", "Estilizado"] }, { id: "p2", badge: "Cortes", price: "$15", subtitle: "Cortes", buttons: [{ text: "Llamar", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }], features: [] },
{ id: "full", badge: "Elite", price: "$50", subtitle: "Grooming Total", buttons: [{ text: "Reservar", href: "#contact" }], features: ["Corte Completo", "Barba", "Cejas", "Estilizado"] }, { id: "p3", badge: "Lavado", price: "$10", subtitle: "Lavado de Cabeza", buttons: [{ text: "Llamar", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }], features: [] },
{ id: "p4", badge: "Afeitado", price: "$10", subtitle: "Afeitado", buttons: [{ text: "Llamar", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }], features: [] },
{ id: "p5", badge: "Barba", price: "$20", subtitle: "Barba", buttons: [{ text: "Llamar", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }], features: [] },
{ id: "p6", badge: "Candado", price: "$10", subtitle: "Candado", buttons: [{ text: "Llamar", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }], features: [] },
{ id: "p7", badge: "Cejas", price: "$10", subtitle: "Cejas", buttons: [{ text: "Llamar", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }], features: [] },
]} ]}
title="Menú de Precios" title="Menú de Precios"
description="Tarifas transparentes por resultados excepcionales." description="Servicios de calidad para ti."
/> planButtonClassName="whitespace-nowrap text-xs md:text-sm px-3"
</div>
<div id="team" data-section="team">
<TeamCardSix
animationType="slide-up"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
members={[
{ id: "m1", name: "Carlos R.", role: "Maestro Barbero", imageSrc: "http://img.b2bpic.net/free-photo/positive-bearded-black-male-with-tattoo-cross-arms-dressed-white-shirt_613910-15917.jpg" },
{ id: "m2", name: "Luis M.", role: "Experto en Fades", imageSrc: "http://img.b2bpic.net/free-photo/gardening-tools_23-2148013407.jpg" },
{ id: "m3", name: "Juan P.", role: "Especialista en Estilo", imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-with-tattoo-his-face-with-crossed-arms-dressed-white-shirt-grey-background_613910-8120.jpg" },
{ id: "m4", name: "Diego V.", role: "Barbero Senior", imageSrc: "http://img.b2bpic.net/free-photo/man-looking-away-barber-shop_23-2148353460.jpg" },
]}
title="Nuestro Equipo"
description="Conozca a nuestros barberos profesionales en Hialeah."
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardOne
animationType="slide-up"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
testimonials={[
{ id: "t1", name: "Antonio S.", role: "Cliente Frecuente", company: "Hialeah", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiling-young-man-with-headphone-around-his-neck-looking-camera_23-2148042690.jpg" },
{ id: "t2", name: "Mario F.", role: "Empresario", company: "Miami", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-redhead-model-man-flannel-shirt-gray-background_613910-20187.jpg" },
{ id: "t3", name: "Jorge L.", role: "Profesional", company: "Hialeah", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-bearded-man-smiling-looking-away-while-professional-barber-giving-him-haircut-copyspace_7502-5640.jpg" },
{ id: "t4", name: "Pedro G.", role: "Residente Local", company: "Miami", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/client-hairdresser-posing-selfie_23-2147778771.jpg" },
]}
title="Reseñas de Clientes"
description="Vea por qué nuestros clientes confían en Palancar Barbershop."
/> />
</div> </div>
@@ -131,35 +138,38 @@ export default function LandingPage() {
textboxLayout="default" textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
faqs={[ faqs={[
{ id: "q1", title: "¿Necesito una cita?", content: "Sí, recomendamos altamente reservar en línea o llamarnos." }, { id: "q1", title: "¿Cuál es su dirección?", content: "4955 West 6th Ave, Hialeah, FL 33012" },
{ id: "q2", title: "¿Aceptan walk-ins?", content: "Priorizamos las citas, pero aceptamos walk-ins según disponibilidad." }, { id: "q2", title: "¿Cuál es su horario?", content: "Lunes a Sábados 9:00 AM - 7:00 PM" },
{ id: "q3", title: "¿Dónde están ubicados?", content: "Estamos ubicados en el corazón de Hialeah, Miami." }, { id: "q3", title: "¿Teléfonos de contacto?", content: "305-824-9966 Oficina / 786-302-3671 Celular" },
]} ]}
title="Preguntas Frecuentes" title="Información de Contacto"
description="Dudas comunes sobre nuestros servicios de barbería." description="Llame para su próxima cita."
faqsAnimation="slide-up" faqsAnimation="slide-up"
buttons={[{ text: "Reservar Cita", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") }]}
/> />
</div> </div>
<div id="contact" data-section="contact"> <div id="contact-text" data-section="contact-text">
<ContactSplit <ContactText
useInvertedBackground={false} text="¿Listo para tu próximo corte? Llámanos hoy."
background={{ variant: "plain" }} buttons={[
tag="Contacto" { text: "305-824-9966 (Oficina)", href: "tel:305-824-9966", onClick: () => handleLinkClick("tel:305-824-9966") },
title="Agenda tu Cita Hoy" { text: "786-302-3671 (Celular)", href: "tel:786-302-3671", onClick: () => handleLinkClick("tel:786-302-3671") }
description="Ubicados en Hialeah, Miami. Estamos listos para atenderle. ¡Contáctenos ahora!" ]}
mediaAnimation="slide-up" background={{ variant: "sparkles-gradient" }}
buttonText="Enviar" useInvertedBackground={true}
imageSrc="http://img.b2bpic.net/free-photo/barber-with-scissors-barbershop_140725-7670.jpg?_wi=2" containerClassName="max-w-7xl mx-auto"
contentClassName="max-w-7xl mx-auto"
buttonClassName="whitespace-nowrap px-4 text-sm"
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterCard <FooterCard
logoText="Palancar Barbershop" logoText="Palancar Barbershop"
copyrightText="© 2025 Palancar Barbershop. Todos los derechos reservados." copyrightText="© 2025 Palancar Barbershop."
socialLinks={[ socialLinks={[
{ icon: Instagram, href: "#", ariaLabel: "Instagram" }, { icon: Instagram, href: "https://instagram.com", ariaLabel: "Instagram" },
]} ]}
/> />
</div> </div>

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-inter), sans-serif; font-family: var(--font-source-sans-3), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-dm-sans), sans-serif; font-family: var(--font-source-sans-3), sans-serif;
} }