Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 98212d8098 | |||
| 0320e72851 | |||
| c5a751a4fc | |||
| 4e685e1738 | |||
| 4a20e03329 | |||
| 0af56f774b | |||
| 64f18026d7 | |||
| e61d8bcaa9 | |||
| 5920ab8ba1 | |||
| e76111620f | |||
| 80e5f61d48 | |||
| 4491de538b |
256
src/app/page.tsx
256
src/app/page.tsx
@@ -2,168 +2,130 @@
|
||||
|
||||
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"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="semibold"
|
||||
borderRadius="rounded"
|
||||
contentWidth="medium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="none"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="light"
|
||||
>
|
||||
<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: "NOIR", id: "hero" },
|
||||
{ name: "AGENDAR", 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="Pure elegance, defined by silence."
|
||||
background={{ variant: "plain" }}
|
||||
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&_wi=1" }
|
||||
]}
|
||||
mediaAnimation="opacity"
|
||||
buttons={[{ text: "AGENDAR", 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="MANIFESTO"
|
||||
description="Absolute restraint. Funchal's sanctuary for quiet luxury. We believe in the power of simplicity, form, and texture. No excess, no noise. Just the silhouette."
|
||||
metrics={[]}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?auto=format&fit=crop&q=80&w=800"
|
||||
mediaAnimation="opacity"
|
||||
/>
|
||||
</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="COLLECTION"
|
||||
description=""
|
||||
animationType="opacity"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
features={[
|
||||
{ id: "s1", title: "I", tags: [], imageSrc: "https://images.unsplash.com/photo-1524504388940-b1c1726653e1?auto=format&fit=crop&q=80&w=1200" },
|
||||
{ id: "s2", title: "II", tags: [], imageSrc: "https://images.unsplash.com/photo-1490481651871-ab68de25d43d?auto=format&fit=crop&q=80&w=1200" },
|
||||
{ id: "s3", title: "III", tags: [], imageSrc: "https://images.unsplash.com/photo-1558237952-b88d37446e16?auto=format&fit=crop&q=80&w=1200" },
|
||||
{ id: "s4", title: "IV", tags: [], imageSrc: "https://images.unsplash.com/photo-1572804013309-59a88b7e92f1?auto=format&fit=crop&q=80&w=1200&_wi=2" }
|
||||
]}
|
||||
/>
|
||||
</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=""
|
||||
description=""
|
||||
animationType="opacity"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{ id: "1", name: "Anonymous", handle: "", testimonial: "A singular vision of beauty. Silence speaks volumes in their designs.", imageSrc: "" }
|
||||
]}
|
||||
/>
|
||||
</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="EXPERIENCE"
|
||||
description="Three pillars of Noir."
|
||||
faqs={[
|
||||
{ id: "a1", title: "Location", content: "Funchal, Madeira" },
|
||||
{ id: "a2", title: "Philosophy", content: "Quiet Luxury" },
|
||||
{ id: "a3", title: "Service", content: "Private Appointments Only" }
|
||||
]}
|
||||
faqsAnimation="opacity"
|
||||
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="CONSULTATION"
|
||||
description="Appointment only."
|
||||
useInvertedBackground={false}
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Name" },
|
||||
{ name: "email", type: "email", placeholder: "Email" }
|
||||
]}
|
||||
buttonText="SUBMIT"
|
||||
/>
|
||||
</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={[]}
|
||||
copyrightText="© 2025 NOIR"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #fcf6ec;
|
||||
--card: #f3ede2;
|
||||
--foreground: #2e2521;
|
||||
--primary-cta: #2e2521;
|
||||
--background: #000000;
|
||||
--card: #000000;
|
||||
--foreground: #FAFAFA;
|
||||
--primary-cta: #FAFAFA;
|
||||
--primary-cta-text: #fcf6ec;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta: #000000;
|
||||
--secondary-cta-text: #2e2521;
|
||||
--accent: #b2a28b;
|
||||
--background-accent: #b2a28b;
|
||||
--accent: #888888;
|
||||
--background-accent: #1a1a1a;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user