11 Commits

Author SHA1 Message Date
3f9afc79ab Update theme fonts 2026-06-07 10:05:17 +00:00
cfa80528a7 Update theme fonts 2026-06-07 10:05:16 +00:00
e446606b0f Update theme fonts 2026-06-07 10:05:09 +00:00
06295847d6 Update theme fonts 2026-06-07 10:05:09 +00:00
99f97fb014 Add src/app/services/page.tsx 2026-06-07 10:04:10 +00:00
fa50867bc0 Update src/app/page.tsx 2026-06-07 10:04:09 +00:00
042ad87e1c Merge version_3 into main
Merge version_3 into main
2026-06-07 10:00:19 +00:00
88a2991e4d Update src/app/page.tsx 2026-06-07 10:00:16 +00:00
b8c3cac4f0 Merge version_2 into main
Merge version_2 into main
2026-06-07 09:58:21 +00:00
4c804a1382 Update src/app/page.tsx 2026-06-07 09:58:18 +00:00
930234833a Merge version_1 into main
Merge version_1 into main
2026-06-07 09:51:22 +00:00
4 changed files with 144 additions and 20 deletions

View File

@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Open_Sans } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
@@ -41,8 +42,15 @@ export const metadata: Metadata = {
},
};
const openSans = Open_Sans({
variable: "--font-open-sans",
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville",
subsets: ["latin"],
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
@@ -54,7 +62,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${openSans.variable} antialiased`}>
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -31,9 +31,11 @@ export default function LandingPage() {
<NavbarStyleFullscreen
navItems={[
{
name: "Inicio", id: "#inicio"},
name: "Inicio", id: "/"},
{
name: "Sobre Nosotros", id: "#sobre-nosotros"},
{
name: "Servicios", id: "/services"},
{
name: "Menú", id: "#menu"},
{
@@ -104,24 +106,24 @@ export default function LandingPage() {
products={[
{
id: "p1", brand: "Clásico", name: "Cebiche de Pescado", price: "22€", rating: 5,
reviewCount: "120", imageSrc: "http://img.b2bpic.net/free-photo/top-view-appetizing-pozole-bowl_23-2149248521.jpg", imageAlt: "Plato de cebiche peruano con pescado fresco y limón"},
reviewCount: "120", imageSrc: "https://images.unsplash.com/photo-1595167664560-f1d22e03d3f9?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Plato de cebiche peruano con pescado fresco y limón"},
{
id: "p2", brand: "Fusión", name: "Lomo Saltado", price: "25€", rating: 5,
reviewCount: "150", imageSrc: "http://img.b2bpic.net/free-photo/beef-meat-stew-with-potatoes-chopped-vegetables-served-with-lavash_114579-926.jpg", imageAlt: "Plato de lomo saltado con carne y patatas fritas"},
reviewCount: "150", imageSrc: "https://images.unsplash.com/photo-1629822365288-14a091398858?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Plato de lomo saltado con carne y patatas fritas"},
{
id: "p3", brand: "Tradicional", name: "Ají de Gallina", price: "20€", rating: 5,
reviewCount: "90", imageSrc: "http://img.b2bpic.net/free-photo/tom-kha-kai-bowl-with-kaffir-lime-leaves-lemongrass-red-onion-galangal-chilli_1150-21539.jpg", imageAlt: "Plato de ají de gallina cremoso con pollo deshilachado"},
reviewCount: "90", imageSrc: "https://images.unsplash.com/photo-1639016480282-e3d810f6e5e8?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Plato de ají de gallina cremoso con pollo deshilachado"},
{
id: "p4", brand: "Antojos", name: "Anticuchos", price: "18€", rating: 5,
reviewCount: "75", imageSrc: "http://img.b2bpic.net/free-photo/steak-brazillian-style_1339-8285.jpg", imageAlt: "Brochetas de anticuchos peruanos a la parrilla"},
reviewCount: "75", imageSrc: "https://images.unsplash.com/photo-1623916962456-6215c0e1011e?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Brochetas de anticuchos peruanos a la parrilla"},
{
id: "p5", brand: "Vegetariano", name: "Causa Rellena", price: "19€", rating: 5,
reviewCount: "60", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-hands-preparing-meal_23-2149661396.jpg", imageAlt: "Causa rellena de patata con capas y vegetales"},
reviewCount: "60", imageSrc: "https://images.unsplash.com/photo-1606771032890-70f2f3e8b4e7?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Causa rellena de patata con capas y vegetales"},
{
id: "p6", brand: "Especial", name: "Arroz con Pato", price: "28€", rating: 5,
reviewCount: "110", imageSrc: "http://img.b2bpic.net/free-photo/barbecued-red-pork-sauce-with-rice_1339-3676.jpg", imageAlt: "Arroz con pato, un plato peruano con arroz verde"},
reviewCount: "110", imageSrc: "https://images.unsplash.com/photo-1546069901-dcd1346f0823?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Arroz con pato, un plato peruano con arroz verde"},
]}
title="Descubre Nuestro Menú"
title="Explora Nuestras Obras Maestras Culinarias Peruanas"
description="Explora nuestra variada carta, donde cada plato es una obra de arte culinaria peruana, preparada con los ingredientes más frescos y auténticos."
/>
</div>
@@ -135,19 +137,19 @@ export default function LandingPage() {
testimonials={[
{
id: "t1", name: "Sarah Johnson", role: "Entusiasta de la comida", company: "Visitante", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/chef-showing-plate-with-food-camera_23-2148471885.jpg"},
imageSrc: "https://images.unsplash.com/photo-1534528741775-53994a69daeb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80", imageAlt: "Smiling woman enjoying a meal at the restaurant"},
{
id: "t2", name: "Michael Chen", role: "Crítico Gastronómico", company: "Blog de Sabores", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-mid-adult-man-having-fun-while-family-lunch-dining-table_637285-3658.jpg"},
imageSrc: "https://images.unsplash.com/photo-1507003211169-e69fe2547b70?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80", imageAlt: "Thoughtful male food critic evaluating a Peruvian dish"},
{
id: "t3", name: "Emily Rodriguez", role: "Turista de Barcelona", company: "Exploradora Culinaria", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/collage-customer-experience-concept_23-2149367138.jpg"},
imageSrc: "https://images.unsplash.com/photo-1544005313-94ddf0286df2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80", imageAlt: "Young female tourist smiling, satisfied after dining"},
{
id: "t4", name: "Marine Dupont", role: "Cliente Frecuente", company: "Local", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-with-two-raised-fingers_1187-1103.jpg"},
imageSrc: "https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80", imageAlt: "Happy regular customer enjoying the restaurant ambiance"},
{
id: "t5", name: "David Kim", role: "Amante de la Cocina", company: "Gourmet Global", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/waiter-serving-cup-coffee-customer_1170-628.jpg"},
imageSrc: "https://images.unsplash.com/photo-1560250097-0b93528c311a?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80", imageAlt: "Man passionately describing his culinary experience"},
]}
title="Lo Que Dicen Nuestros Clientes"
description="La satisfacción de nuestros comensales es nuestra mayor recompensa. Lee algunas de las experiencias que nos han compartido."
@@ -204,7 +206,9 @@ export default function LandingPage() {
{
title: "Explorar", items: [
{
label: "Inicio", href: "#inicio"},
label: "Inicio", href: "/"},
{
label: "Servicios", href: "/services"},
{
label: "Menú", href: "#menu"},
{
@@ -238,4 +242,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

112
src/app/services/page.tsx Normal file
View File

@@ -0,0 +1,112 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import FeatureCardMedia from '@/components/sections/feature/FeatureCardMedia';
import FooterBase from '@/components/sections/footer/FooterBase';
export default function ServicesPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="background-highlight"
borderRadius="soft"
contentWidth="medium"
sizing="mediumLargeSizeMediumTitles"
background="none"
cardStyle="gradient-mesh"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="radial-glow"
headingFontWeight="bold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Inicio", id: "/" },
{ name: "Sobre Nosotros", id: "#sobre-nosotros" },
{ name: "Servicios", id: "/services" },
{ name: "Menú", id: "#menu" },
{ name: "Testimonios", id: "#testimonios" },
{ name: "FAQ", id: "#faq" },
{ name: "Contacto", id: "#contacto" },
]}
logoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=m1k0me"
brandName="Sabor Peruano"
/>
</div>
<div id="nuestros-servicios" data-section="nuestros-servicios">
<FeatureCardMedia
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={true}
title="Nuestros Servicios Exclusivos"
description="En Sabor Peruano, ofrecemos una gama de servicios diseñados para hacer tu experiencia culinaria aún más especial."
features={[
{
id: "s1", title: "Eventos Privados y Catering", description: "Organizamos eventos privados y ofrecemos servicio de catering para tus celebraciones especiales, llevando el sabor de Perú a tu puerta.", tag: "Eventos", imageSrc: "https://images.unsplash.com/photo-1579543887050-705b7668b0d4?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Mesa elegantemente decorada para un evento privado"
},
{
id: "s2", title: "Clases de Cocina Peruana", description: "Aprende los secretos de la gastronomía peruana con nuestros chefs expertos en clases interactivas para todos los niveles.", tag: "Experiencia", imageSrc: "https://images.unsplash.com/photo-1549488340-9156c706240d?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Personas cocinando en una clase de cocina"
},
{
id: "s3", title: "Experiencia Sommelier", description: "Descubre el maridaje perfecto para cada plato con nuestro sommelier, quien te guiará a través de nuestra exclusiva carta de vinos.", tag: "Vino", imageSrc: "https://images.unsplash.com/photo-1611762391023-e18641a2e7c9?q=80&w=1920&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Sommelier sirviendo vino en copas"
}
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
columns={[
{
title: "Explorar", items: [
{
label: "Inicio", href: "/"
},
{
label: "Servicios", href: "/services"
},
{
label: "Menú", href: "#menu"
},
{
label: "Reservas", href: "#contacto"
},
],
},
{
title: "Información", items: [
{
label: "Sobre Nosotros", href: "#sobre-nosotros"
},
{
label: "Testimonios", href: "#testimonios"
},
{
label: "FAQ", href: "#faq"
},
],
},
{
title: "Legal", items: [
{
label: "Política de Privacidad", href: "#"
},
{
label: "Términos de Servicio", href: "#"
},
],
},
]}
logoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=m1k0me"
logoText="Sabor Peruano"
copyrightText="© 2024 Sabor Peruano. Todos los derechos reservados."
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

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