5 Commits

Author SHA1 Message Date
486122a6d5 Update src/app/styles/variables.css 2026-06-03 12:05:05 +00:00
6726b2494a Update src/app/styles/base.css 2026-06-03 12:05:05 +00:00
2eab5beb00 Update src/app/page.tsx 2026-06-03 12:05:04 +00:00
ecaf7c1c97 Update src/app/layout.tsx 2026-06-03 12:05:04 +00:00
3226bc44eb Merge version_2 into main
Merge version_2 into main
2026-06-03 11:58:32 +00:00
4 changed files with 39 additions and 46 deletions

View File

@@ -1,13 +1,13 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google"; 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 Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; 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.', 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"], keywords: ["barbershop, luxury, grooming, haircut, beard trim, wet shave, Stockholm, premium, Scandinavian, style"],
openGraph: { openGraph: {
"title": "Nordkrone Barbershop | Luxury Grooming & Style", "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": [
"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", "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"
"alt": "Luxurious barbershop interior"
} }
], ],
"type": "website" "type": "website"
}, },
twitter: { twitter: {
"card": "summary_large_image", "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": [
"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" "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({ const libreBaskerville = Libre_Baskerville({
variable: "--font-manrope", variable: "--font-libre-baskerville", subsets: ["latin"],
subsets: ["latin"], weight: ["400", "700"],
}); });
const dmSans = DM_Sans({
variable: "--font-dm-sans", const inter = Inter({
subsets: ["latin"], variable: "--font-inter", subsets: ["latin"],
}); });
export default function RootLayout({ export default function RootLayout({
@@ -59,7 +51,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${manrope.variable} ${dmSans.variable} antialiased`}> <body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script
@@ -71,4 +63,4 @@ export default function RootLayout({
</ServiceWrapper> </ServiceWrapper>
</html> </html>
); );
} }

View File

@@ -2,7 +2,7 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; 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 FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven'; import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven';
import FooterBase from '@/components/sections/footer/FooterBase'; import FooterBase from '@/components/sections/footer/FooterBase';
@@ -237,19 +237,20 @@ export default function LandingPage() {
</div> </div>
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactCTA <ContactSplit
useInvertedBackground={false} 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={{ background={{
variant: "sparkles-gradient"}} variant: "sparkles-gradient"}}
tag="Connect with Us" useInvertedBackground={false}
title="Your Next Appointment Awaits" imageSrc="http://img.b2bpic.net/free-photo/stylish-barbershop-interior-with-vintage-chairs_23-2148496417.jpg"
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" imageAlt="Stylish barbershop interior"
buttons={[ mediaAnimation="opacity"
{ mediaPosition="right"
text: "Call Us: +123 456 7890", href: "tel:+1234567890"}, inputPlaceholder="Your Name, Email, and Preferred Service"
{ buttonText="Submit Booking Request"
text: "Get Directions", href: "https://maps.google.com/?q=Nordkrone+Barbershop"}, onSubmit={(email: string) => console.log('Booking inquiry submitted:', email)}
]}
/> />
</div> </div>
@@ -298,4 +299,4 @@ export default function LandingPage() {
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -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-dm-sans), sans-serif; font-family: var(--font-var(--font-libre-baskerville), serif), 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-manrope), sans-serif; font-family: var(--font-var(--font-libre-baskerville), serif), sans-serif;
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #0a0a0a; --background: #0D0D0D;
--card: #1a1a1a; --card: #1A1A1A;
--foreground: #f5f5f5; --foreground: #F0F0F0;
--primary-cta: #ffdf7d; --primary-cta: #B49A67;
--primary-cta-text: #0a0a0a; --primary-cta-text: #000000;
--secondary-cta: #1a1a1a; --secondary-cta: #3A3A3A;
--secondary-cta-text: #ffffff; --secondary-cta-text: #1a1a1a;
--accent: #b8860b; --accent: #D4AF37;
--background-accent: #8b6914; --background-accent: #242424;
/* 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);