Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b44ae96b76 | |||
| d6471ab8cc | |||
| 60fb65c679 | |||
| 26f514ca98 | |||
| d40cf2bd2f |
@@ -4,7 +4,6 @@ import { Inter } from "next/font/google";
|
|||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import "@/lib/gsap-setup";
|
import "@/lib/gsap-setup";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||||
import { Open_Sans } from "next/font/google";
|
import { Open_Sans } from "next/font/google";
|
||||||
|
|
||||||
@@ -37,7 +36,7 @@ export default function RootLayout({
|
|||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${inter.variable} ${openSans.variable} antialiased`}>
|
<body className={`${inter.variable} ${openSans.variable} antialiased`}>
|
||||||
<Tag />
|
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
|
|||||||
196
src/app/page.tsx
196
src/app/page.tsx
@@ -30,17 +30,11 @@ export default function LandingPage() {
|
|||||||
<NavbarStyleApple
|
<NavbarStyleApple
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{
|
||||||
name: "Home",
|
name: "Home", id: "/"},
|
||||||
id: "/",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "About",
|
name: "About", id: "/about"},
|
||||||
id: "/about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Workshops",
|
name: "Workshops", id: "/workshops"},
|
||||||
id: "/workshops",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="Lille Viol"
|
brandName="Lille Viol"
|
||||||
/>
|
/>
|
||||||
@@ -49,108 +43,58 @@ export default function LandingPage() {
|
|||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroSplitTestimonial
|
<HeroSplitTestimonial
|
||||||
background={{
|
background={{
|
||||||
variant: "plain",
|
variant: "plain"}}
|
||||||
}}
|
|
||||||
title="A Hidden Gem by the Sea"
|
title="A Hidden Gem by the Sea"
|
||||||
description="Flowers, handmade treasures, and quiet moments with tea and cake."
|
description="Flowers, handmade treasures, and quiet moments with tea and cake."
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
name: "Sarah J.",
|
name: "Sarah J.", handle: "@sarah", testimonial: "A hidden gem – everything is so lovely and detailed.", rating: 5,
|
||||||
handle: "@sarah",
|
imageSrc: "http://img.b2bpic.net/free-photo/sweet-surprise-mothers-day_23-2148473888.jpg?_wi=1", imageAlt: "cozy boutique interior flowers ceramics"},
|
||||||
testimonial: "A hidden gem – everything is so lovely and detailed.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/sweet-surprise-mothers-day_23-2148473888.jpg?_wi=1",
|
|
||||||
imageAlt: "cozy boutique interior flowers ceramics",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Mark D.",
|
name: "Mark D.", handle: "@mark", testimonial: "The owner is very friendly and always up for a chat.", rating: 5,
|
||||||
handle: "@mark",
|
imageSrc: "http://img.b2bpic.net/free-photo/woman-looking-different-goodies-local-producer_23-2149110831.jpg?_wi=1", imageAlt: "handcrafted objects boutique display"},
|
||||||
testimonial: "The owner is very friendly and always up for a chat.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-looking-different-goodies-local-producer_23-2149110831.jpg?_wi=1",
|
|
||||||
imageAlt: "handcrafted objects boutique display",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Emily R.",
|
name: "Emily R.", handle: "@emily", testimonial: "Perfect place to stop for tea and cake.", rating: 5,
|
||||||
handle: "@emily",
|
imageSrc: "http://img.b2bpic.net/free-photo/minimal-floral-arrangement-red-surface_58702-17411.jpg", imageAlt: "fresh seasonal flower bouquet"},
|
||||||
testimonial: "Perfect place to stop for tea and cake.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/minimal-floral-arrangement-red-surface_58702-17411.jpg",
|
|
||||||
imageAlt: "fresh seasonal flower bouquet",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Julia P.",
|
name: "Julia P.", handle: "@julia", testimonial: "A beautiful, calm place to spend an afternoon.", rating: 5,
|
||||||
handle: "@julia",
|
imageSrc: "http://img.b2bpic.net/free-photo/female-craftswoman-painting-bowl-holding-with-tong_23-2148155155.jpg", imageAlt: "handmade pottery ceramics shop"},
|
||||||
testimonial: "A beautiful, calm place to spend an afternoon.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/female-craftswoman-painting-bowl-holding-with-tong_23-2148155155.jpg",
|
|
||||||
imageAlt: "handmade pottery ceramics shop",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Tom B.",
|
name: "Tom B.", handle: "@tom", testimonial: "My favorite shop in the entire coastal area.", rating: 5,
|
||||||
handle: "@tom",
|
imageSrc: "http://img.b2bpic.net/free-photo/top-view-from-afar-cup-tea-cup-tea-cookies-cinnamon-lemon-plate-cake-tablecloth_140725-78812.jpg", imageAlt: "tea and cake peaceful shop"},
|
||||||
testimonial: "My favorite shop in the entire coastal area.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-from-afar-cup-tea-cup-tea-cookies-cinnamon-lemon-plate-cake-tablecloth_140725-78812.jpg",
|
|
||||||
imageAlt: "tea and cake peaceful shop",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Visit Lille Viol",
|
text: "Visit Lille Viol", href: "#visit"},
|
||||||
href: "#visit",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
text: "Explore the Experience",
|
text: "Explore the Experience", href: "/about"},
|
||||||
href: "/about",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/sweet-surprise-mothers-day_23-2148473888.jpg?_wi=2"
|
imageSrc="http://img.b2bpic.net/free-photo/sweet-surprise-mothers-day_23-2148473888.jpg?_wi=2"
|
||||||
imageAlt="Lille Viol Boutique interior"
|
imageAlt="Lille Viol Boutique interior"
|
||||||
mediaAnimation="blur-reveal"
|
mediaAnimation="blur-reveal"
|
||||||
avatars={[
|
avatars={[
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/young-caucasian-woman-holding-shopping-bags-make-selfie-by-camera-clothing-store_839833-1916.jpg",
|
src: "http://img.b2bpic.net/free-photo/young-caucasian-woman-holding-shopping-bags-make-selfie-by-camera-clothing-store_839833-1916.jpg", alt: "Sarah"},
|
||||||
alt: "Sarah",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/beautiful-young-girl-pink-jacket-white-t-shirt-standing-boutique-with-sale-clothes-rack-background-portrait-smiling-lady-looking-camera-clothing-store_574295-215.jpg",
|
src: "http://img.b2bpic.net/free-photo/beautiful-young-girl-pink-jacket-white-t-shirt-standing-boutique-with-sale-clothes-rack-background-portrait-smiling-lady-looking-camera-clothing-store_574295-215.jpg", alt: "Mark"},
|
||||||
alt: "Mark",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/woman-showing-bag-surprised-friend_23-2147950283.jpg",
|
src: "http://img.b2bpic.net/free-photo/woman-showing-bag-surprised-friend_23-2147950283.jpg", alt: "Emily"},
|
||||||
alt: "Emily",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/young-woman-with-beautiful-blond-hair-gentle-smile-dressed-green-robe-with-belt-is-working-greenhouse_197531-12320.jpg",
|
src: "http://img.b2bpic.net/free-photo/young-woman-with-beautiful-blond-hair-gentle-smile-dressed-green-robe-with-belt-is-working-greenhouse_197531-12320.jpg", alt: "Julia"},
|
||||||
alt: "Julia",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/beautiful-young-woman-dress-cafe_273609-4264.jpg",
|
src: "http://img.b2bpic.net/free-photo/beautiful-young-woman-dress-cafe_273609-4264.jpg", alt: "Tom"},
|
||||||
alt: "Tom",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
marqueeItems={[
|
marqueeItems={[
|
||||||
{
|
{
|
||||||
type: "text",
|
type: "text", text: "Seasonal Florals"},
|
||||||
text: "Seasonal Florals",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "text",
|
type: "text", text: "Handmade Ceramics"},
|
||||||
text: "Handmade Ceramics",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "text",
|
type: "text", text: "Cozy Tea Room"},
|
||||||
text: "Cozy Tea Room",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "text",
|
type: "text", text: "Unique Artisanal Finds"},
|
||||||
text: "Unique Artisanal Finds",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "text",
|
type: "text", text: "Creative Workshops"},
|
||||||
text: "Creative Workshops",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -162,17 +106,11 @@ export default function LandingPage() {
|
|||||||
description="Lille Viol is a small, carefully curated space where flowers, handmade pieces, and simple pleasures come together. Step inside for a quiet moment, a warm cup of tea, or to discover something truly special."
|
description="Lille Viol is a small, carefully curated space where flowers, handmade pieces, and simple pleasures come together. Step inside for a quiet moment, a warm cup of tea, or to discover something truly special."
|
||||||
metrics={[
|
metrics={[
|
||||||
{
|
{
|
||||||
value: "100%",
|
value: "100%", title: "Handmade"},
|
||||||
title: "Handmade",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
value: "24/7",
|
value: "24/7", title: "Calm Vibes"},
|
||||||
title: "Calm Vibes",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
value: "Local",
|
value: "Local", title: "Sourced"},
|
||||||
title: "Sourced",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/woman-looking-different-goodies-local-producer_23-2149110831.jpg?_wi=2"
|
imageSrc="http://img.b2bpic.net/free-photo/woman-looking-different-goodies-local-producer_23-2149110831.jpg?_wi=2"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
@@ -187,26 +125,11 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
id: "f1",
|
id: "f1", title: "Flowers & Floristry", subtitle: "Seasonal bouquets and natural arrangements", category: "Nature", value: "Fresh"},
|
||||||
title: "Flowers & Floristry",
|
|
||||||
subtitle: "Seasonal bouquets and natural arrangements",
|
|
||||||
category: "Nature",
|
|
||||||
value: "Fresh",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "f2",
|
id: "f2", title: "Handmade & Unique Finds", subtitle: "Thoughtfully selected pieces full of detail and charm", category: "Craft", value: "Rare"},
|
||||||
title: "Handmade & Unique Finds",
|
|
||||||
subtitle: "Thoughtfully selected pieces full of detail and charm",
|
|
||||||
category: "Craft",
|
|
||||||
value: "Rare",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "f3",
|
id: "f3", title: "Tea & Cake", subtitle: "A peaceful pause in beautiful surroundings", category: "Cafe", value: "Cozy"},
|
||||||
title: "Tea & Cake",
|
|
||||||
subtitle: "A peaceful pause in beautiful surroundings",
|
|
||||||
category: "Cafe",
|
|
||||||
value: "Cozy",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="What You'll Find"
|
title="What You'll Find"
|
||||||
description="Thoughtfully curated items for your home and heart."
|
description="Thoughtfully curated items for your home and heart."
|
||||||
@@ -223,29 +146,19 @@ export default function LandingPage() {
|
|||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
icon: Star,
|
icon: Star,
|
||||||
title: "Artisanal Flowers",
|
title: "Artisanal Flowers", description: "Fresh, seasonal blooms arranged with love and natural aesthetics."},
|
||||||
description: "Fresh, seasonal blooms arranged with love and natural aesthetics.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
icon: Coffee,
|
icon: Coffee,
|
||||||
title: "Cozy Tea Corner",
|
title: "Cozy Tea Corner", description: "Relax with a warm cup of tea and a slice of artisanal cake."},
|
||||||
description: "Relax with a warm cup of tea and a slice of artisanal cake.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
icon: Palette,
|
icon: Palette,
|
||||||
title: "Creative Workshops",
|
title: "Creative Workshops", description: "Join our intimate sessions to explore your creative side."},
|
||||||
description: "Join our intimate sessions to explore your creative side.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
icon: ShoppingBag,
|
icon: ShoppingBag,
|
||||||
title: "Handmade Treasures",
|
title: "Handmade Treasures", description: "Shop rare pieces made by local artisans and makers."},
|
||||||
description: "Shop rare pieces made by local artisans and makers.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
icon: Heart,
|
icon: Heart,
|
||||||
title: "Calm Atmosphere",
|
title: "Calm Atmosphere", description: "A peaceful retreat designed to inspire and soothe the mind."},
|
||||||
description: "A peaceful retreat designed to inspire and soothe the mind.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -254,20 +167,15 @@ export default function LandingPage() {
|
|||||||
<ContactCTA
|
<ContactCTA
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{
|
||||||
variant: "plain",
|
variant: "plain"}}
|
||||||
}}
|
|
||||||
tag="Visit Us"
|
tag="Visit Us"
|
||||||
title="Come Visit Lille Viol"
|
title="Come Visit Lille Viol"
|
||||||
description="Tucked away near the coast, Lille Viol is a place to slow down, explore, and feel inspired. Find us open daily from 10:00 to 18:00."
|
description="Tucked away near the coast, Lille Viol is a place to slow down, explore, and feel inspired. Find us open daily from 10:00 to 18:00."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Plan Your Visit",
|
text: "Plan Your Visit", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
text: "Contact Us",
|
text: "Contact Us", href: "/about"},
|
||||||
href: "/about",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -277,33 +185,23 @@ export default function LandingPage() {
|
|||||||
logoText="Lille Viol"
|
logoText="Lille Viol"
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
title: "Shop",
|
title: "Butik", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "Flowers",
|
label: "Blomster", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Workshops",
|
label: "Workshops", href: "/workshops"},
|
||||||
href: "/workshops",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Visit",
|
title: "Besøg", items: [
|
||||||
items: [
|
|
||||||
{
|
{
|
||||||
label: "About",
|
label: "Om os", href: "/about"},
|
||||||
href: "/about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "Contact",
|
label: "Kontakt", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
copyrightText="© 2024 Lille Viol. All rights reserved."
|
copyrightText="© 2024 Lille Viol. Alle rettigheder forbeholdes."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
|
|||||||
Reference in New Issue
Block a user