Bob AI: Update content and layout for Mocinha Perú brand brief

This commit is contained in:
kudinDmitriyUp
2026-06-16 00:41:21 +00:00
parent 6bfe514801
commit 0cfd867f37
10 changed files with 207 additions and 303 deletions

View File

@@ -9,32 +9,20 @@ import { StyleProvider } from "@/components/ui/StyleProvider";
export default function Layout() {
const navItems = [
{
"name": "Shop",
"name": "Colección",
"href": "#products"
},
{
"name": "Philosophy",
"name": "Filosofía",
"href": "#about"
},
{
"name": "Size Guide",
"name": "Tallas",
"href": "#size-guide"
},
{
"name": "Support",
"name": "Soporte",
"href": "#faq"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Metrics",
"href": "#metrics"
},
{
"name": "Testimonials",
"href": "#testimonials"
}
];
@@ -43,10 +31,10 @@ export default function Layout() {
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloating
logo="Mocihna"
logo="Mocinha Perú"
ctaButton={{
text: "WhatsApp Us",
href: "https://wa.me/yournumber",
text: "WhatsApp",
href: "https://wa.me/123456789",
}}
navItems={navItems} />
</SectionErrorBoundary>
@@ -55,8 +43,8 @@ export default function Layout() {
</main>
<SectionErrorBoundary name="footer">
<FooterMinimal
brand="Mocihna"
copyright="© 2024 Mocihna. All rights reserved."
brand="Mocinha Perú"
copyright="© 2024 Mocinha Perú. Todos los derechos reservados."
socialLinks={[
{
icon: Instagram,

View File

@@ -1,294 +1,36 @@
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import { Award, CheckCircle, Heart, Maximize, Smile, Sparkles } from "lucide-react";
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 ProductsSection from './HomePage/sections/Products';
import MetricsSection from './HomePage/sections/Metrics';
import SizeGuideSection from './HomePage/sections/SizeGuide';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroTiltedCards
tag="Inclusive Fashion"
title="Fashion for Real Women"
description="Discover clothing designed to make you feel comfortable, confident, and stylish every day."
primaryButton={{
text: "Shop Collection",
href: "#products",
}}
secondaryButton={{
text: "Chat on WhatsApp",
href: "https://wa.me/yournumber",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-blonde-rich-woman_23-2149668341.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/studio-with-props-photography_23-2148885670.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/multi-ethnic-female-friend-sitting-back-back-looking-camera_23-2148178737.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/elevated-view-fashion-designer-s-hand-working-fabrics-studio_23-2147874949.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-beautiful-woman-park_1303-25673.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Our Philosophy"
title="Confidence in Every Fit"
description="Mocihna was born from the need to bridge the gap between comfort and style. We believe every woman deserves clothing that celebrates her unique body type."
items={[
{
icon: Heart,
title: "Inclusive Sizing",
description: "Beautiful designs available in sizes SXL.",
},
{
icon: Sparkles,
title: "Premium Comfort",
description: "Soft, high-quality fabrics that move with you.",
},
{
icon: CheckCircle,
title: "Personalized Service",
description: "We are here to help via WhatsApp.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/clothing-store-with-blurred-efecto_23-2148164707.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesImageBento
tag="Our Collections"
title="Curated for You"
description="From daily essentials to special occasions, find your perfect piece."
items={[
{
title: "Dresses",
description: "Flowy, flattering, and effortless.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-different-clothes-hangers_23-2148238075.jpg",
},
{
title: "Blouses",
description: "Versatile tops for every mood.",
imageSrc: "http://img.b2bpic.net/free-photo/adorable-charming-woman-with-beam-head-with-red-lips-wearing-white-shirt-is-looking-down-smiling-isolated-beige-background_291650-2045.jpg",
},
{
title: "Sets",
description: "Perfectly matched comfort.",
imageSrc: "http://img.b2bpic.net/free-photo/outline-illustration-different-types-trees_1258-289370.jpg",
},
{
title: "Jackets",
description: "Layering made stylish.",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-woman-posing-winter-autumn-fashion-trend-puffer-coat-hat-beret-against-orange-wall-street_285396-6886.jpg",
},
{
title: "Casual Wear",
description: "Everyday comfort.",
imageSrc: "http://img.b2bpic.net/free-photo/concentrated-young-loving-couples_171337-12562.jpg",
},
{
title: "New Arrivals",
description: "Stay current.",
imageSrc: "http://img.b2bpic.net/free-photo/low-angle-young-girls-checking-clothes-store_23-2148312219.jpg",
},
{
title: "All Items",
description: "Explore the full shop.",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-blonde-woman-blue-light_23-2149478936.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Why Choose Mocihna"
title="Designed for Real Life"
description="Quality meets comfort in every stitch."
metrics={[
{
icon: Maximize,
title: "Size Range",
value: "SXL",
},
{
icon: Smile,
title: "Happy Women",
value: "5000+",
},
{
icon: Award,
title: "Fabric Quality",
value: "Premium",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="size-guide" data-section="size-guide">
<SectionErrorBoundary name="size-guide">
<FeaturesMediaCarousel
tag="Size Guide"
title="Find Your Perfect Fit"
description="Our sizing is crafted for diverse body shapes and inclusive comfort."
items={[
{
title: "Small (S)",
description: "Designed for a relaxed yet flattering fit.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/satisfied-female-customer-choosing-party-dress-applying-cloth-with-hanger-smiling-medium-shot-fashion-store-consumerism-concept_74855-11949.jpg",
},
{
title: "Medium (M)",
description: "Perfect balance of comfort and style.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-pink-coat-standing-street_1303-31184.jpg",
},
{
title: "Large (L)",
description: "Confidence in every curve.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-say-no-fast-fashion_23-2149669568.jpg",
},
{
title: "Extra Large (XL)",
description: "Maximum comfort without compromising chic.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-blue-jacket-outside-park_1303-20118.jpg",
},
{
title: "Fit Tips",
description: "Measurements for your best look.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/spring-wardrobe-switch-flat-lay_23-2150264149.jpg",
},
{
title: "Support",
description: "Chat with us for sizing help.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/middle-eastern-client-wheelchair-examining-clothes-racks-retail-store_482257-118334.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<SizeGuideSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="What Women Say"
title="Stories of Confidence"
description="Hear from women who have found their new wardrobe staples at Mocihna."
testimonials={[
{
name: "Sarah Jenkins",
role: "Mother of two",
company: "Satisfied Customer",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-brunette-woman-model-pink-costume-with-no-makeup-isolated-gray_158538-12802.jpg",
},
{
name: "Elena Martinez",
role: "Business Owner",
company: "Satisfied Customer",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-young-smiling-photographer-girl-taking-photos-using-her-retro-camera_158538-1377.jpg",
},
{
name: "Karen O'Connor",
role: "Teacher",
company: "Satisfied Customer",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-drag-queen-indoors_23-2149556820.jpg",
},
{
name: "Lisa Wang",
role: "Marketing Pro",
company: "Satisfied Customer",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-surprised-darkskinned-man-orange-jacket-sunglasses-white-tshirt-shrugs-smiles-charming-guy-sits-stairs-outside_197531-28813.jpg",
},
{
name: "Diane Reed",
role: "Entrepreneur",
company: "Satisfied Customer",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/enjoying-their-lunch-car-young-woman-eats-fried-potatoes-dips-sauce-s_1321-2346.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Customer Support"
title="Common Questions"
description="Everything you need to know about shopping with Mocihna."
items={[
{
question: "What is your shipping policy?",
answer: "We ship worldwide. Standard delivery takes 3-7 business days.",
},
{
question: "Can I return items?",
answer: "Yes, we offer hassle-free returns within 30 days of purchase.",
},
{
question: "How do I choose the right size?",
answer: "Our inclusive S-XL sizing is designed for everyday comfort—see our size chart for details.",
},
{
question: "How can I contact support?",
answer: "Click the WhatsApp button on our site for personalized service!",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/spring-wardrobe-switch-still-life_23-2150176662.jpg"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Contact Us"
text="Need help finding the right style? We are here for you."
primaryButton={{
text: "Chat on WhatsApp",
href: "https://wa.me/yournumber",
}}
secondaryButton={{
text: "Email Support",
href: "mailto:hello@mocihna.com",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

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 "about" section.
import React from 'react';
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import { Award, CheckCircle, Heart, Maximize, Smile, Sparkles } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Nuestra Filosofía"
title="Creemos que la moda debe adaptarse a ti"
description="Mocinha Perú crea prendas que combinan comodidad, estilo y confianza para mujeres de todas las siluetas. Porque mereces sentirte hermosa todos los días."
items={[{"title":"Diseño Inclusivo","icon":"Heart","description":"Prendas pensadas para favorecer diferentes tipos de cuerpo en tallas S, M, L y XL."},{"title":"Estilo y Comodidad","description":"Materiales ligeros y suaves que te acompañan en tu día a día sin perder la elegancia.","icon":"Sparkles"},{"title":"Confianza Total","icon":"CheckCircle","description":"Siéntete segura y hermosa en cualquier ocasión con prendas que se adaptan a ti."}]}
imageSrc="http://img.b2bpic.net/free-photo/clothing-store-with-blurred-efecto_23-2148164707.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Contáctanos"
text="¿Lista para encontrar tu próximo outfit favorito?"
primaryButton={{"href":"https://wa.me/123456789","text":"Escríbenos por WhatsApp"}}
secondaryButton={{"href":"mailto:hola@mocinhaperu.com","text":"Enviar un Correo"}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,22 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Soporte al Cliente"
title="Preguntas Frecuentes"
description="Todo lo que necesitas saber sobre comprar en Mocinha Perú."
items={[{"question":"¿Cuáles son los métodos de envío?","answer":"Realizamos envíos a todo el Perú. El tiempo de entrega varía según tu ubicación."},{"question":"¿Cómo sé cuál es mi talla ideal?","answer":"Contamos con una guía de tallas detallada. Si tienes dudas, escríbenos por WhatsApp y te asesoramos."},{"answer":"Sí, aceptamos cambios dentro de los primeros 7 días de recibida la prenda, siempre que esté en perfectas condiciones.","question":"¿Aceptan cambios o devoluciones?"},{"answer":"Aceptamos transferencias, Yape, Plin y tarjetas de crédito/débito.","question":"¿Qué métodos de pago aceptan?"}]}
imageSrc="http://img.b2bpic.net/free-photo/spring-wardrobe-switch-still-life_23-2150176662.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 "hero" section.
import React from 'react';
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroTiltedCards
tag="Mocinha Perú"
title="Moda para mujeres reales"
description="Prendas cómodas, modernas y favorecedoras diseñadas para resaltar tu belleza todos los días."
primaryButton={{"href":"#products","text":"Ver Colección"}}
secondaryButton={{"href":"https://wa.me/123456789","text":"Comprar por WhatsApp"}}
items={[{"imageSrc":"https://images.unsplash.com/photo-1572804013309-59a88b7e92f1?q=80&w=1000&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1551803091-e20673f15770?q=80&w=1000&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1611042553365-9b101441c135?q=80&w=1000&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1595777457583-95e059d581b8?q=80&w=1000&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1581044777550-4cfa60707c03?q=80&w=1000&auto=format&fit=crop"}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,22 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import { Award, CheckCircle, Heart, Maximize, Smile, Sparkles } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Por qué elegirnos"
title="Diseñado para la vida real"
description="Calidad, comodidad y atención en cada detalle."
metrics={[{"value":"S-XL","icon":"Maximize","title":"Tallas Inclusivas"},{"icon":"Heart","value":"Ligeras","title":"Telas Cómodas"},{"value":"Personalizada","icon":"Smile","title":"Atención"},{"title":"Envíos","value":"Todo el Perú","icon":"CheckCircle"}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "products" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesImageBento
tag="Colecciones Destacadas"
title="Encuentra tu estilo ideal"
description="Explora nuestras categorías diseñadas para brindarte comodidad y elegancia."
items={[{"description":"Fluidos, favorecedores y sin esfuerzo.","imageSrc":"https://images.unsplash.com/photo-1595777457583-95e059d581b8?q=80&w=1000&auto=format&fit=crop","title":"Vestidos"},{"imageSrc":"https://images.unsplash.com/photo-1485231183945-fffde7cc051e?q=80&w=1000&auto=format&fit=crop","title":"Enterizos","description":"Elegancia y comodidad en una sola pieza."},{"imageSrc":"https://images.unsplash.com/photo-1551803091-e20673f15770?q=80&w=1000&auto=format&fit=crop","title":"Conjuntos","description":"Comodidad perfectamente combinada."},{"description":"Tops versátiles para cada ocasión.","imageSrc":"https://images.unsplash.com/photo-1564257631407-4deec1f66ebb?q=80&w=1000&auto=format&fit=crop","title":"Blusas"},{"imageSrc":"https://images.unsplash.com/photo-1611042553365-9b101441c135?q=80&w=1000&auto=format&fit=crop","title":"Moda Casual","description":"Comodidad y estilo para todos los días."}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "size-guide" section.
import React from 'react';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function SizeGuideSection(): React.JSX.Element {
return (
<div id="size-guide" data-section="size-guide">
<SectionErrorBoundary name="size-guide">
<FeaturesMediaCarousel
tag="Guía de Tallas"
title="Encuentra tu ajuste perfecto"
description="Nuestras tallas están diseñadas para adaptarse a diferentes siluetas y brindar comodidad inclusiva."
items={[{"description":"Diseñado para un ajuste relajado pero favorecedor.","buttonIcon":"ArrowRight","title":"Talla S (Small)","imageSrc":"https://images.unsplash.com/photo-1572804013309-59a88b7e92f1?q=80&w=1000&auto=format&fit=crop"},{"buttonIcon":"ArrowRight","title":"Talla M (Medium)","imageSrc":"https://images.unsplash.com/photo-1551803091-e20673f15770?q=80&w=1000&auto=format&fit=crop","description":"El equilibrio perfecto entre comodidad y estilo."},{"description":"Confianza en cada curva.","imageSrc":"https://images.unsplash.com/photo-1611042553365-9b101441c135?q=80&w=1000&auto=format&fit=crop","buttonIcon":"ArrowRight","title":"Talla L (Large)"},{"buttonIcon":"ArrowRight","title":"Talla XL (Extra Large)","imageSrc":"https://images.unsplash.com/photo-1595777457583-95e059d581b8?q=80&w=1000&auto=format&fit=crop","description":"Máxima comodidad sin comprometer la elegancia."}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// 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 TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Lo que dicen de nosotras"
title="Historias de Confianza"
description="Descubre cómo nuestras prendas hacen sentir a mujeres reales todos los días."
testimonials={[{"imageSrc":"https://images.unsplash.com/photo-1581044777550-4cfa60707c03?q=80&w=1000&auto=format&fit=crop","role":"Madre y Profesional","company":"Cliente Feliz","rating":5,"name":"María Fernanda"},{"imageSrc":"https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?q=80&w=1000&auto=format&fit=crop","role":"Emprendedora","company":"Cliente Feliz","name":"Lucía Gómez","rating":5},{"imageSrc":"https://images.unsplash.com/photo-1508214751196-bfdd4ca4ccaa?q=80&w=1000&auto=format&fit=crop","role":"Docente","company":"Cliente Feliz","name":"Carmen Rosa","rating":5}]}
/>
</SectionErrorBoundary>
</div>
);
}