Compare commits

...

95 Commits

Author SHA1 Message Date
2ce69ccb8f Merge version_137 into main
Merge version_137 into main
2026-05-17 14:56:31 +00:00
cb2e38f6e4 Update src/app/privacy/page.tsx 2026-05-17 14:56:28 +00:00
c5bb62d85f Update src/app/pricing/page.tsx 2026-05-17 14:56:28 +00:00
d2cbbf2da6 Update src/app/page.tsx 2026-05-17 14:56:27 +00:00
0206c364a5 Update src/app/fleet/page.tsx 2026-05-17 14:56:27 +00:00
2a9b280836 Update src/app/estimate/page.tsx 2026-05-17 14:56:26 +00:00
7c0e54b770 Update src/app/contact-us/page.tsx 2026-05-17 14:56:26 +00:00
bed71fe4e6 Update src/app/contact/page.tsx 2026-05-17 14:56:25 +00:00
af8ba0ab7a Merge version_135 into main
Merge version_135 into main
2026-05-17 14:53:12 +00:00
4741410ed0 Update src/app/page.tsx 2026-05-17 14:53:06 +00:00
d1c392581e Update src/app/fleet/page.tsx 2026-05-17 14:53:05 +00:00
4ce9d78254 Merge version_135 into main
Merge version_135 into main
2026-05-17 14:52:37 +00:00
b9df7eed08 Update src/app/page.tsx 2026-05-17 14:52:34 +00:00
86422d6fd7 Update src/app/fleet/page.tsx 2026-05-17 14:52:33 +00:00
2f5f441ef1 Merge version_134 into main
Merge version_134 into main
2026-05-17 14:51:17 +00:00
be023b83cd Update src/app/privacy/page.tsx 2026-05-17 14:51:13 +00:00
2f00b27cad Update src/app/page.tsx 2026-05-17 14:51:13 +00:00
863033a6ad Update src/app/fleet/page.tsx 2026-05-17 14:51:12 +00:00
23239288ea Update src/app/contact/page.tsx 2026-05-17 14:51:12 +00:00
08e8f7d530 Merge version_133 into main
Merge version_133 into main
2026-05-17 14:49:54 +00:00
80e36262c5 Update src/app/page.tsx 2026-05-17 14:49:48 +00:00
5cbac4b671 Merge version_133 into main
Merge version_133 into main
2026-05-17 14:48:21 +00:00
5727125e86 Update src/app/estimate/page.tsx 2026-05-17 14:48:17 +00:00
dc6b72082c Merge version_133 into main
Merge version_133 into main
2026-05-17 14:47:55 +00:00
cd9e5b80cd Update src/app/estimate/page.tsx 2026-05-17 14:47:52 +00:00
de3efb00a5 Merge version_132 into main
Merge version_132 into main
2026-05-17 14:46:57 +00:00
5766e60fc0 Update src/app/estimate/page.tsx 2026-05-17 14:46:54 +00:00
5280c16a4a Merge version_131 into main
Merge version_131 into main
2026-05-17 14:46:03 +00:00
57003fc4a9 Update src/app/estimate/page.tsx 2026-05-17 14:45:57 +00:00
c7dab92bb6 Merge version_130 into main
Merge version_130 into main
2026-05-17 14:44:55 +00:00
ece53dde05 Update src/app/estimate/page.tsx 2026-05-17 14:44:52 +00:00
37605207cd Merge version_129 into main
Merge version_129 into main
2026-05-17 14:43:46 +00:00
3af8d88fc4 Update src/app/estimate/page.tsx 2026-05-17 14:43:43 +00:00
2c77cf6335 Merge version_128 into main
Merge version_128 into main
2026-05-17 14:42:08 +00:00
2d731f9d2a Update src/app/page.tsx 2026-05-17 14:42:04 +00:00
4486fcf6a9 Merge version_128 into main
Merge version_128 into main
2026-05-17 14:40:15 +00:00
824c6b64f0 Update src/app/privacy/page.tsx 2026-05-17 14:40:11 +00:00
7446dc0fa3 Update src/app/pricing/page.tsx 2026-05-17 14:40:11 +00:00
d771fa47af Update src/app/page.tsx 2026-05-17 14:40:10 +00:00
ab80720bc4 Update src/app/fleet/page.tsx 2026-05-17 14:40:10 +00:00
3248f4b3b7 Update src/app/estimate/page.tsx 2026-05-17 14:40:09 +00:00
798cf41db1 Update src/app/contact-us/page.tsx 2026-05-17 14:40:09 +00:00
00e09af396 Update src/app/contact/page.tsx 2026-05-17 14:40:08 +00:00
730c5809ad Merge version_127 into main
Merge version_127 into main
2026-05-17 14:38:45 +00:00
ea940bba45 Update src/app/page.tsx 2026-05-17 14:38:41 +00:00
160b20469f Merge version_126 into main
Merge version_126 into main
2026-05-17 14:37:09 +00:00
29654597fa Update src/app/page.tsx 2026-05-17 14:37:06 +00:00
c2073b73e5 Update src/app/fleet/page.tsx 2026-05-17 14:37:05 +00:00
270806b579 Merge version_126 into main
Merge version_126 into main
2026-05-17 14:36:38 +00:00
0ff4093e79 Update src/app/page.tsx 2026-05-17 14:36:35 +00:00
50791d085b Update src/app/fleet/page.tsx 2026-05-17 14:36:34 +00:00
3b0d5c0305 Merge version_125 into main
Merge version_125 into main
2026-05-04 02:13:27 +00:00
c2c7911a5a Update src/app/page.tsx 2026-05-04 02:13:20 +00:00
5d48ef1460 Merge version_125 into main
Merge version_125 into main
2026-05-04 02:13:02 +00:00
ae841699b4 Update src/app/page.tsx 2026-05-04 02:12:58 +00:00
ee78895192 Merge version_125 into main
Merge version_125 into main
2026-05-04 02:12:49 +00:00
612a931bce Update src/app/page.tsx 2026-05-04 02:12:46 +00:00
0343d7a584 Merge version_125 into main
Merge version_125 into main
2026-05-04 02:12:34 +00:00
95dff0b7c4 Update src/app/page.tsx 2026-05-04 02:12:30 +00:00
2ec13d95dc Merge version_125 into main
Merge version_125 into main
2026-05-04 02:12:10 +00:00
0a57fe6f53 Update src/app/page.tsx 2026-05-04 02:12:07 +00:00
c618cd522b Merge version_124 into main
Merge version_124 into main
2026-05-04 01:55:38 +00:00
b6abcd9797 Update src/app/page.tsx 2026-05-04 01:55:32 +00:00
5ca831288f Merge version_123 into main
Merge version_123 into main
2026-05-04 01:23:53 +00:00
17ad64ab34 Update src/app/privacy/page.tsx 2026-05-04 01:23:50 +00:00
688f468042 Update src/app/pricing/page.tsx 2026-05-04 01:23:49 +00:00
8a973db170 Update src/app/page.tsx 2026-05-04 01:23:49 +00:00
dd721caa60 Update src/app/fleet/page.tsx 2026-05-04 01:23:48 +00:00
cdd2930f39 Update src/app/estimate/page.tsx 2026-05-04 01:23:47 +00:00
817a141c72 Update src/app/contact-us/page.tsx 2026-05-04 01:23:47 +00:00
b0e1ed7681 Update src/app/contact/page.tsx 2026-05-04 01:23:46 +00:00
167cdcb352 Merge version_122 into main
Merge version_122 into main
2026-05-04 01:19:51 +00:00
27198b3eb4 Update src/app/privacy/page.tsx 2026-05-04 01:19:47 +00:00
976caa88bd Update src/app/pricing/page.tsx 2026-05-04 01:19:47 +00:00
bd937ac24a Update src/app/page.tsx 2026-05-04 01:19:46 +00:00
0c5129b01b Update src/app/fleet/page.tsx 2026-05-04 01:19:46 +00:00
d010c03b36 Update src/app/estimate/page.tsx 2026-05-04 01:19:45 +00:00
c05ede69c5 Update src/app/contact-us/page.tsx 2026-05-04 01:19:44 +00:00
e6f1987cf2 Update src/app/contact/page.tsx 2026-05-04 01:19:44 +00:00
3e1cf10319 Merge version_121 into main
Merge version_121 into main
2026-05-04 01:16:45 +00:00
6479d1e829 Update src/app/page.tsx 2026-05-04 01:16:42 +00:00
01ddc588b3 Merge version_120 into main
Merge version_120 into main
2026-05-04 01:15:28 +00:00
257acd18c8 Update src/app/page.tsx 2026-05-04 01:15:25 +00:00
25b9c98247 Merge version_119 into main
Merge version_119 into main
2026-05-04 01:14:22 +00:00
e37643e08b Update src/app/page.tsx 2026-05-04 01:14:18 +00:00
c37ba0b27a Merge version_119 into main
Merge version_119 into main
2026-05-04 01:11:52 +00:00
a22a1a8d09 Update src/app/fleet/page.tsx 2026-05-04 01:11:49 +00:00
1a1110bb7e Merge version_119 into main
Merge version_119 into main
2026-05-04 01:06:56 +00:00
fb4980caf7 Update src/app/fleet/page.tsx 2026-05-04 01:06:50 +00:00
0f14475c50 Merge version_118 into main
Merge version_118 into main
2026-05-04 01:05:57 +00:00
b203b878aa Update src/app/fleet/page.tsx 2026-05-04 01:05:53 +00:00
61f7810f50 Switch to version 116: modified src/app/layout.tsx 2026-05-04 01:04:09 +00:00
9d124e126b Switch to version 116: modified src/app/fleet/page.tsx 2026-05-04 01:04:09 +00:00
387d70c075 Merge version_117 into main
Merge version_117 into main
2026-05-04 01:03:33 +00:00
440fb5ceb3 Merge version_117 into main
Merge version_117 into main
2026-05-04 01:03:02 +00:00
8 changed files with 172 additions and 138 deletions

