Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e1d8ddf29a | |||
| 0f993dc13b | |||
| 63e31ffd04 | |||
| 3351e9c434 | |||
| 49e1290d1f | |||
| 777463fd20 | |||
| c9a3cd1be7 | |||
| fc1e1b9eac | |||
| 098dd58111 | |||
| c740b46a45 | |||
| 929efbfae0 | |||
| 15733543ad | |||
| 2ad04b6306 | |||
| 74d6289e04 | |||
| 37882de8f8 | |||
| b7f4182ed7 | |||
| 5cc1549164 | |||
| cdbf49b48e | |||
| 644e2c3050 | |||
| 723a01bce8 | |||
| b9613dcba4 | |||
| ca149ef277 | |||
| 4262fdd732 |
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user