23 Commits

Author SHA1 Message Date
e1d8ddf29a Update theme colors 2026-04-28 21:44:36 +00:00
0f993dc13b Update src/app/page.tsx 2026-04-28 21:44:12 +00:00
63e31ffd04 Update theme fonts 2026-04-28 21:36:52 +00:00
3351e9c434 Update theme fonts 2026-04-28 21:36:51 +00:00
49e1290d1f Update src/app/page.tsx 2026-04-28 21:36:30 +00:00
777463fd20 Update theme colors 2026-04-28 21:34:47 +00:00
c9a3cd1be7 Update theme colors 2026-04-28 21:34:38 +00:00
fc1e1b9eac Update src/app/page.tsx 2026-04-28 21:32:03 +00:00
098dd58111 Update src/app/page.tsx 2026-04-28 21:31:32 +00:00
c740b46a45 Update src/app/styles/variables.css 2026-04-28 21:31:03 +00:00
929efbfae0 Update src/app/page.tsx 2026-04-28 21:31:03 +00:00
15733543ad Merge version_3 into main
Merge version_3 into main
2026-04-28 21:28:23 +00:00
2ad04b6306 Update theme fonts 2026-04-28 21:28:20 +00:00
74d6289e04 Update theme fonts 2026-04-28 21:28:20 +00:00
37882de8f8 Merge version_3 into main
Merge version_3 into main
2026-04-28 21:28:10 +00:00
b7f4182ed7 Update theme fonts 2026-04-28 21:28:07 +00:00
5cc1549164 Update theme fonts 2026-04-28 21:28:06 +00:00
cdbf49b48e Merge version_3 into main
Merge version_3 into main
2026-04-28 21:26:48 +00:00
644e2c3050 Update theme colors 2026-04-28 21:26:45 +00:00
723a01bce8 Merge version_2 into main
Merge version_2 into main
2026-04-28 21:26:37 +00:00
b9613dcba4 Merge version_1 into main
Merge version_1 into main
2026-04-28 21:17:06 +00:00
ca149ef277 Merge version_1 into main
Merge version_1 into main
2026-04-28 21:16:43 +00:00
4262fdd732 Merge version_1 into main
Merge version_1 into main
2026-04-28 21:16:16 +00:00
4 changed files with 41 additions and 36 deletions

View File