View File

@@ -5,6 +5,7 @@ import ReactLenis from "lenis/react";
import ContactCTA from '@/components/sections/contact/ContactCTA'; import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import { Instagram, Facebook } from "lucide-react";
export default function ContactUsPage() { export default function ContactUsPage() {
return ( return (
@@ -51,14 +52,24 @@ export default function ContactUsPage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<div className="flex flex-col items-center py-8">
<div className="flex items-center mb-4 gap-4">
<a href="https://www.instagram.com/cleanscene" target="_blank" rel="noopener noreferrer" aria-label="Follow CleanScene on Instagram" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Instagram size={24} />
</a>
<a href="https://www.facebook.com/people/CleanScene-Restroom-Rentals/61588358724791/?name=xhp_nt__fb__action__open_user" target="_blank" rel="noopener noreferrer" aria-label="CleanScene Restroom Rentals on Facebook" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Facebook size={24} />
</a>
</div>
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] }, { items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] },
{ items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms", href: "/terms" }] }, { items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms and Conditions", href: "/terms" }] },
]} ]}
logoText="" logoText=""
/> />
</div> </div>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -5,6 +5,7 @@ import ReactLenis from "lenis/react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import { Instagram, Facebook } from "lucide-react";
export default function ContactPage() { export default function ContactPage() {
return ( return (
@@ -52,14 +53,24 @@ export default function ContactPage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<div className="flex flex-col items-center py-8">
<div className="flex items-center mb-4 gap-4">
<a href="https://www.instagram.com/cleanscene" target="_blank" rel="noopener noreferrer" aria-label="Follow CleanScene on Instagram" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Instagram size={24} />
</a>
<a href="https://www.facebook.com/people/CleanScene-Restroom-Rentals/61588358724791/?name=xhp_nt__fb__action__open_user" target="_blank" rel="noopener noreferrer" aria-label="CleanScene Restroom Rentals on Facebook" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Facebook size={24} />
</a>
</div>
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] }, { items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] },
{ items: [{ label: "Contact us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms", href: "/terms" }] }, { items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms and Conditions", href: "/terms" }] },
]} ]}
logoText="CleanScene" logoText="CleanScene"
/> />
</div> </div>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -5,6 +5,7 @@ import ReactLenis from "lenis/react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import { Instagram, Facebook } from "lucide-react";
export default function EstimatePage() { export default function EstimatePage() {
return ( return (
@@ -46,6 +47,8 @@ export default function EstimatePage() {
{ name: "full_name", type: "text", placeholder: "Full Name", required: true }, { name: "full_name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email Address", required: true }, { name: "email", type: "email", placeholder: "Email Address", required: true },
{ name: "phone", type: "tel", placeholder: "Phone Number", required: true }, { name: "phone", type: "tel", placeholder: "Phone Number", required: true },
{ name: "guest_count", type: "number", placeholder: "Estimated Guest Count", required: true },
{ name: "event_date_title", type: "text", placeholder: "Event Date", className: "border-none bg-transparent font-semibold mt-4 mb-0 pb-0 text-sm" },
{ name: "event_date", type: "date", placeholder: "Event Date", required: true }, { name: "event_date", type: "date", placeholder: "Event Date", required: true },
{ name: "address", type: "text", placeholder: "Delivery Address", required: true }, { name: "address", type: "text", placeholder: "Delivery Address", required: true },
{ name: "event_type", type: "text", placeholder: "Event Type", required: true }, { name: "event_type", type: "text", placeholder: "Event Type", required: true },
@@ -56,14 +59,24 @@ export default function EstimatePage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<div className="flex flex-col items-center py-8">
<div className="flex items-center mb-4 gap-4">
<a href="https://www.instagram.com/cleanscene" target="_blank" rel="noopener noreferrer" aria-label="Follow CleanScene on Instagram" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Instagram size={24} />
</a>
<a href="https://www.facebook.com/people/CleanScene-Restroom-Rentals/61588358724791/?name=xhp_nt__fb__action__open_user" target="_blank" rel="noopener noreferrer" aria-label="CleanScene Restroom Rentals on Facebook" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Facebook size={24} />
</a>
</div>
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] }, { items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] },
{ items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms", href: "/terms" }] }, { items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms and Conditions", href: "/terms" }] },
]} ]}
logoText="" logoText=""
/> />
</div> </div>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -2,13 +2,12 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCardOne from '@/components/sections/product/ProductCardOne'; import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import HeroBillboard from '@/components/sections/hero/HeroBillboard'; import FeatureCardThree from '@/components/sections/feature/featureCardThree/FeatureCardThree';
import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import { useState } from 'react'; import { useState } from 'react';
import { Shield, Sparkles, UserCheck, CalendarDays, ClipboardList } from 'lucide-react'; import { Instagram, Facebook } from "lucide-react";
export default function FleetPage() { export default function FleetPage() {
const [popupContent, setPopupContent] = useState<{title: string, body: string} | null>(null); const [popupContent, setPopupContent] = useState<{title: string, body: string} | null>(null);
@@ -16,23 +15,23 @@ export default function FleetPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="expand-hover" defaultButtonVariant="expand-hover"
defaultTextAnimation="entrance-slide" defaultTextAnimation="background-highlight"
borderRadius="rounded" borderRadius="rounded"
contentWidth="medium" contentWidth="medium"
sizing="medium" sizing="largeSmallSizeLargeTitles"
background="circleGradient" background="blurBottom"
cardStyle="glass-elevated" cardStyle="soft-shadow"
primaryButtonStyle="gradient" primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass" secondaryButtonStyle="solid"
headingFontWeight="normal" headingFontWeight="bold"
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingInline
navItems={[ navItems={[
{ name: "Home", id: "/" }, { name: "Home", id: "/" },
{ name: "Our Premium Fleet", id: "/fleet" }, { name: "Our Premium Fleet", id: "/fleet" },
{ name: "Contact us", id: "/contact" }, { name: "Contact us", id: "/contact-us" },
]} ]}
brandName="CleanScene" brandName="CleanScene"
logoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777837799704-b8guhfm1.png" logoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777837799704-b8guhfm1.png"
@@ -42,34 +41,8 @@ export default function FleetPage() {
/> />
</div> </div>
<div id="hero" data-section="hero">
<HeroBillboard
title="Our Premium Fleet"
description="Discover our range of luxury mobile restroom trailers, meticulously designed for comfort and elegance."
background={{ variant: "plain" }}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=1"
imageAlt="Fleet"
mediaAnimation="slide-up"
/>
</div>
<div id="features" data-section="features">
<FeatureCardSeven
animationType="slide-up"
textboxLayout="default"
title="Why Choose Our Fleet"
description="Quality, comfort, and reliability in every trailer."
useInvertedBackground={false}
features={[
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=1", imageAlt: "Climate Controlled", title: "Climate Controlled", description: "Stay comfortable in any weather with our advanced climate control systems." },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=1", imageAlt: "Modern Finishings", title: "Modern Finishings", description: "Elegant interior designs that elevate the look and feel of your event." },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=1", imageAlt: "Professional Support", title: "Professional Support", description: "We handle delivery, setup, and maintenance so you don't have to." }
]}
/>
</div>
<div id="fleet-preview" data-section="fleet-preview"> <div id="fleet-preview" data-section="fleet-preview">
<ProductCardOne <ProductCardTwo
animationType="slide-up" animationType="slide-up"
textboxLayout="split-description" textboxLayout="split-description"
gridVariant="four-items-2x2-equal-grid" gridVariant="four-items-2x2-equal-grid"
@@ -77,55 +50,66 @@ export default function FleetPage() {
products={[ products={[
{ {
id: "p1", id: "p1",
brand: "CleanScene",
name: "3 Station, Private Floorplan Restroom Trailer", name: "3 Station, Private Floorplan Restroom Trailer",
price: "$1,375 per day", price: "$1,375 per day",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=2", onProductClick: () => setPopupContent({ rating: 5,
title: "3-Station Private Restroom Trailer", body: "Luxury 3-station trailer." reviewCount: "12",
}) imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=1",
onProductClick: () => setPopupContent({ title: "3-Station Private Restroom Trailer", body: "Modern Finishings" })
}, },
{ {
id: "p2", id: "p2",
brand: "CleanScene",
name: "4 Station, Community Floorplan Restroom Trailer", name: "4 Station, Community Floorplan Restroom Trailer",
price: "$1,825 per day", price: "$1,825 per day",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832470445-mr4qosuh.png", onProductClick: () => setPopupContent({ rating: 5,
title: "4-Station Community Restroom Trailer", body: "Rustic elegance 4-station trailer." reviewCount: "15",
}) imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832470445-mr4qosuh.png?_wi=1",
onProductClick: () => setPopupContent({ title: "4-Station Community Restroom Trailer", body: "Rustic Elegance" })
}, },
{
id: "p3",
name: "Standard Trailer",
price: "$900 per day",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777844457157-k1f0t370.png"
}
]} ]}
title="Our full fleet overview" title="Our premium fleet"
description="Explore our detailed product listings for more information." textBoxTitleClassName="text-[#0a7039]"
description="Premium, climate-controlled mobile restrooms for every event size."
/> />
</div> </div>
{popupContent && ( <div id="features" data-section="features">
<div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm" onClick={() => setPopupContent(null)}> <FeatureCardThree
<div className="bg-white p-8 rounded-lg max-w-2xl shadow-xl overflow-y-auto max-h-[90vh]" onClick={(e) => e.stopPropagation()}> title="Premium interiors for a premium fleet"
<h3 className="text-2xl font-bold mb-4 whitespace-pre-wrap">{popupContent.title}</h3> description="Our restroom trailers are designed for comfort and ease."
<p className="text-gray-700 leading-relaxed whitespace-pre-wrap">{popupContent.body}</p> textboxLayout="default"
<button gridVariant="three-columns-all-equal-width"
className="mt-6 bg-black text-white px-6 py-2 rounded transition" animationType="slide-up"
onClick={() => setPopupContent(null)} features={[
> { title: "Private restrooms with rustic finishings", description: "4-Station, Community Floorplan", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777844457157-thyrfsbj.png" },
Close { title: "Private restrooms with modern finishings", description: "3-Station, Private Floorplan", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777844630022-ryezs5em.jpg?_wi=1" },
</button> { title: "Lighted vanity with rustic finishings", description: "4-Station, Community Floorplan", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777844630022-blt2zl10.jpg" }
]}
useInvertedBackground={false}
/>
</div> </div>
</div>
)}
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBaseCard <div className="flex flex-col items-center py-8">
logoText="CleanScene" <div className="flex items-center mb-4 gap-4">
<a href="https://www.instagram.com/cleanscene" target="_blank" rel="noopener noreferrer" aria-label="Follow CleanScene on Instagram" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Instagram size={24} />
</a>
<a href="https://www.facebook.com/people/CleanScene-Restroom-Rentals/61588358724791/?name=xhp_nt__fb__action__open_user" target="_blank" rel="noopener noreferrer" aria-label="CleanScene Restroom Rentals on Facebook" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Facebook size={24} />
</a>
</div>
<FooterLogoEmphasis
columns={[ columns={[
{ title: "Links", items: [{ label: "Privacy Policy", href: "/privacy" }, { label: "Terms", href: "/terms" }] } { items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] },
{ items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms and Conditions", href: "/terms" }] },
]} ]}
logoText=""
/> />
</div> </div>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -15,8 +15,8 @@ import { Open_Sans } from "next/font/google";
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Our Premium Fleet | CleanScene', title: 'Luxury Restroom Trailer Rentals in Northeast Wisconsin | CleanScene',
description: 'Discover our range of luxury mobile restroom trailers, meticulously designed for comfort and elegance.', description: 'Premium mobile restroom trailer rentals for weddings, corporate events & private estates across Green Bay, Appleton & Door County. Get a free estimate today.',
robots: { robots: {
"index": true, "index": true,
"follow": true "follow": true

View File

@@ -6,8 +6,8 @@ import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi'; import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo'; import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import FeatureCardOne from '@/components/sections/feature/FeatureCardOne';
import TextSplitAbout from '@/components/sections/about/TextSplitAbout'; import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
import { Instagram, Facebook } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -42,13 +42,13 @@ export default function LandingPage() {
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplitKpi <HeroSplitKpi
background={{ variant: "gradient-bars" }} background={{ variant: "gradient-bars" }}
title="Set the Scene for a Flawless Event" title="Premium Portable Restrooms"
titleClassName="text-[#0a7039]" titleClassName="text-[#0a7039]"
description="Proudly serving Northeast Wisconsin - from the Fox Valley to Door County, Shawano to the Lakeshore, and Green Bay. Our premium restroom trailers offer the comfort of a quality interior space to provide a modern hospitality experience." description="Proudly serving Northeast Wisconsin."
kpis={[ kpis={[
{ value: "10+", label: "Counties Served" }, { value: "10+", label: "Counties Served" },
{ value: "100%", label: "Guest Comfort" }, { value: "100%", label: "Guest Comfort" },
{ value: "100%", label: "Rental Satisfaction" }, { value: "100%", label: "Local Team" },
]} ]}
enableKpiAnimation={true} enableKpiAnimation={true}
buttons={[ buttons={[
@@ -66,8 +66,8 @@ export default function LandingPage() {
title="The CleanScene Difference" title="The CleanScene Difference"
titleClassName="text-[#0a7039]" titleClassName="text-[#0a7039]"
description={[ description={[
"Transform the standard event experience by providing luxury sanitation facilities that your guests will truly appreciate.", "Transform the standard event experience by providing premium restroom facilities that your guests will truly appreciate.",
"Hiring premium restroom trailers means you are ensuring immaculate comfort and sophisticated design for your wedding, corporate gathering, or special event, removing any stress about guest facilities." "Hiring premium restroom trailers means you are ensuring immaculate comfort and sophisticated design for your event."
]} ]}
/> />
</div> </div>
@@ -79,8 +79,8 @@ export default function LandingPage() {
gridVariant="asymmetric-60-wide-40-narrow" gridVariant="asymmetric-60-wide-40-narrow"
useInvertedBackground={false} useInvertedBackground={false}
products={[ products={[
{ id: "p1", brand: "CleanScene", name: "3 Station, Private Floorplan Restroom Trailer", price: "$1,375 per day", rating: 5, reviewCount: "128", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=2", onProductClick: () => window.location.href = "/fleet" }, { id: "p1", brand: "CleanScene", name: "3 Station, Private Floorplan Restroom Trailer", price: "$1,375 per day", rating: 5, reviewCount: "12", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832277795-ebq2l26f.png?_wi=2", onProductClick: () => {} },
{ id: "p2", brand: "CleanScene", name: "4 Station, Community Floorplan Restroom Trailer", price: "$1,825 per day", rating: 5, reviewCount: "95", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832470445-mr4qosuh.png?_wi=1", onProductClick: () => window.location.href = "/fleet" }, { id: "p2", brand: "CleanScene", name: "4 Station, Community Floorplan Restroom Trailer", price: "$1,825 per day", rating: 5, reviewCount: "15", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777832470445-mr4qosuh.png?_wi=1", onProductClick: () => {} },
]} ]}
title="Our Premium Fleet" title="Our Premium Fleet"
textBoxTitleClassName="text-[#0a7039]" textBoxTitleClassName="text-[#0a7039]"
@@ -89,32 +89,25 @@ export default function LandingPage() {
/> />
</div> </div>
<div id="features" data-section="features">
<FeatureCardOne
animationType="slide-up"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
title="Let us elevate your event"
cardTitleClassName="text-[#0a7039]"
description="Our premium rental fleet is designed to fit seamlessly into any Northeast Wisconsin event and leave a lasting impression."
features={[
{ title: "Weddings & Private Parties", description: "", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777134554820-hv8fxndc.jpg?_wi=2" },
{ title: "Community Events", description: "", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777134554820-rdizvwfd.jpg?_wi=2" },
{ title: "Corporate Events", description: "", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Cr9i1HT3S4vLNiV9XJ6S4fk81W/uploaded-1777134554820-klkyjyqk.jpg?_wi=2" },
]}
/>
</div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<div className="flex flex-col items-center py-8">
<div className="flex items-center mb-4 gap-4">
<a href="https://www.instagram.com/cleanscene" target="_blank" rel="noopener noreferrer" aria-label="Follow CleanScene on Instagram" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Instagram size={24} />
</a>
<a href="https://www.facebook.com/people/CleanScene-Restroom-Rentals/61588358724791/?name=xhp_nt__fb__action__open_user" target="_blank" rel="noopener noreferrer" aria-label="CleanScene Restroom Rentals on Facebook" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Facebook size={24} />
</a>
</div>
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] }, { items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] },
{ items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms", href: "/terms" }] }, { items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms and Conditions", href: "/terms" }] },
]} ]}
logoText="" logoText=""
/> />
</div> </div>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -5,6 +5,7 @@ import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import PricingCardEight from '@/components/sections/pricing/PricingCardEight'; import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import { Instagram, Facebook } from "lucide-react";
export default function PricingPage() { export default function PricingPage() {
return ( return (
@@ -56,14 +57,24 @@ export default function PricingPage() {
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<div className="flex flex-col items-center py-8">
<div className="flex items-center mb-4 gap-4">
<a href="https://www.instagram.com/cleanscene" target="_blank" rel="noopener noreferrer" aria-label="Follow CleanScene on Instagram" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Instagram size={24} />
</a>
<a href="https://www.facebook.com/people/CleanScene-Restroom-Rentals/61588358724791/?name=xhp_nt__fb__action__open_user" target="_blank" rel="noopener noreferrer" aria-label="CleanScene Restroom Rentals on Facebook" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Facebook size={24} />
</a>
</div>
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Pricing", href: "/pricing" }, { label: "Get My Free Estimate", href: "/estimate" }] }, { items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Pricing", href: "/pricing" }, { label: "Get My Free Estimate", href: "/estimate" }] },
{ items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms", href: "/terms" }] }, { items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms and Conditions", href: "/terms" }] },
]} ]}
logoText="CleanScene" logoText="CleanScene"
/> />
</div> </div>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -4,6 +4,7 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import { Instagram, Facebook } from "lucide-react";
export default function PrivacyPage() { export default function PrivacyPage() {
return ( return (
@@ -43,14 +44,24 @@ export default function PrivacyPage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<div className="flex flex-col items-center py-8">
<div className="flex items-center mb-4 gap-4">
<a href="https://www.instagram.com/cleanscene" target="_blank" rel="noopener noreferrer" aria-label="Follow CleanScene on Instagram" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Instagram size={24} />
</a>
<a href="https://www.facebook.com/people/CleanScene-Restroom-Rentals/61588358724791/?name=xhp_nt__fb__action__open_user" target="_blank" rel="noopener noreferrer" aria-label="CleanScene Restroom Rentals on Facebook" className="text-[#0a7039] hover:opacity-80 transition-opacity">
<Facebook size={24} />
</a>
</div>
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] }, { items: [{ label: "Home", href: "/" }, { label: "Our Premium Fleet", href: "/fleet" }, { label: "Get My Free Estimate", href: "/estimate" }] },
{ items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms", href: "/terms" }] }, { items: [{ label: "Contact Us", href: "/contact-us" }, { label: "Privacy Policy", href: "/privacy" }, { label: "Terms and Conditions", href: "/terms" }] },
]} ]}
logoText="" logoText=""
/> />
</div> </div>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );