Merge version_3 into main #3

Merged
bender merged 4 commits from version_3 into main 2026-06-03 12:05:12 +00:00
4 changed files with 39 additions and 46 deletions

View File

@@ -1,13 +1,13 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css";
import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Manrope } from "next/font/google";
import { DM_Sans } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
@@ -16,23 +16,15 @@ export const metadata: Metadata = {
description: 'Experience premium haircuts, beard trims, and wet shaves at Nordkrone Barbershop. Blending Scandinavian design with timeless grooming artistry in Stockholm.',
keywords: ["barbershop, luxury, grooming, haircut, beard trim, wet shave, Stockholm, premium, Scandinavian, style"],
openGraph: {
"title": "Nordkrone Barbershop | Luxury Grooming & Style",
"description": "Experience premium haircuts, beard trims, and wet shaves at Nordkrone Barbershop. Blending Scandinavian design with timeless grooming artistry in Stockholm.",
"url": "https://www.nordkrone.com",
"siteName": "Nordkrone Barbershop",
"images": [
"title": "Nordkrone Barbershop | Luxury Grooming & Style", "description": "Experience premium haircuts, beard trims, and wet shaves at Nordkrone Barbershop. Blending Scandinavian design with timeless grooming artistry in Stockholm.", "url": "https://www.nordkrone.com", "siteName": "Nordkrone Barbershop", "images": [
{
"url": "http://img.b2bpic.net/free-photo/sensual-glamour-portrait-beautiful-woman-model-with-fresh-daily-makeup-with-dark-red-lips-color-clean-healthy-skin-face-studio-lights_158538-14326.jpg",
"alt": "Luxurious barbershop interior"
"url": "http://img.b2bpic.net/free-photo/sensual-glamour-portrait-beautiful-woman-model-with-fresh-daily-makeup-with-dark-red-lips-color-clean-healthy-skin-face-studio-lights_158538-14326.jpg", "alt": "Luxurious barbershop interior"
}
],
"type": "website"
},
twitter: {
"card": "summary_large_image",
"title": "Nordkrone Barbershop | Luxury Grooming & Style",
"description": "Experience premium haircuts, beard trims, and wet shaves at Nordkrone Barbershop. Blending Scandinavian design with timeless grooming artistry in Stockholm.",
"images": [
"card": "summary_large_image", "title": "Nordkrone Barbershop | Luxury Grooming & Style", "description": "Experience premium haircuts, beard trims, and wet shaves at Nordkrone Barbershop. Blending Scandinavian design with timeless grooming artistry in Stockholm.", "images": [
"http://img.b2bpic.net/free-photo/sensual-glamour-portrait-beautiful-woman-model-with-fresh-daily-makeup-with-dark-red-lips-color-clean-healthy-skin-face-studio-lights_158538-14326.jpg"
]
},
@@ -42,13 +34,13 @@ export const metadata: Metadata = {
},
};
const manrope = Manrope({
variable: "--font-manrope",
subsets: ["latin"],
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville", subsets: ["latin"],
weight: ["400", "700"],
});
const dmSans = DM_Sans({
variable: "--font-dm-sans",
subsets: ["latin"],
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
export default function RootLayout({
@@ -59,7 +51,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${manrope.variable} ${dmSans.variable} antialiased`}>
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<Tag />
{children}
<script
@@ -71,4 +63,4 @@ export default function RootLayout({
</ServiceWrapper>
</html>
);
}
}

View File

@@ -2,7 +2,7 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCTA from '@/components/sections/contact/ContactCTA';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven';
import FooterBase from '@/components/sections/footer/FooterBase';
@@ -237,19 +237,20 @@ export default function LandingPage() {
</div>
<div id="contact" data-section="contact">
<ContactCTA
useInvertedBackground={false}
<ContactSplit
tag="Book Your Visit"
title="Schedule Your Premium Grooming Experience"
description="Connect with us for your next premium grooming experience. We look forward to welcoming you!\n\n**Address:** Storgatan 1, 111 45 Stockholm\n**Hours:** Mon-Fri: 9AM-7PM, Sat: 10AM-6PM"
background={{
variant: "sparkles-gradient"}}
tag="Connect with Us"
title="Your Next Appointment Awaits"
description="Connect with us for your next premium grooming experience. We look forward to welcoming you!\n\n**Address:** Storgatan 1, 111 45 Stockholm\n**Hours:** Mon-Fri: 9AM-7PM, Sat: 10AM-6PM"
buttons={[
{
text: "Call Us: +123 456 7890", href: "tel:+1234567890"},
{
text: "Get Directions", href: "https://maps.google.com/?q=Nordkrone+Barbershop"},
]}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/stylish-barbershop-interior-with-vintage-chairs_23-2148496417.jpg"
imageAlt="Stylish barbershop interior"
mediaAnimation="opacity"
mediaPosition="right"
inputPlaceholder="Your Name, Email, and Preferred Service"
buttonText="Submit Booking Request"
onSubmit={(email: string) => console.log('Booking inquiry submitted:', email)}
/>
</div>
@@ -298,4 +299,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-dm-sans), sans-serif;
font-family: var(--font-var(--font-libre-baskerville), serif), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-manrope), sans-serif;
font-family: var(--font-var(--font-libre-baskerville), serif), sans-serif;
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #f5f5f5;
--primary-cta: #ffdf7d;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #ffffff;
--accent: #b8860b;
--background-accent: #8b6914;
--background: #0D0D0D;
--card: #1A1A1A;
--foreground: #F0F0F0;
--primary-cta: #B49A67;
--primary-cta-text: #000000;
--secondary-cta: #3A3A3A;
--secondary-cta-text: #1a1a1a;
--accent: #D4AF37;
--background-accent: #242424;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);