5 Commits

Author SHA1 Message Date
0af56f774b Update src/app/page.tsx 2026-05-23 21:23:48 +00:00
e61d8bcaa9 Update src/app/page.tsx 2026-05-23 21:23:24 +00:00
e76111620f Update src/app/styles/variables.css 2026-05-23 21:22:57 +00:00
80e5f61d48 Update src/app/page.tsx 2026-05-23 21:22:56 +00:00
4491de538b Merge version_1 into main
Merge version_1 into main
2026-05-23 21:19:56 +00:00
2 changed files with 124 additions and 152 deletions

View File

@@ -2,169 +2,141 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactText from '@/components/sections/contact/ContactText';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FaqDouble from '@/components/sections/faq/FaqDouble';
import FeatureCardTwentyThree from '@/components/sections/feature/FeatureCardTwentyThree';
import FooterCard from '@/components/sections/footer/FooterCard';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import HeroBillboardGallery from '@/components/sections/hero/HeroBillboardGallery';
import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
export default function LandingPage() {
export default function NoirPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="smallMedium"
sizing="mediumLargeSizeLargeTitles"
background="floatingGradient"
cardStyle="outline"
primaryButtonStyle="shadow"
contentWidth="medium"
sizing="largeSizeMediumTitles"
background="noise"
cardStyle="glass-elevated"
primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
{ name: "Home", id: "#hero" },
{ name: "Sobre", id: "#about" },
{ name: "Vestidos", id: "#products" },
{ name: "Críticas", id: "#testimonials" },
{ name: "Contactos", id: "#contact" }
]}
brandName="Noir Bridal"
/>
</div>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "#hero" },
{ name: "Sobre", id: "#about" },
{ name: "Serviços", id: "#services" },
{ name: "Críticas", id: "#testimonials" },
{ name: "Visite-nos", id: "#visit" },
{ name: "Contacto", id: "#contact" }
]}
brandName="Noir"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboard
background={{ variant: "gradient-bars" }}
title="A Elegância do Seu Momento Especial"
description="Descubra a coleção exclusiva de vestidos de noiva na Noir, onde cada detalhe é desenhado para tornar o seu dia inesquecível."
buttons={[
{ text: "Ver Coleção", href: "#products" },
{ text: "Contactar", href: "#contact" }
]}
imageSrc="http://img.b2bpic.net/free-photo/bridesmaid-stands-room_8353-7657.jpg"
avatars={[
{ src: "http://img.b2bpic.net/free-photo/beautician-styling-clients-hair_107420-94677.jpg", alt: "Beautician styling clients hair" },
{ src: "http://img.b2bpic.net/free-photo/women-making-preparations-wedding_23-2149184378.jpg", alt: "Women making preparations for wedding" },
{ src: "http://img.b2bpic.net/free-photo/empty-clothing-store-filled-casual-formal-wear-items-hanging-fashion-store-racks-hangers-full-with-fashionable-clothes-accessories-discount-small-business-commercial-activity_482257-65075.jpg", alt: "Empty clothing store interior" },
{ src: "http://img.b2bpic.net/free-photo/stylish-clothing-boutique-interior_23-2151961902.jpg", alt: "Stylish clothing boutique" },
{ src: "http://img.b2bpic.net/free-photo/bridesmaid-stands-room_8353-7657.jpg", alt: "Elegant bridal gown display" }
]}
marqueeItems={[
{ type: "text", text: "Alta Costura" },
{ type: "text", text: "Exclusividade" },
{ type: "text", text: "Atendimento VIP" },
{ type: "text", text: "Design Único" },
{ type: "text", text: "Luxo Bridal" }
]}
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardGallery
title="Noir"
description="O vestido que te define"
background={{ variant: "radial-gradient" }}
mediaItems={[
{ imageSrc: "https://images.unsplash.com/photo-1595874609805-4f4d1e2e4f0e?auto=format&fit=crop&q=80&w=1200" },
{ imageSrc: "https://images.unsplash.com/photo-1529634519700-b8830733a1e4?auto=format&fit=crop&q=80&w=1200" },
{ imageSrc: "https://images.unsplash.com/photo-1572804013309-59a88b7e92f1?auto=format&fit=crop&q=80&w=1200" }
]}
mediaAnimation="blur-reveal"
buttons={[{ text: "Agendar Visita", href: "#contact" }]}
/>
</div>
<div id="about" data-section="about">
<InlineImageSplitTextAbout
useInvertedBackground={true}
heading={[
{ type: "text", content: "Paixão pelo detalhe," },
{ type: "image", src: "http://img.b2bpic.net/free-photo/young-women-enjoying-bachelorette-party_23-2149278417.jpg", alt: "Sobre a Noir" },
{ type: "text", content: "Excelência em cada costura." }
]}
/>
</div>
<div id="about" data-section="about">
<MetricSplitMediaAbout
title="Dedicação à Alta Costura"
description="Na Noir, em Funchal, acreditamos que cada noiva merece uma experiência inesquecível. Somos especializados em vestidos de noiva de luxo e evening wear, unindo tradição e elegância moderna."
metrics={[
{ value: "10+", title: "Anos de Experiência" },
{ value: "500+", title: "Noivas Felizes" }
]}
imageSrc="https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?auto=format&fit=crop&q=80&w=800"
useInvertedBackground={true}
/>
</div>
<div id="features" data-section="features">
<FeatureCardTwentyThree
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
features={[
{ id: "f1", title: "Ajustes de Precisão", tags: ["Costura", "Customizado"], imageSrc: "http://img.b2bpic.net/free-photo/shop-assistant-helping-female-customer-try-new-dress-woman-choosing-clothes-fashion-store-buying-clothes-boutique-concept_74855-11997.jpg" },
{ id: "f2", title: "Coleções Exclusivas", tags: ["Luxo", "Noiva"], imageSrc: "http://img.b2bpic.net/free-photo/sophisticated-tea-party-assortment_23-2149045913.jpg" },
{ id: "f3", title: "Consultoria Premium", tags: ["Estilo", "Serviço"], imageSrc: "http://img.b2bpic.net/free-photo/happy-friendly-seller-talking-customer-jewelry-store-woman-consulting-shop-assistant-showcase-shopping-service-concept_74855-11796.jpg" }
]}
title="O Nosso Diferencial"
description="Oferecemos um serviço personalizado para garantir que encontra o vestido que sempre sonhou."
/>
</div>
<div id="services" data-section="features">
<FeatureCardTwentyThree
title="Os Nossos Serviços"
description="Serviços exclusivos para garantir a perfeição em cada detalhe do seu vestido."
animationType="blur-reveal"
textboxLayout="split"
useInvertedBackground={false}
features={[
{ id: "s1", title: "Wedding Dresses", tags: ["Bridal", "Luxury"], imageSrc: "https://images.unsplash.com/photo-1524504388940-b1c1726653e1?auto=format&fit=crop&q=80&w=600" },
{ id: "s2", title: "Luxury Women's Fashion", tags: ["Evening", "Style"], imageSrc: "https://images.unsplash.com/photo-1490481651871-ab68de25d43d?auto=format&fit=crop&q=80&w=600" },
{ id: "s3", title: "Alterations", tags: ["Bespoke", "Fit"], imageSrc: "https://images.unsplash.com/photo-1558237952-b88d37446e16?auto=format&fit=crop&q=80&w=600" }
]}
/>
</div>
<div id="products" data-section="products">
<ProductCardTwo
animationType="slide-up"
textboxLayout="split"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={true}
products={[
{ id: "p1", brand: "Noir", name: "Vestido Clássico Lace", price: "Sob consulta", rating: 5, reviewCount: "12", imageSrc: "http://img.b2bpic.net/free-photo/snow-queen-swing-posing_329181-4943.jpg" },
{ id: "p2", brand: "Noir", name: "Vestido Silk Minimalista", price: "Sob consulta", rating: 5, reviewCount: "8", imageSrc: "http://img.b2bpic.net/free-photo/woman-lookin-his-wedding-dress-mirror_1157-188.jpg" },
{ id: "p3", brand: "Noir", name: "Vestido Sparkling Glam", price: "Sob consulta", rating: 5, reviewCount: "15", imageSrc: "http://img.b2bpic.net/free-photo/arrow-with-lettering-beach-hangs-pastel-dresses_8353-783.jpg" },
{ id: "p4", brand: "Noir", name: "Vestido Boho Chic", price: "Sob consulta", rating: 5, reviewCount: "9", imageSrc: "http://img.b2bpic.net/free-photo/gorgeous-bride-standing-near-balcony-looking-big-window_132075-11764.jpg" },
{ id: "p5", brand: "Noir", name: "Vestido Satin Elegance", price: "Sob consulta", rating: 5, reviewCount: "11", imageSrc: "http://img.b2bpic.net/free-photo/young-happy-bride-smiling_624325-830.jpg" },
{ id: "p6", brand: "Noir", name: "Vestido Signature Bridal", price: "Sob consulta", rating: 5, reviewCount: "20", imageSrc: "http://img.b2bpic.net/free-photo/ladies-evening-dress-elegant-women-long-gown_1157-47537.jpg" }
]}
title="Vestidos de Sonho"
description="Explore a nossa curadoria de vestidos de noiva, com modelos variados para cada estilo de noiva."
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardSix
title="Noivas Noir"
description="Experiências inesquecíveis das nossas noivas."
animationType="blur-reveal"
textboxLayout="split"
useInvertedBackground={true}
testimonials={[
{ id: "1", name: "Jesikah W.", handle: "@jesikah", testimonial: "Um serviço verdadeiramente luxuoso e atencioso. Senti-me a noiva mais especial do mundo!", imageSrc: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?auto=format&fit=crop&q=80&w=200" },
{ id: "2", name: "Jane L.", handle: "@janel", testimonial: "A atenção aos detalhes na Noir é incomparável. O meu vestido ficou perfeito.", imageSrc: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&q=80&w=200" },
{ id: "3", name: "Johanna G.", handle: "@johannag", testimonial: "Obrigada por todo o carinho. Encontrar o meu vestido aqui foi a melhor escolha que fiz.", imageSrc: "https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&q=80&w=200" }
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardThirteen
textboxLayout="split"
animationType="slide-up"
useInvertedBackground={false}
testimonials={[
{ id: "t1", name: "Ana Silva", handle: "@anasilva", testimonial: "O serviço é excelente e os vestidos de uma qualidade incomparável. Fizeram o meu dia especial.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/close-up-beautiful-bride-smiling_1153-774.jpg" },
{ id: "t2", name: "Maria Fernandes", handle: "@mariaf", testimonial: "Equipa muito atenciosa e profissional. Ajustes perfeitos, senti-me incrível no meu grande dia.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/front-view-beautiful-bride-indoors_23-2149640909.jpg" },
{ id: "t3", name: "Sofia Costa", handle: "@sofiac", testimonial: "A melhor loja em Funchal para encontrar vestidos exclusivos. Recomendo vivamente a todas as noivas.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-women-enjoying-bachelorette-party_23-2149278400.jpg" },
{ id: "t4", name: "Joana Gomes", handle: "@joanag", testimonial: "Atendimento fantástico e vestidos lindos. Uma experiência memorável do início ao fim.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-happy-bride-white-bathrobe-morning-she-looks-bouquet-flowers-hands-smiling_197531-576.jpg" },
{ id: "t5", name: "Cláudia Santos", handle: "@claudias", testimonial: "Encontrei exatamente o vestido que imaginava. Muito obrigada por toda a dedicação e carinho.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-woman-getting-ready-wedding_23-2149329140.jpg" }
]}
showRating={true}
title="O Que Dizem as Nossas Noivas"
description="Experiências inesquecíveis partilhadas pelas noivas que escolheram a Noir."
/>
</div>
<div id="visit" data-section="faq">
<FaqDouble
title="Visite-nos em Funchal"
description="Noir Boutique. Estamos à sua espera."
faqs={[
{ id: "a1", title: "Morada", content: "Rua 31 de Janeiro, 123, Funchal, Madeira" },
{ id: "a2", title: "Telefone", content: "+351 291 123 456" },
{ id: "a3", title: "Horário", content: "Seg-Sáb: 10:00 - 19:00" }
]}
faqsAnimation="blur-reveal"
textboxLayout="split"
useInvertedBackground={false}
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitMedia
textboxLayout="split"
useInvertedBackground={true}
faqs={[
{ id: "q1", title: "É necessário agendar visita?", content: "Sim, recomendamos o agendamento de uma visita para garantir um atendimento personalizado." },
{ id: "q2", title: "Quanto tempo demoram os ajustes?", content: "Os ajustes dependem da complexidade, geralmente entre 2 a 4 semanas." },
{ id: "q3", title: "Realizam entregas?", content: "Sim, realizamos entregas ao domicílio para maior conveniência." }
]}
mediaAnimation="slide-up"
title="Perguntas Frequentes"
description="Esclareça as suas dúvidas antes de nos visitar."
faqsAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/young-women-enjoying-bachelorette-party_23-2149278417.jpg"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Agende a sua visita"
description="Reserve um momento exclusivo para experimentar a coleção Noir."
useInvertedBackground={true}
inputs={[
{ name: "name", type: "text", placeholder: "O seu nome" },
{ name: "email", type: "email", placeholder: "Email" }
]}
textarea={{ name: "message", placeholder: "Conte-nos um pouco sobre o seu dia", rows: 4 }}
buttonText="Agendar"
/>
</div>
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={false}
background={{ variant: "sparkles-gradient" }}
text="Estamos prontos para ajudar a realizar o seu sonho. Visite-nos na Rua 31 de Janeiro ou entre em contacto conosco."
buttons={[
{ text: "Ligar: 967 088 444", href: "tel:967088444" }
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterCard
logoText="Noir"
copyrightText="© 2025 Noir Bridal | Todos os direitos reservados."
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="Noir"
columns={[
{ title: "Noir", items: [{ label: "Home", href: "#" }] }
]}
copyrightText="© 2025 Noir Funchal"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #fcf6ec;
--card: #f3ede2;
--foreground: #2e2521;
--primary-cta: #2e2521;
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #f5f5f5;
--primary-cta: #ffdf7d;
--primary-cta-text: #fcf6ec;
--secondary-cta: #ffffff;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #2e2521;
--accent: #b2a28b;
--background-accent: #b2a28b;
--accent: #b8860b;
--background-accent: #8b6914;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);