Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 87b44b273c | |||
| efd07e9452 | |||
| ee45126cbf | |||
| a53ed73edb | |||
| ef5c9448c6 | |||
| e908707be8 | |||
| 0c87ace993 | |||
| 984d898d0b | |||
| 3f09de49b4 | |||
| 308cfbfc7d | |||
| 2ce7a4f20c | |||
| ed7ce35834 |
@@ -11,6 +11,7 @@ import { Archivo } from "next/font/google";
|
|||||||
import { Raleway } from "next/font/google";
|
import { Raleway } from "next/font/google";
|
||||||
import { Nunito_Sans } from "next/font/google";
|
import { Nunito_Sans } from "next/font/google";
|
||||||
import { Nunito } from "next/font/google";
|
import { Nunito } from "next/font/google";
|
||||||
|
import { Mulish } from "next/font/google";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -28,8 +29,13 @@ export const metadata: Metadata = {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
const nunito = Nunito({
|
|
||||||
variable: "--font-nunito",
|
const mulish = Mulish({
|
||||||
|
variable: "--font-mulish",
|
||||||
|
subsets: ["latin"],
|
||||||
|
});
|
||||||
|
const inter = Inter({
|
||||||
|
variable: "--font-inter",
|
||||||
subsets: ["latin"],
|
subsets: ["latin"],
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -41,7 +47,7 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${nunito.variable} antialiased`}>
|
<body className={`${mulish.variable} ${inter.variable} antialiased`}>
|
||||||
<Tag />
|
<Tag />
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
|
|||||||
223
src/app/page.tsx
223
src/app/page.tsx
@@ -4,11 +4,12 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
|||||||
import ReactLenis from "lenis/react";
|
import ReactLenis from "lenis/react";
|
||||||
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
||||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
import HeroSplit from '@/components/sections/hero/HeroSplit';
|
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||||
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
||||||
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
|
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
|
||||||
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
|
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
|
||||||
|
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -29,87 +30,41 @@ export default function LandingPage() {
|
|||||||
<NavbarStyleApple
|
<NavbarStyleApple
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{
|
||||||
name: "Home",
|
name: "Home", id: "home"},
|
||||||
id: "home",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "About",
|
name: "About", id: "about"},
|
||||||
id: "about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Portfolio",
|
name: "Portfolio", id: "portfolio"},
|
||||||
id: "portfolio",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Contact",
|
name: "Contact", id: "contact"},
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="Left Coast"
|
brandName="Left Coast"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="home" data-section="home">
|
<div id="home" data-section="home">
|
||||||
<HeroSplit
|
<HeroBillboard
|
||||||
background={{
|
background={{
|
||||||
variant: "plain",
|
variant: "plain"}}
|
||||||
}}
|
|
||||||
title="Elevating Spaces, Redefining Comfort."
|
title="Elevating Spaces, Redefining Comfort."
|
||||||
description="At Left Coast Design Studio, we transform houses into sanctuaries. Our signature aesthetic blends organic materials with modern precision to reflect the spirit of the West Coast."
|
description="At Left Coast Design Studio, we transform houses into sanctuaries. Our signature aesthetic blends organic materials with modern precision to reflect the spirit of the West Coast."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "View Portfolio",
|
text: "View Portfolio", href: "#portfolio"},
|
||||||
href: "#portfolio",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/modern-living-room-with-artificial-flowers-vase-home-decor-items-wooden-light-table_169016-3986.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/modern-living-room-with-artificial-flowers-vase-home-decor-items-wooden-light-table_169016-3986.jpg"
|
||||||
imageAlt="Luxury home interior living space"
|
imageAlt="Luxury home interior living space"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
avatars={[
|
/>
|
||||||
{
|
</div>
|
||||||
src: "http://img.b2bpic.net/free-photo/stylish-woman-wearing-yellow-bandana_273609-13337.jpg",
|
|
||||||
alt: "Stylish woman wearing yellow bandana",
|
<div id="socialProof" data-section="socialProof">
|
||||||
},
|
<SocialProofOne
|
||||||
{
|
title="Trusted by Design Enthusiasts"
|
||||||
src: "http://img.b2bpic.net/free-photo/beautiful-young-african-american-woman-smiling-cheerful-friendly-face-laughing-confident_839833-29956.jpg",
|
description="We collaborate with visionary brands and homeowners who share our passion for thoughtful, organic design."
|
||||||
alt: "Beautiful young african american woman smiling cheerful friendly face laughing confident",
|
names={["ArchDigest", "Dwell", "Architectural Record", "Western Living", "Modern Home", "Design Milk"]}
|
||||||
},
|
textboxLayout="default"
|
||||||
{
|
useInvertedBackground={false}
|
||||||
src: "http://img.b2bpic.net/free-photo/stylish-woman-wearing-yellow-bandana_273609-13336.jpg",
|
|
||||||
alt: "Stylish woman wearing yellow bandana",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "http://img.b2bpic.net/free-photo/modern-young-caucasian-brunette-woman-white-shirt-looks-camera-holds-smartphone-sitting-table-with-coffee_197531-33244.jpg",
|
|
||||||
alt: "Modern young caucasian brunette woman in white shirt looks at camera and holds smartphone sitting at table with coffee",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "http://img.b2bpic.net/free-photo/portrait-handsome-happy-man-cafe-listens-music-wireless-earphones-holding-smartphone_1258-314175.jpg",
|
|
||||||
alt: "Portrait of handsome happy man in cafe listens to music in wireless earphones holding smartphone",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
avatarText="Join 500+ satisfied clients"
|
|
||||||
marqueeItems={[
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Modern Minimalism",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Coastal Elegance",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Timeless Design",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Organic Materials",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Purposeful Living",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -118,9 +73,7 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
title="The Art of Living Well"
|
title="The Art of Living Well"
|
||||||
description={[
|
description={[
|
||||||
"Our philosophy is rooted in the belief that great design should feel as effortless as a coastal sunset. We focus on natural textures, soft palettes, and purposeful light to craft timeless interiors.",
|
"Our philosophy is rooted in the belief that great design should feel as effortless as a coastal sunset. We focus on natural textures, soft palettes, and purposeful light to craft timeless interiors.", "We treat every project as a unique collaboration, translating your personal vision into an environment that nurtures and inspires."]}
|
||||||
"We treat every project as a unique collaboration, translating your personal vision into an environment that nurtures and inspires.",
|
|
||||||
]}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -132,59 +85,23 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", brand: "Bedroom", name: "Coastal Haven Suite", price: "Custom Project", rating: 5,
|
||||||
brand: "Bedroom",
|
reviewCount: "10", imageSrc: "http://img.b2bpic.net/free-photo/lamp-bedroom_1203-3404.jpg"},
|
||||||
name: "Coastal Haven Suite",
|
|
||||||
price: "Custom Project",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "10",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/lamp-bedroom_1203-3404.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", brand: "Kitchen", name: "Modern Marble Kitchen", price: "Custom Project", rating: 5,
|
||||||
brand: "Kitchen",
|
reviewCount: "8", imageSrc: "http://img.b2bpic.net/free-photo/pile-fresh-tangerine-mixed-table_114579-46712.jpg"},
|
||||||
name: "Modern Marble Kitchen",
|
|
||||||
price: "Custom Project",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "8",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/pile-fresh-tangerine-mixed-table_114579-46712.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3", brand: "Bathroom", name: "Serene Spa Bath", price: "Custom Project", rating: 5,
|
||||||
brand: "Bathroom",
|
reviewCount: "5", imageSrc: "http://img.b2bpic.net/free-photo/bathroom-decorated-with-brazilian-folklore-design_23-2150794049.jpg"},
|
||||||
name: "Serene Spa Bath",
|
|
||||||
price: "Custom Project",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "5",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/bathroom-decorated-with-brazilian-folklore-design_23-2150794049.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "4",
|
id: "4", brand: "Dining", name: "Sunset Dining Room", price: "Custom Project", rating: 5,
|
||||||
brand: "Dining",
|
reviewCount: "7", imageSrc: "http://img.b2bpic.net/free-photo/festive-table-setting-home-with-scandinavian-decorative-details-close-up_169016-10948.jpg"},
|
||||||
name: "Sunset Dining Room",
|
|
||||||
price: "Custom Project",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "7",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/festive-table-setting-home-with-scandinavian-decorative-details-close-up_169016-10948.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "5",
|
id: "5", brand: "Living", name: "Organic Living Area", price: "Custom Project", rating: 5,
|
||||||
brand: "Living",
|
reviewCount: "12", imageSrc: "http://img.b2bpic.net/free-photo/room-interior-design_23-2148899458.jpg"},
|
||||||
name: "Organic Living Area",
|
|
||||||
price: "Custom Project",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "12",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/room-interior-design_23-2148899458.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "6",
|
id: "6", brand: "Entryway", name: "Modern Foyer Gallery", price: "Custom Project", rating: 5,
|
||||||
brand: "Entryway",
|
reviewCount: "4", imageSrc: "http://img.b2bpic.net/free-photo/woman-doing-daily-activities-minimal-decorated-room_23-2150407584.jpg"},
|
||||||
name: "Modern Foyer Gallery",
|
|
||||||
price: "Custom Project",
|
|
||||||
rating: 5,
|
|
||||||
reviewCount: "4",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-doing-daily-activities-minimal-decorated-room_23-2150407584.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Selected Works"
|
title="Selected Works"
|
||||||
description="A curated glimpse into our recent interior transformations."
|
description="A curated glimpse into our recent interior transformations."
|
||||||
@@ -197,45 +114,15 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", title: "Transformative", quote: "The team at Left Coast Design Studio turned our outdated bungalow into a masterpiece of modern serenity.", name: "Sarah Miller", role: "Homeowner", imageSrc: "http://img.b2bpic.net/free-photo/person-drinking-coffee-spacious-cafeteria_23-2150424005.jpg"},
|
||||||
title: "Transformative",
|
|
||||||
quote: "The team at Left Coast Design Studio turned our outdated bungalow into a masterpiece of modern serenity.",
|
|
||||||
name: "Sarah Miller",
|
|
||||||
role: "Homeowner",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/person-drinking-coffee-spacious-cafeteria_23-2150424005.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", title: "Incredible", quote: "They truly listened to our lifestyle needs. Every room feels both functional and incredibly luxurious.", name: "James Chen", role: "Homeowner", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-smiley-woman-sitting-chair_23-2149410393.jpg"},
|
||||||
title: "Incredible",
|
|
||||||
quote: "They truly listened to our lifestyle needs. Every room feels both functional and incredibly luxurious.",
|
|
||||||
name: "James Chen",
|
|
||||||
role: "Homeowner",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-smiley-woman-sitting-chair_23-2149410393.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3", title: "Professional", quote: "I've never worked with designers so attuned to natural light and texture. Exceeded all our expectations.", name: "Elena Rodriguez", role: "Architect", imageSrc: "http://img.b2bpic.net/free-photo/close-u-pon-couple-home-sharing-tender-moments_23-2149105982.jpg"},
|
||||||
title: "Professional",
|
|
||||||
quote: "I've never worked with designers so attuned to natural light and texture. Exceeded all our expectations.",
|
|
||||||
name: "Elena Rodriguez",
|
|
||||||
role: "Architect",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-u-pon-couple-home-sharing-tender-moments_23-2149105982.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "4",
|
id: "4", title: "Exceptional", quote: "The entire process was stress-free and the outcome is beyond beautiful. We are so happy.", name: "David Thorne", role: "Homeowner", imageSrc: "http://img.b2bpic.net/free-photo/view-woman-decorating-her-home-with-orchid-flower_23-2151074444.jpg"},
|
||||||
title: "Exceptional",
|
|
||||||
quote: "The entire process was stress-free and the outcome is beyond beautiful. We are so happy.",
|
|
||||||
name: "David Thorne",
|
|
||||||
role: "Homeowner",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/view-woman-decorating-her-home-with-orchid-flower_23-2151074444.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "5",
|
id: "5", title: "Stunning", quote: "Attention to detail is unmatched. Our home feels entirely brand new, yet completely aligned with our identity.", name: "Maria Lopez", role: "Executive", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-female-friends-watching-discussing-media-content_1262-18392.jpg"},
|
||||||
title: "Stunning",
|
|
||||||
quote: "Attention to detail is unmatched. Our home feels entirely brand new, yet completely aligned with our identity.",
|
|
||||||
name: "Maria Lopez",
|
|
||||||
role: "Executive",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-female-friends-watching-discussing-media-content_1262-18392.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Client Stories"
|
title="Client Stories"
|
||||||
description="Hear from the wonderful people who have welcomed us into their homes."
|
description="Hear from the wonderful people who have welcomed us into their homes."
|
||||||
@@ -246,8 +133,7 @@ export default function LandingPage() {
|
|||||||
<ContactCenter
|
<ContactCenter
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{
|
||||||
variant: "plain",
|
variant: "plain"}}
|
||||||
}}
|
|
||||||
tag="Inquiry"
|
tag="Inquiry"
|
||||||
title="Start Your Journey"
|
title="Start Your Journey"
|
||||||
description="Ready to design your sanctuary? Send us a message and let's begin the conversation."
|
description="Ready to design your sanctuary? Send us a message and let's begin the conversation."
|
||||||
@@ -258,42 +144,27 @@ export default function LandingPage() {
|
|||||||
<FooterBase
|
<FooterBase
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
title: "Company",
|
title: "Company", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "About Us",
|
label: "About Us", href: "#about"},
|
||||||
href: "#about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Portfolio",
|
label: "Portfolio", href: "#portfolio"},
|
||||||
href: "#portfolio",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Services",
|
title: "Services", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "Residential",
|
label: "Residential", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Consultation",
|
label: "Consultation", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Legal",
|
title: "Legal", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "Privacy Policy",
|
label: "Privacy Policy", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Terms of Service",
|
label: "Terms of Service", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ html {
|
|||||||
body {
|
body {
|
||||||
background-color: var(--background);
|
background-color: var(--background);
|
||||||
color: var(--foreground);
|
color: var(--foreground);
|
||||||
font-family: var(--font-nunito), sans-serif;
|
font-family: var(--font-inter), sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
@@ -24,5 +24,5 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-family: var(--font-nunito), sans-serif;
|
font-family: var(--font-mulish), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #f5f4ef;
|
--background: #ffffff;
|
||||||
--card: #dad6cd;
|
--card: #f9f9f9;
|
||||||
--foreground: #dd6f00;
|
--foreground: #000612e6;
|
||||||
--primary-cta: #2a2928;
|
--primary-cta: #15479c;
|
||||||
--primary-cta-text: #f5f4ef;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #ecebea;
|
--secondary-cta: #f9f9f9;
|
||||||
--secondary-cta-text: #2a2928;
|
--secondary-cta-text: #000612e6;
|
||||||
--accent: #ffffff;
|
--accent: #e2e2e2;
|
||||||
--background-accent: #c6b180;
|
--background-accent: #c4c4c4;
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|||||||
Reference in New Issue
Block a user