6 Commits

Author SHA1 Message Date
2482f579ab Merge version_4 into main
Merge version_4 into main
2026-04-24 12:34:44 +00:00
6cc27f0b20 Update src/app/page.tsx 2026-04-24 12:34:41 +00:00
e37caf107d Merge version_4 into main
Merge version_4 into main
2026-04-24 12:31:01 +00:00
274428f3a9 Update src/app/styles/variables.css 2026-04-24 12:30:58 +00:00
f63ce224da Update src/app/page.tsx 2026-04-24 12:30:57 +00:00
66c542971a Merge version_3 into main
Merge version_3 into main
2026-04-24 12:29:06 +00:00
2 changed files with 48 additions and 91 deletions

View File

@@ -2,10 +2,10 @@
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 ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FaqSplitText from '@/components/sections/faq/FaqSplitText'; import FaqSplitText from '@/components/sections/faq/FaqSplitText';
import FeatureCardTwentyFour from '@/components/sections/feature/FeatureCardTwentyFour'; import FeatureCardTwentyFour from '@/components/sections/feature/FeatureCardTwentyFour';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel'; import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo'; import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
@@ -31,14 +31,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
navItems={[ navItems={[
{ { name: "Hjem", id: "hero" },
name: "Hjem", id: "hero"}, { name: "Tjenester", id: "tjenester" },
{ { name: "Om oss", id: "om-oss" },
name: "Tjenester", id: "tjenester"}, { name: "Kontakt", id: "kontakt" },
{
name: "Om oss", id: "om-oss"},
{
name: "Kontakt", id: "kontakt"},
]} ]}
brandName="Joar Nilson & Co" brandName="Joar Nilson & Co"
/> />
@@ -46,21 +42,14 @@ export default function LandingPage() {
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardRotatedCarousel <HeroBillboardRotatedCarousel
background={{ background={{ variant: "plain" }}
variant: "plain"}}
title="Din lokale rørlegger i Kristiansund" title="Din lokale rørlegger i Kristiansund"
description="Vi leverer alt innen rørleggertjenester for private og bedrifter med fokus på kvalitet, trygghet og god service." description="Vi leverer alt innen rørleggertjenester for private og bedrifter med fokus på kvalitet, trygghet og god service."
buttons={[ buttons={[{ text: "Kontakt oss i dag", href: "#kontakt" }]}
{
text: "Kontakt oss i dag", href: "#kontakt"},
]}
carouselItems={[ carouselItems={[
{ { id: "1", imageSrc: "http://img.b2bpic.net/free-photo/modern-senior-man-holding-his-tablet-kitchen_23-2148404378.jpg", imageAlt: "professional plumber working kitchen sink" },
id: "1", imageSrc: "http://img.b2bpic.net/free-photo/modern-senior-man-holding-his-tablet-kitchen_23-2148404378.jpg", imageAlt: "professional plumber working kitchen sink"}, { id: "3", imageSrc: "http://img.b2bpic.net/free-photo/service-man-instelling-house-heating-system-floor_1303-26531.jpg", imageAlt: "professional plumber working kitchen sink" },
{ { id: "5", imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721520.jpg", imageAlt: "professional plumber working kitchen sink" },
id: "3", imageSrc: "http://img.b2bpic.net/free-photo/service-man-instelling-house-heating-system-floor_1303-26531.jpg", imageAlt: "professional plumber working kitchen sink"},
{
id: "5", imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721520.jpg", imageAlt: "professional plumber working kitchen sink"},
]} ]}
/> />
</div> </div>
@@ -84,26 +73,11 @@ export default function LandingPage() {
textboxLayout="split" textboxLayout="split"
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ { id: "1", title: "Rørinstallasjoner", author: "Pro", description: "Moderne rørinstallasjoner til nye bygg og tilbygg.", tags: ["nybygg"], imageSrc: "http://img.b2bpic.net/free-photo/set-repair-equipments-flask_23-2148067773.jpg" },
id: "1", title: "Rørinstallasjoner", author: "Pro", description: "Moderne rørinstallasjoner til nye bygg og tilbygg.", tags: [ { id: "2", title: "Rehabilitering av bad", author: "Pro", description: "Totalrenovering av bad fra start til slutt.", tags: ["oppussing"], imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-pipe-wrench-screwing-nut_181624-49738.jpg" },
"nybygg"], { id: "3", title: "Vedlikehold & Service", author: "Pro", description: "Faste vedlikeholdsavtaler for optimal drift.", tags: ["service"], imageSrc: "http://img.b2bpic.net/free-photo/ratchets-nozzles-wooden-table_23-2148180590.jpg" },
imageSrc: "http://img.b2bpic.net/free-photo/set-repair-equipments-flask_23-2148067773.jpg"}, { id: "4", title: "Feilsøking", author: "Pro", description: "Rask feilsøking ved lekkasjer og driftsproblemer.", tags: ["akutt"], imageSrc: "http://img.b2bpic.net/free-photo/man-adjusting-water-tap-with-wrench_259150-58269.jpg" },
{ { id: "5", title: "Oppgradering", author: "Pro", description: "Effektiv oppgradering av dine eksisterende rørsystemer.", tags: ["fornyelse"], imageSrc: "http://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990730.jpg" },
id: "2", title: "Rehabilitering av bad", author: "Pro", description: "Totalrenovering av bad fra start til slutt.", tags: [
"oppussing"],
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-pipe-wrench-screwing-nut_181624-49738.jpg"},
{
id: "3", title: "Vedlikehold & Service", author: "Pro", description: "Faste vedlikeholdsavtaler for optimal drift.", tags: [
"service"],
imageSrc: "http://img.b2bpic.net/free-photo/ratchets-nozzles-wooden-table_23-2148180590.jpg"},
{
id: "4", title: "Feilsøking", author: "Pro", description: "Rask feilsøking ved lekkasjer og driftsproblemer.", tags: [
"akutt"],
imageSrc: "http://img.b2bpic.net/free-photo/man-adjusting-water-tap-with-wrench_259150-58269.jpg"},
{
id: "5", title: "Oppgradering", author: "Pro", description: "Effektiv oppgradering av dine eksisterende rørsystemer.", tags: [
"fornyelse"],
imageSrc: "http://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990730.jpg"},
]} ]}
title="Våre tjenester" title="Våre tjenester"
description="Vi tilbyr et bredt spekter av rørleggertjenester for å møte dine behov." description="Vi tilbyr et bredt spekter av rørleggertjenester for å møte dine behov."
@@ -117,12 +91,9 @@ export default function LandingPage() {
gridVariant="uniform-all-items-equal" gridVariant="uniform-all-items-equal"
useInvertedBackground={false} useInvertedBackground={false}
metrics={[ metrics={[
{ { id: "1", value: "100%", description: "Fornøyde kunder" },
id: "1", value: "100%", description: "Fornøyde kunder"}, { id: "2", value: "20+", description: "Års erfaring" },
{ { id: "3", value: "24/7", description: "Tilgjengelighet" },
id: "2", value: "20+", description: "Års erfaring"},
{
id: "3", value: "24/7", description: "Tilgjengelighet"},
]} ]}
title="Hvorfor velge oss?" title="Hvorfor velge oss?"
description="Vi er kjent for vår pålitelighet, raske respons og profesjonelle holdning i alle ledd." description="Vi er kjent for vår pålitelighet, raske respons og profesjonelle holdning i alle ledd."
@@ -135,23 +106,14 @@ export default function LandingPage() {
textboxLayout="split" textboxLayout="split"
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ { id: "1", name: "Lise Johansen", role: "Privatkunde", company: "Kristiansund", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-construction-workers-posing_23-2149366628.jpg" },
id: "1", name: "Lise Johansen", role: "Privatkunde", company: "Kristiansund", rating: 5, { id: "2", name: "Erik Solberg", role: "Daglig leder", company: "Bedrift AS", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-young-office-worker-woman-sitting-office-desk-happy-excited-with-arms-raised-smiling-cheerfully-office_141793-21244.jpg" },
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-construction-workers-posing_23-2149366628.jpg"}, { id: "3", name: "Marit Hansen", role: "Huseier", company: "Kristiansund", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/female-male-workers-wearing-work-clothes_273609-10992.jpg" },
{
id: "2", name: "Erik Solberg", role: "Daglig leder", company: "Bedrift AS", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-young-office-worker-woman-sitting-office-desk-happy-excited-with-arms-raised-smiling-cheerfully-office_141793-21244.jpg"},
{
id: "3", name: "Marit Hansen", role: "Huseier", company: "Kristiansund", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/female-male-workers-wearing-work-clothes_273609-10992.jpg"},
]} ]}
kpiItems={[ kpiItems={[
{ { value: "4.3/5", label: "Google Rating" },
value: "4.9/5", label: "Google Rating"}, { value: "500+", label: "Fullførte prosjekter" },
{ { value: "100%", label: "Anbefales" },
value: "500+", label: "Fullførte prosjekter"},
{
value: "100%", label: "Anbefales"},
]} ]}
title="Hva våre kunder sier" title="Hva våre kunder sier"
description="Kunder stoler på oss når det virkelig gjelder." description="Kunder stoler på oss når det virkelig gjelder."
@@ -162,12 +124,9 @@ export default function LandingPage() {
<FaqSplitText <FaqSplitText
useInvertedBackground={false} useInvertedBackground={false}
faqs={[ faqs={[
{ { id: "1", title: "Hvor raskt kan dere stille opp?", content: "Vi prioriterer akutte oppdrag og forsøker alltid å hjelpe så raskt som mulig." },
id: "1", title: "Hvor raskt kan dere stille opp?", content: "Vi prioriterer akutte oppdrag og forsøker alltid å hjelpe så raskt som mulig."}, { id: "2", title: "Tilbyr dere befaring?", content: "Ja, vi kommer gjerne på befaring for å gi et uforpliktende pristilbud." },
{ { id: "3", title: "Er dere godkjent bedrift?", content: "Selvfølgelig, vi er en godkjent rørleggerbedrift med alle nødvendige sertifiseringer." },
id: "2", title: "Tilbyr dere befaring?", content: "Ja, vi kommer gjerne på befaring for å gi et uforpliktende pristilbud."},
{
id: "3", title: "Er dere godkjent bedrift?", content: "Selvfølgelig, vi er en godkjent rørleggerbedrift med alle nødvendige sertifiseringer."},
]} ]}
sideTitle="Ofte stilte spørsmål" sideTitle="Ofte stilte spørsmål"
sideDescription="Har du spørsmål om rørleggertjenester? Her finner du svar på det vi oftest blir spurt om." sideDescription="Har du spørsmål om rørleggertjenester? Her finner du svar på det vi oftest blir spurt om."
@@ -176,27 +135,25 @@ export default function LandingPage() {
</div> </div>
<div id="kontakt" data-section="kontakt"> <div id="kontakt" data-section="kontakt">
<ContactText <ContactSplitForm
useInvertedBackground={false} useInvertedBackground={true}
background={{ title="Kontakt oss"
variant: "plain"}} description="Trenger du hjelp fra en rørlegger? Fyll ut skjemaet for et uforpliktende tilbud."
text="Trenger du hjelp fra en rørlegger? Ring oss eller send en melding for et uforpliktende tilbud." inputs={[
buttons={[ { name: "navn", type: "text", placeholder: "Ditt navn" },
{ { name: "epost", type: "email", placeholder: "Din e-post" }
text: "Ring oss: 909 82 333", href: "tel:90982333"},
{
text: "Send e-post", href: "mailto:jour.nilson@gmail.com"},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/plumbing-service-customer-s-house_23-2148404378.jpg"
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterLogoEmphasis
logoText="Joar Nilson & Co" logoText="Joar Nilson & Co"
leftLink={{ columns={[
text: "Personvern", href: "#"}} { items: [{ label: "Tjenester", href: "#tjenester" }, { label: "Om oss", href: "#om-oss" }] },
rightLink={{ { items: [{ label: "Personvern", href: "#" }, { label: "Kontakt", href: "#kontakt" }] }
text: "© 2024 Joar Nilson & Co AS", href: "#"}} ]}
/> />
</div> </div>
</ReactLenis> </ReactLenis>

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #fbfaff; --background: #0a0a0a;
--card: #f7f5ff; --card: #1a1a1a;
--foreground: #0f0022; --foreground: #ffffffe6;
--primary-cta: #8b5cf6; --primary-cta: #e6e6e6;
--primary-cta-text: #f5f5f5; --primary-cta-text: #f5f5f5;
--secondary-cta: #ffffff; --secondary-cta: #1a1a1a;
--secondary-cta-text: #1c1c1c; --secondary-cta-text: #1c1c1c;
--accent: #d8cef5; --accent: #737373;
--background-accent: #c4a8f9; --background-accent: #737373;
/* 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);