15 Commits

Author SHA1 Message Date
3f9db0276c Update src/app/hiring/page.tsx 2026-04-16 17:53:09 +00:00
740a1ccb07 Merge version_4 into main
Merge version_4 into main
2026-04-16 17:52:26 +00:00
f8344953ca Update src/app/page.tsx 2026-04-16 17:52:20 +00:00
b139135a01 Merge version_3 into main
Merge version_3 into main
2026-04-16 17:48:35 +00:00
0df5ca4b81 Update src/app/page.tsx 2026-04-16 17:48:29 +00:00
dc5d98052b Merge version_2 into main
Merge version_2 into main
2026-04-16 17:47:28 +00:00
26f93be480 Update theme fonts 2026-04-16 17:47:25 +00:00
8b4f1e1b49 Update theme fonts 2026-04-16 17:47:25 +00:00
986d0faab5 Merge version_2 into main
Merge version_2 into main
2026-04-16 17:46:52 +00:00
2ea11978f4 Update theme fonts 2026-04-16 17:46:49 +00:00
6404c93f4b Update theme fonts 2026-04-16 17:46:48 +00:00
d286bc6d11 Merge version_2 into main
Merge version_2 into main
2026-04-16 17:46:09 +00:00
651128280f Update theme colors 2026-04-16 17:46:06 +00:00
552b2a1f5b Merge version_1 into main
Merge version_1 into main
2026-04-16 17:42:29 +00:00
5a642073cb Merge version_1 into main
Merge version_1 into main
2026-04-16 17:41:46 +00:00
5 changed files with 42 additions and 44 deletions

View File

@@ -6,6 +6,7 @@ import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import TextAbout from '@/components/sections/about/TextAbout';
import TimelineProcessFlow from '@/components/cardStack/layouts/timelines/TimelineProcessFlow';
export default function HiringPage() {
return (
@@ -37,9 +38,16 @@ export default function HiringPage() {
</div>
<div id="hiring" data-section="hiring">
<TextAbout
useInvertedBackground={true}
title="Join DSkinner Painter and Decorator"
<TimelineProcessFlow
title="Join Our Team"
description="We are looking for passionate painters and decorators to join our growing team. Apply today to build your career with us."
textboxLayout="split-description"
animationType="slide-up"
items={[
{ content: "Submit your application and portfolio via our contact form.", media: null, reverse: false },
{ content: "We'll review your experience and get in touch for an interview.", media: null, reverse: true },
{ content: "Join our professional team of decorators in the Dundee area!", media: null, reverse: false }
]}
/>
</div>

View File

@@ -7,6 +7,8 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Open_Sans } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
import { Inter_Tight } from "next/font/google";
@@ -21,13 +23,12 @@ export const metadata: Metadata = {
},
};
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const openSans = Open_Sans({
variable: "--font-open-sans",
const interTight = Inter_Tight({
variable: "--font-inter-tight",
subsets: ["latin"],
weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
});
export default function RootLayout({
@@ -38,7 +39,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${inter.variable} ${openSans.variable} antialiased`}>
<body className={`${interTight.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -4,12 +4,16 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import HeroSplitDoubleCarousel from '@/components/sections/hero/HeroSplitDoubleCarousel';
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
import TextAbout from '@/components/sections/about/TextAbout';
export default function LandingPage() {
const handleApplyNow = () => {
window.location.href = "mailto:jobs@dskinnerdecor.co.uk?subject=Application%20for%20Employment";
};
return (
<ThemeProvider
defaultButtonVariant="directional-hover"
@@ -39,34 +43,19 @@ export default function LandingPage() {
</div>
<div id="hero" data-section="hero">
<HeroSplitDoubleCarousel
background={{ variant: "plain" }}
title="Professional Painting & Decorating Services You Can Trust"
<HeroBillboardRotatedCarousel
background={{ variant: "rotated-rays-animated" }}
title="Professional Painting & Decorating Services"
description="High-quality workmanship from an experienced local painter and decorator serving Dundee and surrounding areas."
leftCarouselItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-architectural-interior_1048-5614.jpg", imageAlt: "freshly painted wall interior bright" },
{ imageSrc: "http://img.b2bpic.net/free-photo/human-hands-working-it-yourself-project_23-2151509470.jpg", imageAlt: "exterior house painting work" },
{ imageSrc: "http://img.b2bpic.net/free-photo/vintage-wood-wall-text-background_1249-465.jpg", imageAlt: "expert wallpaper installation room" },
{ imageSrc: "http://img.b2bpic.net/free-photo/room-interior-renovation-indoor-paint_53876-81.jpg", imageAlt: "freshly painted wall interior bright" },
{ imageSrc: "http://img.b2bpic.net/free-photo/young-foreman-standing-from-back-orange-work-clothes-yellow-hardhat-using-painting-roller-new-apartment-work_574295-1560.jpg", imageAlt: "exterior house painting work" },
buttons={[{ text: "Get a Free Quote", href: "/contact" }, { text: "Now Hiring", onClick: handleApplyNow }]}
carouselItems={[
{ id: "1", imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-architectural-interior_1048-5614.jpg", imageAlt: "freshly painted wall interior bright" },
{ id: "2", imageSrc: "http://img.b2bpic.net/free-photo/human-hands-working-it-yourself-project_23-2151509470.jpg", imageAlt: "exterior house painting work" },
{ id: "3", imageSrc: "http://img.b2bpic.net/free-photo/vintage-wood-wall-text-background_1249-465.jpg", imageAlt: "expert wallpaper installation room" },
{ id: "4", imageSrc: "http://img.b2bpic.net/free-photo/room-interior-renovation-indoor-paint_53876-81.jpg", imageAlt: "freshly painted wall interior bright" },
{ id: "5", imageSrc: "http://img.b2bpic.net/free-photo/young-foreman-standing-from-back-orange-work-clothes-yellow-hardhat-using-painting-roller-new-apartment-work_574295-1560.jpg", imageAlt: "exterior house painting work" },
{ id: "6", imageSrc: "http://img.b2bpic.net/free-photo/back-view-female-construction-worker-with-helmet-paint-roller_23-2148813404.jpg", imageAlt: "exterior house painting work" }
]}
rightCarouselItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/back-view-female-construction-worker-with-helmet-paint-roller_23-2148813404.jpg", imageAlt: "exterior house painting work" },
{ imageSrc: "http://img.b2bpic.net/free-photo/engineers-front-wall_23-2147704183.jpg", imageAlt: "expert wallpaper installation room" },
{ imageSrc: "http://img.b2bpic.net/free-photo/roller-brush-wall-with-blue-paint-apartment-redecoration-home-construction-while-renovating-improving-repair-decorating_482257-3606.jpg", imageAlt: "freshly painted wall interior bright" },
{ imageSrc: "http://img.b2bpic.net/free-photo/shallow-focus-shot-hand-holding-blue-pint-brush-with-park_181624-21647.jpg", imageAlt: "exterior house painting work" },
{ imageSrc: "http://img.b2bpic.net/free-photo/woman-driving-screw-into-wall_1398-1378.jpg", imageAlt: "expert wallpaper installation room" },
]}
buttons={[{ text: "Get a Free Quote", href: "/contact" }, { text: "Now Hiring", href: "/hiring" }]}
avatars={[
{ src: "http://img.b2bpic.net/free-photo/man-with-helmet-sitting-with-arms-crossed_23-2148923128.jpg", alt: "Man with helmet" },
{ src: "http://img.b2bpic.net/free-photo/contemplated-male-carpenter-wearing-safety-glasses-standing-with-her-arms-crossed_23-2147944879.jpg", alt: "Carpenter" },
{ src: "http://img.b2bpic.net/free-photo/male-bus-driver-posing-portrait_23-2151582561.jpg", alt: "Driver" },
{ src: "http://img.b2bpic.net/free-photo/portrait-handsome-hipster-guy-dressed-jeans-jacket-posing-with-crossed-arms-isolated-dark-background_613910-21322.jpg", alt: "Hipster" },
{ src: "http://img.b2bpic.net/free-photo/two-students-smiling-happy-painting-sitting-table-art-school_839833-9696.jpg", alt: "Student" },
]}
avatarText="Trusted by 500+ happy homeowners in Dundee"
marqueeItems={[{ type: "text", text: "Quality Workmanship" }, { type: "text", text: "Fully Insured" }, { type: "text", text: "Local Expert" }, { type: "text", text: "Reliable Service" }, { type: "text", text: "Free Estimates" }]}
/>
</div>

View File

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

View File

@@ -12,13 +12,13 @@
--background: #ffffff;
--card: #f9f9f9;
--foreground: #1c1c1c;
--primary-cta: #FF7A00;
--foreground: #120a00e6;
--primary-cta: #FF7B05;
--primary-cta-text: #ffffff;
--secondary-cta: #ffffff;
--secondary-cta-text: #1c1c1c;
--secondary-cta: #f9f9f9;
--secondary-cta-text: #120a00e6;
--accent: #e2e2e2;
--background-accent: #FF7A00;
--background-accent: #FF7B05;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);