@@ -7,6 +7,7 @@ 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 { Open_Sans } from "next/font/google"; import { Open_Sans } from "next/font/google";
import { Montserrat } from "next/font/google";
@@ -19,7 +20,17 @@ export const metadata: Metadata = {
}, },
}; };
const openSans = Open_Sans({ variable: "--font-open-sans", subsets: ["latin"] });
const montserrat = Montserrat({
variable: "--font-montserrat",
subsets: ["latin"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
export default function RootLayout({ export default function RootLayout({
children, children,
@@ -29,7 +40,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${openSans.variable} antialiased`}> <body className={`${montserrat.variable} ${inter.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -3,14 +3,14 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactText from '@/components/sections/contact/ContactText'; import ContactText from '@/components/sections/contact/ContactText';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia'; import FaqSplitText from '@/components/sections/faq/FaqSplitText';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia'; import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia';
import MediaAbout from '@/components/sections/about/MediaAbout'; import MediaAbout from '@/components/sections/about/MediaAbout';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import PricingCardNine from '@/components/sections/pricing/PricingCardNine'; import PricingCardNine from '@/components/sections/pricing/PricingCardNine';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo'; import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo'; import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -56,9 +56,9 @@ export default function LandingPage() {
]} ]}
mediaItems={[ mediaItems={[
{ {
imageSrc: "http://img.b2bpic.net/free-vector/skull-with-hand-drawn-wreath_23-2147610865.jpg?_wi=1", imageAlt: "Bone fine line tattoo"}, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3D0F1A9wA0hoEJAN6judgd0t0Sz/uploaded-1777412646561-c3jtzctg.jpg", imageAlt: "Bone fine line tattoo"},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/skull-flower-arrangement-still-life_23-2150569359.jpg?_wi=1", imageAlt: "Tattoo studio aesthetic"} imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3D0F1A9wA0hoEJAN6judgd0t0Sz/uploaded-1777412625550-zcr1h4om.jpg", imageAlt: "Tattoo studio aesthetic"}
]} ]}
mediaAnimation="slide-up" mediaAnimation="slide-up"
rating={5} rating={5}
@@ -72,7 +72,7 @@ export default function LandingPage() {
title="Slater: The Artist" title="Slater: The Artist"
description="With years of experience in fine-line tattooing, Slater specializes in blending anatomical precision with ethereal, haunting aesthetics. Every piece is a unique dialogue between the skin and the bone." description="With years of experience in fine-line tattooing, Slater specializes in blending anatomical precision with ethereal, haunting aesthetics. Every piece is a unique dialogue between the skin and the bone."
tag="Philosophy" tag="Philosophy"
imageSrc="http://img.b2bpic.net/free-photo/young-woman-standing-universe-texture-projection_23-2149512085.jpg" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3D0F1A9wA0hoEJAN6judgd0t0Sz/uploaded-1777412470024-fx11d398.jpg"
imageAlt="Artist portrait" imageAlt="Artist portrait"
/> />
</div> </div>
@@ -80,9 +80,9 @@ export default function LandingPage() {
<div id="portfolio" data-section="portfolio"> <div id="portfolio" data-section="portfolio">
<ProductCardTwo <ProductCardTwo
animationType="slide-up" animationType="slide-up"
textboxLayout="split"
gridVariant="uniform-all-items-equal" gridVariant="uniform-all-items-equal"
useInvertedBackground={false} useInvertedBackground={false}
textboxLayout="default"
products={[ products={[
{ {
id: "1", brand: "Ethereal", name: "Ribcage Detail", price: "Session Work", rating: 5, id: "1", brand: "Ethereal", name: "Ribcage Detail", price: "Session Work", rating: 5,
@@ -139,31 +139,25 @@ export default function LandingPage() {
</div> </div>
<div id="testimonials" data-section="testimonials"> <div id="testimonials" data-section="testimonials">
<TestimonialCardTwo <TestimonialCardSix
animationType="slide-up" animationType="blur-reveal"
textboxLayout="split" textboxLayout="split"
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ {
id: "1", name: "Alex R.", role: "Collector", testimonial: "The precision is unmatched. The bone detail feels alive.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-thoughtful-bearded-male-with-tattooed-naked-torso-crossed-arms-sits-chair-dark-grey-background_613910-1780.jpg"}, id: "1", name: "Alex R.", handle: "@alexr", testimonial: "The precision is unmatched. The bone detail feels alive.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-thoughtful-bearded-male-with-tattooed-naked-torso-crossed-arms-sits-chair-dark-grey-background_613910-1780.jpg"},
{ {
id: "2", name: "Sam B.", role: "Client", testimonial: "Dark, ethereal, exactly what I envisioned.", imageSrc: "http://img.b2bpic.net/free-photo/crop-woman-pointing-book-studying_23-2147737568.jpg"}, id: "2", name: "Sam B.", handle: "@samb", testimonial: "Dark, ethereal, exactly what I envisioned.", imageSrc: "http://img.b2bpic.net/free-photo/crop-woman-pointing-book-studying_23-2147737568.jpg"},
{ {
id: "3", name: "Jordan P.", role: "Collector", testimonial: "Slater is an artist first, tattooist second.", imageSrc: "http://img.b2bpic.net/free-photo/black-white-photo-old-woman-wearing-hat_250224-37.jpg"}, id: "3", name: "Jordan P.", handle: "@jordanp", testimonial: "Slater is an artist first, tattooist second.", imageSrc: "http://img.b2bpic.net/free-photo/black-white-photo-old-woman-wearing-hat_250224-37.jpg"},
{
id: "4", name: "Casey W.", role: "Client", testimonial: "So gentle yet so detailed. Incredible atmosphere.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-creative-master-with-dreadlocks-is-working-new-peace-big-leg-tattoo-customer_613910-2923.jpg"},
{
id: "5", name: "Jamie M.", role: "Collector", testimonial: "I travel across the country for these lines.", imageSrc: "http://img.b2bpic.net/free-photo/crop-couple-holding-hands-belly_1153-2654.jpg"},
]} ]}
title="Client Experience" title="Client Experience"
description="What our clients are saying about the Slater experience." description=""
/> />
</div> </div>
<div id="faq" data-section="faq"> <div id="faq" data-section="faq">
<FaqSplitMedia <FaqSplitText
textboxLayout="split"
useInvertedBackground={false}
faqs={[ faqs={[
{ {
id: "f1", title: "How do I book?", content: "Use the contact form below and include your ideas, placement, and size."}, id: "f1", title: "How do I book?", content: "Use the contact form below and include your ideas, placement, and size."},
@@ -172,10 +166,10 @@ export default function LandingPage() {
{ {
id: "f3", title: "What is the deposit policy?", content: "A non-refundable deposit is required to secure all booking appointments."}, id: "f3", title: "What is the deposit policy?", content: "A non-refundable deposit is required to secure all booking appointments."},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/high-angle-tattoo-artist-doing-her-job_23-2149445982.jpg" sideTitle="Studio Info"
title="Studio Info" sideDescription="Common questions about booking and maintenance."
description="Common questions about booking and maintenance." faqsAnimation="blur-reveal"
faqsAnimation="slide-up" useInvertedBackground={false}
/> />
</div> </div>

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-open-sans), 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-open-sans), sans-serif; font-family: var(--font-montserrat), sans-serif;
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #ffffff; --background: #000000;
--card: #f9f9f9; --card: #121212;
--foreground: #000f06e6; --foreground: #e0e0e0;
--primary-cta: #0a7039; --primary-cta: #ffffff;
--primary-cta-text: #ffffff; --primary-cta-text: #000000;
--secondary-cta: #f9f9f9; --secondary-cta: #1e1e1e;
--secondary-cta-text: #000f06e6; --secondary-cta-text: #e9dfdf;
--accent: #e2e2e2; --accent: #333333;
--background-accent: #c4c4c4; --background-accent: #1a1a1a;
/* 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);