Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d06f62533b | |||
| 30e4ad0bd8 | |||
| c95676c4dd | |||
| 570562e82e | |||
| 2951a7f0c4 | |||
| 3470147d40 | |||
| 57c797ccfa | |||
| d31023b5db | |||
| 69b971718b | |||
| 796a5904d7 | |||
| 5fd37b22ed | |||
| e774d7c99c | |||
| 0ff0bf5745 | |||
| 4892b7267d | |||
| 4cd497d58c | |||
| 86441aae72 | |||
| 1a6fff95c2 | |||
| 68fe582aac | |||
| d05729ddb9 | |||
| 01fe78bdbc | |||
| 3907768a45 | |||
| e4eb9a3557 | |||
| d396af5f66 | |||
| 57cd1aab5d | |||
| efa3a4a11b | |||
| c3cb6f3e33 | |||
| bc0531dc3e | |||
| 05322ce7a2 | |||
| 57f4de0075 | |||
| 5bdf816651 | |||
| 3af8f1aef9 | |||
| 2531363471 | |||
| 675f760404 |
182
src/app/page.tsx
182
src/app/page.tsx
@@ -5,7 +5,7 @@ import ReactLenis from "lenis/react";
|
|||||||
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
||||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||||
import FeatureCardEight from '@/components/sections/feature/FeatureCardEight';
|
import FeatureCardEight from '@/components/sections/feature/FeatureCardEight';
|
||||||
import FooterCard from '@/components/sections/footer/FooterCard';
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
import HeroCentered from '@/components/sections/hero/HeroCentered';
|
import HeroCentered from '@/components/sections/hero/HeroCentered';
|
||||||
import MediaAbout from '@/components/sections/about/MediaAbout';
|
import MediaAbout from '@/components/sections/about/MediaAbout';
|
||||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||||
@@ -31,21 +31,13 @@ export default function LandingPage() {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{
|
||||||
name: "Experience",
|
name: "Erfaring", id: "about"},
|
||||||
id: "about",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Precision",
|
name: "Præcision", id: "features"},
|
||||||
id: "features",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Testimonials",
|
name: "Anbefalinger", id: "testimonials"},
|
||||||
id: "testimonials",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Visit",
|
name: "Besøg os", id: "contact"},
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="City Salon"
|
brandName="City Salon"
|
||||||
/>
|
/>
|
||||||
@@ -54,65 +46,42 @@ export default function LandingPage() {
|
|||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroCentered
|
<HeroCentered
|
||||||
background={{
|
background={{
|
||||||
variant: "gradient-bars",
|
variant: "gradient-bars"}}
|
||||||
}}
|
title="Præcisionsklipning. Rigtige mennesker. Ingen tidsbestilling."
|
||||||
title="Precision cuts. Real people. No booking needed."
|
description="Du er ikke bare en kunde – du bliver husket. Kom ind, når det passer dig, og få den samme perfekte klipning, som får vores kunder til at vende tilbage år efter år."
|
||||||
description="You're not just a customer—you're remembered. Walk in anytime and get the same perfect cut that keeps clients coming back for years."
|
|
||||||
avatars={[
|
avatars={[
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/business-man-phone-park_23-2148018595.jpg",
|
src: "http://img.b2bpic.net/free-photo/business-man-phone-park_23-2148018595.jpg", alt: "Kunde"},
|
||||||
alt: "Client",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/lady-summer-cafe-woman-sitting-table-famale-with-cute-dog_1157-41816.jpg",
|
src: "http://img.b2bpic.net/free-photo/lady-summer-cafe-woman-sitting-table-famale-with-cute-dog_1157-41816.jpg", alt: "Kunde"},
|
||||||
alt: "Client",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/closeup-portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-suit-black-studio-lights-background_158538-9654.jpg",
|
src: "http://img.b2bpic.net/free-photo/closeup-portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-suit-black-studio-lights-background_158538-9654.jpg", alt: "Kunde"},
|
||||||
alt: "Client",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/pleased-slavic-middle-aged-male-barber-uniform-holding-barber-tools-isolated-purple-wall_141793-91610.jpg",
|
src: "http://img.b2bpic.net/free-photo/pleased-slavic-middle-aged-male-barber-uniform-holding-barber-tools-isolated-purple-wall_141793-91610.jpg", alt: "Kunde"},
|
||||||
alt: "Client",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/this-is-so-cute-portrait-attractive-unshaven-young-male-with-muscular-tattoo-body-crossing-arms-his-chest-smiling-being-touched-by-something-expressing-distrust-suspicion-doubt_343059-1710.jpg",
|
src: "http://img.b2bpic.net/free-photo/this-is-so-cute-portrait-attractive-unshaven-young-male-with-muscular-tattoo-body-crossing-arms-his-chest-smiling-being-touched-by-something-expressing-distrust-suspicion-doubt_343059-1710.jpg", alt: "Kunde"},
|
||||||
alt: "Client",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
avatarText="Trusted by our loyal regulars for over 6 years"
|
avatarText="Betroet af vores loyale stamkunder i over 6 år"
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Drop In Today",
|
text: "Kom forbi i dag", href: "https://www.google.com/maps/place/Fris%C3%B8r+i+Herning+%7C+City+Salon/@56.1362696,8.9678637,14z/data=!4m6!3m5!1s0x464bbbe5433dad53:0xcdf148b4e94181cc!8m2!3d56.1363651!4d8.9676575!16s%2Fg%2F11xgh0m52!5m1!1e1?entry=ttu&g_ep=EgoyMDI2MDQwMS4wIKXMDSoASAFQAw%3D%3D"},
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
marqueeItems={[
|
marqueeItems={[
|
||||||
{
|
{
|
||||||
type: "text-icon",
|
type: "text-icon", text: "Walk-ins velkomne", icon: Clock,
|
||||||
text: "Walk-ins Welcome",
|
|
||||||
icon: Clock,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "text-icon",
|
type: "text-icon", text: "Præcisions-fades", icon: Scissors,
|
||||||
text: "Precision Fades",
|
|
||||||
icon: Scissors,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "text-icon",
|
type: "text-icon", text: "Premium produkter", icon: Droplet,
|
||||||
text: "Premium Products",
|
|
||||||
icon: Droplet,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "text-icon",
|
type: "text-icon", text: "Ekspert barberer", icon: UserCheck,
|
||||||
text: "Expert Barbers",
|
|
||||||
icon: UserCheck,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "text-icon",
|
type: "text-icon", text: "Moderne studie", icon: Star,
|
||||||
text: "Modern Studio",
|
|
||||||
icon: Star,
|
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
@@ -121,10 +90,10 @@ export default function LandingPage() {
|
|||||||
<div id="about" data-section="about">
|
<div id="about" data-section="about">
|
||||||
<MediaAbout
|
<MediaAbout
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
title="A Tradition of Craft & Connection"
|
title="En tradition for håndværk og fællesskab"
|
||||||
description="At City Salon, we believe a great haircut is about more than just the trim—it’s about the trust. We’ve built a reputation for consistency that brings our clients back time and time again. When you walk through our doors, you’re greeted by familiar faces and barbers who truly listen. Whether you’re new to the neighborhood or a long-time regular, you deserve a haircut that reflects your style and an experience that values your time."
|
description="Hos City Salon tror vi på, at en god klipning handler om mere end bare frisuren – det handler om tillid. Vi har opbygget et ry for konsekvent kvalitet, der bringer vores kunder tilbage igen og igen. Når du træder ind ad døren, bliver du mødt af kendte ansigter og barberer, der virkelig lytter. Uanset om du er ny i kvarteret eller en af vores faste kunder, fortjener du en klipning, der afspejler din stil, og en oplevelse, der værdsætter din tid."
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/man-getting-his-beard-shaved-with-razor_107420-94799.jpg?_wi=1"
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3C1E0t8mxuGpZ0qBVz2J2MtoVjT/uploaded-1775575263554-kt3ffkmn.jpg"
|
||||||
imageAlt="Professional salon environment"
|
imageAlt="Professionelt salonmiljø"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -134,56 +103,34 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
title: "Precision Work",
|
title: "Præcisionsarbejde", description: "Ekspertteknikker der sikrer ensartede resultater af høj kvalitet ved hvert besøg.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3C1E0t8mxuGpZ0qBVz2J2MtoVjT/uploaded-1775574107514-mjup70k8.jpg?_wi=1", imageAlt: "Præcisionsværktøj"},
|
||||||
description: "Expert techniques ensuring consistent, high-quality results every single visit.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/black-neodymium-magnet-phenomenon_23-2148253601.jpg",
|
|
||||||
imageAlt: "Precision tools",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Welcoming Atmosphere",
|
title: "Imødekommende atmosfære", description: "Et afslappet og professionelt miljø, hvor alle bliver behandlet som individer.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3C1E0t8mxuGpZ0qBVz2J2MtoVjT/uploaded-1775574107514-mjup70k8.jpg?_wi=2", imageAlt: "Salonstation"},
|
||||||
description: "Relaxed and professional environment where everyone is treated like an individual.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/mustache-guy-barbershop_140725-7723.jpg",
|
|
||||||
imageAlt: "Salon station",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Personalized Approach",
|
title: "Personlig tilgang", description: "Vi tager os tid til at lære din stil, dine præferencer og din hårtype at kende.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3C1E0t8mxuGpZ0qBVz2J2MtoVjT/uploaded-1775573986291-ctps74sb.jpg", imageAlt: "Stylingsession"},
|
||||||
description: "We take the time to learn your style, preferences, and hair type perfectly.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3C1E0t8mxuGpZ0qBVz2J2MtoVjT/uploaded-1775573865515-8647geq5.jpg",
|
|
||||||
imageAlt: "Styling session",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="The City Salon Difference"
|
title="City Salon-forskellen"
|
||||||
description="Premium quality without the pretense. Every cut is treated as an art form."
|
description="Premium kvalitet uden omsvøb. Hver klipning er en kunstart."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="testimonials" data-section="testimonials">
|
<div id="testimonials" data-section="testimonials">
|
||||||
<TestimonialCardFifteen
|
<TestimonialCardFifteen
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
testimonial="City Salon is the only place I trust. I've been coming here for 5 years and I'm always remembered. It's the perfect mix of professionalism and personal connection."
|
testimonial="City Salon er det eneste sted, jeg stoler på. Jeg er kommet her i 5 år, og jeg bliver altid genkendt. Det er den perfekte blanding af professionalisme og personlig kontakt."
|
||||||
rating={5}
|
rating={5}
|
||||||
author="Mark R."
|
author="Mark R."
|
||||||
avatars={[
|
avatars={[
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/business-man-phone-park_23-2148018595.jpg",
|
src: "http://img.b2bpic.net/free-photo/business-man-phone-park_23-2148018595.jpg", alt: "Kunde 1"},
|
||||||
alt: "Client 1",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/lady-summer-cafe-woman-sitting-table-famale-with-cute-dog_1157-41816.jpg",
|
src: "http://img.b2bpic.net/free-photo/lady-summer-cafe-woman-sitting-table-famale-with-cute-dog_1157-41816.jpg", alt: "Kunde 2"},
|
||||||
alt: "Client 2",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/closeup-portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-suit-black-studio-lights-background_158538-9654.jpg",
|
src: "http://img.b2bpic.net/free-photo/closeup-portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-suit-black-studio-lights-background_158538-9654.jpg", alt: "Kunde 3"},
|
||||||
alt: "Client 3",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/pleased-slavic-middle-aged-male-barber-uniform-holding-barber-tools-isolated-purple-wall_141793-91610.jpg",
|
src: "http://img.b2bpic.net/free-photo/pleased-slavic-middle-aged-male-barber-uniform-holding-barber-tools-isolated-purple-wall_141793-91610.jpg", alt: "Kunde 4"},
|
||||||
alt: "Client 4",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/this-is-so-cute-portrait-attractive-unshaven-young-male-with-muscular-tattoo-body-crossing-arms-his-chest-smiling-being-touched-by-something-expressing-distrust-suspicion-doubt_343059-1710.jpg",
|
src: "http://img.b2bpic.net/free-photo/this-is-so-cute-portrait-attractive-unshaven-young-male-with-muscular-tattoo-body-crossing-arms-his-chest-smiling-being-touched-by-something-expressing-distrust-suspicion-doubt_343059-1710.jpg", alt: "Kunde 5"},
|
||||||
alt: "Client 5",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
ratingAnimation="slide-up"
|
ratingAnimation="slide-up"
|
||||||
avatarsAnimation="slide-up"
|
avatarsAnimation="slide-up"
|
||||||
@@ -196,30 +143,18 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", title: "Skal jeg bestille tid?", content: "Nej, vi er en salon for walk-ins. Vi tror på lige adgang og spontan, god service."},
|
||||||
title: "Do I need an appointment?",
|
|
||||||
content: "No, we are proudly a walk-in only salon. We believe in providing equal access and spontaneous, quality service.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", title: "Hvor lang er ventetiden?", content: "Ventetiden varierer alt efter travlhed, men vi sætter en ære i effektivitet. De fleste af vores kunder synes, det går meget hurtigt."},
|
||||||
title: "How long is the wait?",
|
|
||||||
content: "Wait times vary by demand, but we pride ourselves on efficiency. Most of our regulars find it very quick.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3", title: "Klipper I alle hårtyper?", content: "Ja, vores dygtige barberer er trænet i præcisionsarbejde til alle hårtyper."},
|
||||||
title: "Do you serve all hair types?",
|
|
||||||
content: "Yes, our expert barbers are trained to deliver precision work for all hair textures.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "4",
|
id: "4", title: "Hvor ligger I?", content: "Vi er centralt placeret i hjertet af byen, med let adgang via offentlig transport."},
|
||||||
title: "Where are you located?",
|
|
||||||
content: "We are centrally located in the heart of downtown, easily accessible by public transport.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Questions Answered"
|
title="Svar på spørgsmål"
|
||||||
description="Common inquiries about our walk-in service and shop values."
|
description="Almindelige spørgsmål om vores walk-in service og værdier."
|
||||||
faqsAnimation="slide-up"
|
faqsAnimation="slide-up"
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/man-getting-his-beard-shaved-with-razor_107420-94799.jpg?_wi=2"
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3C1E0t8mxuGpZ0qBVz2J2MtoVjT/uploaded-1775575324066-esvj066y.jpg"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -228,24 +163,37 @@ export default function LandingPage() {
|
|||||||
<ContactSplit
|
<ContactSplit
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{
|
||||||
variant: "plain",
|
variant: "plain"}}
|
||||||
}}
|
tag="Besøg os"
|
||||||
tag="Visit Us"
|
title="Kom forbi når du er klar"
|
||||||
title="Stop In Whenever You’re Ready"
|
description="Ingen tidsbestilling nødvendig. Bare mød op, så gør vi dig klar til at se bedst ud."
|
||||||
description="No booking necessary. Just walk in and we’ll be ready to get you looking your best."
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3C1E0t8mxuGpZ0qBVz2J2MtoVjT/uploaded-1775575361403-xt5li2mn.jpg"
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/happy-businesswoman-with-mobile-phone-entrance-hall_23-2147605019.jpg"
|
imageAlt="Salonindgang"
|
||||||
imageAlt="Salon entrance"
|
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterCard
|
<FooterBase
|
||||||
logoText="CITY SALON"
|
logoText="CITY SALON"
|
||||||
copyrightText="© 2025 City Salon | All Rights Reserved"
|
copyrightText="© 2025 City Salon | Alle rettigheder forbeholdes"
|
||||||
|
columns={[
|
||||||
|
{
|
||||||
|
title: "Social", items: [
|
||||||
|
{ label: "Instagram", href: "https://www.instagram.com/frisoer.citysalon.herning?fbclid=IwY2xjawRCAklleHRuA2FlbQIxMABicmlkETFLRmM2QnJadE9pMW5zUDVVc3J0YwZhcHBfaWQQMjIyMDM5MTc4ODIwMDg5MgABHgZgmYcfYol4947-d1bG25MSA2PNmbH6JJS94ahoCVnWSzesWyzegTvtJjzi_aem_jAMcC-9yHvPciNKLmtvSZw" },
|
||||||
|
{ label: "Facebook", href: "https://www.facebook.com/cityhair.salon/" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Kontakt", items: [
|
||||||
|
{ label: "City Salon", href: "#" },
|
||||||
|
{ label: "citysalon2003@outlook.dk", href: "mailto:citysalon2003@outlook.dk" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user