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 { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactText from '@/components/sections/contact/ContactText'; import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia'; import FaqDouble from '@/components/sections/faq/FaqDouble';
import FeatureCardTwentyThree from '@/components/sections/feature/FeatureCardTwentyThree'; import FeatureCardTwentyThree from '@/components/sections/feature/FeatureCardTwentyThree';
import FooterCard from '@/components/sections/footer/FooterCard'; import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import HeroBillboard from '@/components/sections/hero/HeroBillboard'; import HeroBillboardGallery from '@/components/sections/hero/HeroBillboardGallery';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout'; import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo'; import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
export default function LandingPage() { export default function NoirPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-bubble" defaultButtonVariant="hover-bubble"
defaultTextAnimation="reveal-blur" defaultTextAnimation="reveal-blur"
borderRadius="soft" borderRadius="soft"
contentWidth="smallMedium" contentWidth="medium"
sizing="mediumLargeSizeLargeTitles" sizing="largeSizeMediumTitles"
background="floatingGradient" background="noise"
cardStyle="outline" cardStyle="glass-elevated"
primaryButtonStyle="shadow" primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="semibold" headingFontWeight="semibold"
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleCentered <NavbarLayoutFloatingOverlay
navItems={[ navItems={[
{ name: "Home", id: "#hero" }, { name: "Home", id: "#hero" },
{ name: "Sobre", id: "#about" }, { name: "Sobre", id: "#about" },
{ name: "Vestidos", id: "#products" }, { name: "Serviços", id: "#services" },
{ name: "Críticas", id: "#testimonials" }, { name: "Críticas", id: "#testimonials" },
{ name: "Contactos", id: "#contact" } { name: "Visite-nos", id: "#visit" },
]} { name: "Contacto", id: "#contact" }
brandName="Noir Bridal" ]}
/> brandName="Noir"
</div> />
</div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboard <HeroBillboardGallery
background={{ variant: "gradient-bars" }} title="Noir"
title="A Elegância do Seu Momento Especial" description="O vestido que te define"
description="Descubra a coleção exclusiva de vestidos de noiva na Noir, onde cada detalhe é desenhado para tornar o seu dia inesquecível." background={{ variant: "radial-gradient" }}
buttons={[ mediaItems={[
{ text: "Ver Coleção", href: "#products" }, { imageSrc: "https://images.unsplash.com/photo-1595874609805-4f4d1e2e4f0e?auto=format&fit=crop&q=80&w=1200" },
{ text: "Contactar", href: "#contact" } { 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" }
imageSrc="http://img.b2bpic.net/free-photo/bridesmaid-stands-room_8353-7657.jpg" ]}
avatars={[ mediaAnimation="blur-reveal"
{ src: "http://img.b2bpic.net/free-photo/beautician-styling-clients-hair_107420-94677.jpg", alt: "Beautician styling clients hair" }, buttons={[{ text: "Agendar Visita", href: "#contact" }]}
{ 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" }, </div>
{ 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="about" data-section="about"> <div id="about" data-section="about">
<InlineImageSplitTextAbout <MetricSplitMediaAbout
useInvertedBackground={true} title="Dedicação à Alta Costura"
heading={[ 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."
{ type: "text", content: "Paixão pelo detalhe," }, metrics={[
{ type: "image", src: "http://img.b2bpic.net/free-photo/young-women-enjoying-bachelorette-party_23-2149278417.jpg", alt: "Sobre a Noir" }, { value: "10+", title: "Anos de Experiência" },
{ type: "text", content: "Excelência em cada costura." } { value: "500+", title: "Noivas Felizes" }
]} ]}
/> imageSrc="https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?auto=format&fit=crop&q=80&w=800"
</div> useInvertedBackground={true}
/>
</div>
<div id="features" data-section="features"> <div id="services" data-section="features">
<FeatureCardTwentyThree <FeatureCardTwentyThree
animationType="slide-up" title="Os Nossos Serviços"
textboxLayout="split" description="Serviços exclusivos para garantir a perfeição em cada detalhe do seu vestido."
useInvertedBackground={false} animationType="blur-reveal"
features={[ textboxLayout="split"
{ 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" }, useInvertedBackground={false}
{ id: "f2", title: "Coleções Exclusivas", tags: ["Luxo", "Noiva"], imageSrc: "http://img.b2bpic.net/free-photo/sophisticated-tea-party-assortment_23-2149045913.jpg" }, features={[
{ 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" } { 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" },
title="O Nosso Diferencial" { id: "s3", title: "Alterations", tags: ["Bespoke", "Fit"], imageSrc: "https://images.unsplash.com/photo-1558237952-b88d37446e16?auto=format&fit=crop&q=80&w=600" }
description="Oferecemos um serviço personalizado para garantir que encontra o vestido que sempre sonhou." ]}
/> />
</div> </div>
<div id="products" data-section="products"> <div id="testimonials" data-section="testimonials">
<ProductCardTwo <TestimonialCardSix
animationType="slide-up" title="Noivas Noir"
textboxLayout="split" description="Experiências inesquecíveis das nossas noivas."
gridVariant="three-columns-all-equal-width" animationType="blur-reveal"
useInvertedBackground={true} textboxLayout="split"
products={[ useInvertedBackground={true}
{ 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" }, testimonials={[
{ 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: "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: "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: "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: "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: "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" }
{ 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" } />
]} </div>
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"> <div id="visit" data-section="faq">
<TestimonialCardThirteen <FaqDouble
textboxLayout="split" title="Visite-nos em Funchal"
animationType="slide-up" description="Noir Boutique. Estamos à sua espera."
useInvertedBackground={false} faqs={[
testimonials={[ { id: "a1", title: "Morada", content: "Rua 31 de Janeiro, 123, Funchal, Madeira" },
{ 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: "a2", title: "Telefone", content: "+351 291 123 456" },
{ 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: "a3", title: "Horário", content: "Seg-Sáb: 10:00 - 19:00" }
{ 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" }, faqsAnimation="blur-reveal"
{ 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" } textboxLayout="split"
]} useInvertedBackground={false}
showRating={true} />
title="O Que Dizem as Nossas Noivas" </div>
description="Experiências inesquecíveis partilhadas pelas noivas que escolheram a Noir."
/>
</div>
<div id="faq" data-section="faq"> <div id="contact" data-section="contact">
<FaqSplitMedia <ContactSplitForm
textboxLayout="split" title="Agende a sua visita"
useInvertedBackground={true} description="Reserve um momento exclusivo para experimentar a coleção Noir."
faqs={[ useInvertedBackground={true}
{ id: "q1", title: "É necessário agendar visita?", content: "Sim, recomendamos o agendamento de uma visita para garantir um atendimento personalizado." }, inputs={[
{ id: "q2", title: "Quanto tempo demoram os ajustes?", content: "Os ajustes dependem da complexidade, geralmente entre 2 a 4 semanas." }, { name: "name", type: "text", placeholder: "O seu nome" },
{ id: "q3", title: "Realizam entregas?", content: "Sim, realizamos entregas ao domicílio para maior conveniência." } { name: "email", type: "email", placeholder: "Email" }
]} ]}
mediaAnimation="slide-up" textarea={{ name: "message", placeholder: "Conte-nos um pouco sobre o seu dia", rows: 4 }}
title="Perguntas Frequentes" buttonText="Agendar"
description="Esclareça as suas dúvidas antes de nos visitar." />
faqsAnimation="slide-up" </div>
imageSrc="http://img.b2bpic.net/free-photo/young-women-enjoying-bachelorette-party_23-2149278417.jpg"
/>
</div>
<div id="contact" data-section="contact"> <div id="footer" data-section="footer">
<ContactText <FooterBaseCard
useInvertedBackground={false} logoText="Noir"
background={{ variant: "sparkles-gradient" }} columns={[
text="Estamos prontos para ajudar a realizar o seu sonho. Visite-nos na Rua 31 de Janeiro ou entre em contacto conosco." { title: "Noir", items: [{ label: "Home", href: "#" }] }
buttons={[ ]}
{ text: "Ligar: 967 088 444", href: "tel:967088444" } copyrightText="© 2025 Noir Funchal"
]} />
/> </div>
</div>
<div id="footer" data-section="footer">
<FooterCard
logoText="Noir"
copyrightText="© 2025 Noir Bridal | Todos os direitos reservados."
/>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

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