Merge version_2_1781405911215 into main #3

Merged
bender merged 1 commits from version_2_1781405911215 into main 2026-06-14 03:01:51 +00:00
11 changed files with 313 additions and 144 deletions

View File

@@ -21,8 +21,8 @@ export default function Layout() {
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="Blackhawk"
logoImageSrc="https://storage.googleapis.com/webild/default/no-image.jpg?id=to9vol"
logo="Blackhawk Fueling"
logoImageSrc="https://images.unsplash.com/photo-1596461404969-9ce20c718f1f?q=80&w=2070&auto=format&fit=crop"
ctaButton={{
text: "Get Fuel Now", href: "#contact"}}
navItems={navItems}

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #f5faff;
--card: #ffffff;
--foreground: #001122;
--primary-cta: #15479c;
--primary-cta-text: #f5faff;
--secondary-cta: #ffffff;
--secondary-cta-text: #001122;
--accent: #a8cce8;
--background-accent: #7ba3cf;
--background: #1a1a1a;
--card: #2a2a2a;
--foreground: #f5f5f5;
--primary-cta: #4b5320;
--primary-cta-text: #ffffff;
--secondary-cta: #333333;
--secondary-cta-text: #f5f5f5;
--accent: #556b2f;
--background-accent: #2c3e18;
/* @layout/border-radius/rounded */
--radius: 1.5rem;

View File

@@ -1,145 +1,36 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
export default function HomePage() {
import React from 'react';
import HomeSection from './HomePage/sections/Home';
import AboutSection from './HomePage/sections/About';
import FeaturesSection from './HomePage/sections/Features';
import ServicesSection from './HomePage/sections/Services';
import MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="home" data-section="home">
<SectionErrorBoundary name="home">
<HeroSplitMediaGrid
tag="Trusted Fuel Distribution"
title="On-Site Fueling for Highlands County & Taney Areas"
description="Blackhawk Fueling provides reliable, on-site mobile fueling services for fleet vehicles and industrial equipment. Keep your operations moving without the downtime."
primaryButton={{
text: "Request Service", href: "#contact"}}
secondaryButton={{
text: "Learn More", href: "#about"}}
items={[
{ imageSrc: "http://img.b2bpic.net/free-photo/excavator-digging-day-light-outdoors_23-2149194801.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-gas-station_23-2148906371.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<>
<HomeSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="About Blackhawk"
title="Your Partner in On-Site Reliability"
description="We specialize in delivering fuel directly to your site, ensuring your heavy equipment and fleet vehicles are always ready for action. With a focus on efficiency and safety, we serve Highlands County and surrounding Taney regions."
imageSrc="http://img.b2bpic.net/free-photo/people-spending-time-gas-station_23-2150440250.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBentoGrid
tag="Why Choose Us"
title="Benefits of On-Site Fueling"
description="Maximize productivity and minimize overhead with our professional onsite fueling solutions."
features={[
{
title: "Fleet Readiness", description: "Keep your fleet running with scheduled mobile fueling.", imageSrc: "http://img.b2bpic.net/free-photo/laptop-delivery-truck-with-box_23-2148790057.jpg"},
{
title: "Equipment Support", description: "Direct fueling for excavators, generators, and heavy machinery.", imageSrc: "http://img.b2bpic.net/free-vector/construction-design_24908-54528.jpg"},
{
title: "Timely Deliveries", description: "Reliable schedules tailored to your business operational hours.", imageSrc: "http://img.b2bpic.net/free-photo/clock-with-arrow-time-concept_187299-46702.jpg"},
{
title: "Safety First", description: "Certified handling and high safety standards on every job site.", imageSrc: "http://img.b2bpic.net/free-photo/golden-correct-sign-best-quality-assurance-guarantee-product-iso-service-concept_616485-97.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesImageBento
tag="Our Services"
title="Specialized Fueling Solutions"
description="Tailored fueling plans designed to power various industrial sectors."
items={[
{ title: "Fleet Services", description: "On-site tank filling.", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-hydraulic-elements_23-2149333325.jpg" },
{ title: "Construction", description: "Heavy machinery support.", imageSrc: "http://img.b2bpic.net/free-photo/heavy-excavator-digging-day-light-outdoors_23-2149194823.jpg" },
{ title: "Agriculture", description: "Fueling for farming equipment.", imageSrc: "http://img.b2bpic.net/free-photo/people-tractor_23-2150454934.jpg" },
{ title: "Generators", description: "Emergency power supply support.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-water-temperature-indicator-ship_181624-12023.jpg" },
{ title: "Logistics", description: "Dedicated fleet fueling schedules.", imageSrc: "http://img.b2bpic.net/free-photo/green-tanker-truck-driving-winter-highway-fuel-logistics-transport_169016-71511.jpg" },
{ title: "Site Prep", description: "Bulk delivery to remote job sites.", imageSrc: "http://img.b2bpic.net/free-photo/beer-kegs-rows_1398-2539.jpg" },
{ title: "Consulting", description: "Fuel inventory management plans.", imageSrc: "http://img.b2bpic.net/free-photo/shareholders-meet-with-solar-panels-plant-managers-ask-technical-questions_482257-119331.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Our Impact"
title="Fueling Productivity"
description="Real-world results for our partners in Highlands County."
metrics={[
{ icon: "Droplets", title: "Gallons Delivered", value: "1M+" },
{ icon: "Clock", title: "Downtime Prevented", value: "50k+ hrs" },
{ icon: "Users", title: "Active Clients", value: "200+" },
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Testimonials"
title="Partner Success Stories"
description="What our clients in the Taney region are saying."
testimonials={[
{ name: "John Doe", role: "Operations Manager", company: "RoadWorks Inc", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/technician-optimizing-data-center-equipment-maximum-efficiency_482257-117650.jpg" },
{ name: "Sarah Smith", role: "Site Lead", company: "Highlands Constr", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smiling-professional-female-engineer-saleswoman-estate-agent-showing-location-client-standing_1258-95851.jpg" },
{ name: "Mike Brown", role: "Fleet Dispatcher", company: "Transport Express", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smart-indian-engineer-man-wearing-safety-helmet-doing-stock-tick-check-cardboard-stock-product-management-factory-warehouse-background_609648-1385.jpg" },
{ name: "Lisa Ray", role: "CEO", company: "Green Farms Ltd", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/confident-businesswoman-holding-pen_1098-2049.jpg" },
{ name: "David Chan", role: "Logistics Lead", company: "Taney Delivery", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-warehouse-worker-with-tablet-standing-storage-department_342744-1465.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="FAQs"
title="Common Questions"
description="Everything you need to know about our fueling services."
categories={[
{
name: "General", items: [
{ question: "What areas do you serve?", answer: "We serve all of Highlands County and the surrounding Taney regions." },
{ question: "Can you fill large tanks?", answer: "Yes, we handle various tank sizes for heavy industrial equipment." },
{ question: "How do we schedule?", answer: "You can reach us online or by phone to set up a recurring schedule." },
],
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Start Fueling"
text="Ready to streamline your site operations? Contact Blackhawk Fueling today."
primaryButton={{ text: "Contact Us", href: "#contact" }}
secondaryButton={{ text: "View Coverage", href: "#about" }}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="About Blackhawk"
title="Your Partner in On-Site Reliability"
description="We specialize in delivering fuel directly to your site, ensuring your heavy equipment and fleet vehicles are always ready for action. With a focus on efficiency and safety, we serve Highlands County and surrounding Taney regions."
imageSrc="http://img.b2bpic.net/free-photo/people-spending-time-gas-station_23-2150440250.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Start Fueling"
text="Ready to streamline your site operations? Contact Blackhawk Fueling today."
primaryButton={{ text: "Contact Us", href: "#contact" }}
secondaryButton={{ text: "View Coverage", href: "#about" }}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="FAQs"
title="Common Questions"
description="Everything you need to know about our fueling services."
categories={[
{
name: "General", items: [
{ question: "What areas do you serve?", answer: "We serve all of Highlands County and the surrounding Taney regions." },
{ question: "Can you fill large tanks?", answer: "Yes, we handle various tank sizes for heavy industrial equipment." },
{ question: "How do we schedule?", answer: "You can reach us online or by phone to set up a recurring schedule." },
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,30 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "features" section.
import React from 'react';
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBentoGrid
tag="Why Choose Us"
title="Benefits of On-Site Fueling"
description="Maximize productivity and minimize overhead with our professional onsite fueling solutions."
features={[
{
title: "Fleet Readiness", description: "Keep your fleet running with scheduled mobile fueling.", imageSrc: "http://img.b2bpic.net/free-photo/laptop-delivery-truck-with-box_23-2148790057.jpg"},
{
title: "Equipment Support", description: "Direct fueling for excavators, generators, and heavy machinery.", imageSrc: "http://img.b2bpic.net/free-vector/construction-design_24908-54528.jpg"},
{
title: "Timely Deliveries", description: "Reliable schedules tailored to your business operational hours.", imageSrc: "http://img.b2bpic.net/free-photo/clock-with-arrow-time-concept_187299-46702.jpg"},
{
title: "Safety First", description: "Certified handling and high safety standards on every job site.", imageSrc: "http://img.b2bpic.net/free-photo/golden-correct-sign-best-quality-assurance-guarantee-product-iso-service-concept_616485-97.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,96 @@
/* eslint-disable */
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
import Button from "@/components/ui/Button";
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import AvatarGroup from "@/components/ui/AvatarGroup";
const primaryButton = {
href: "#contact",
text: "Request Service"
};
const secondaryButton = {
href: "#about",
text: "Learn More"
};
type HeroOverlayProps = {
tag: string;
title: string;
description: string;
primaryButton: { text: string; href: string };
secondaryButton: { text: string; href: string };
avatarsSrc?: string[];
avatarsLabel?: string;
} & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never });
const HomeInline = () => {
return (
<section
aria-label="Hero section"
className="relative w-full h-svh overflow-hidden flex flex-col justify-end mb-20"
>
<HeroBackgroundSlot />
<div
className="absolute inset-0 z-10 opacity-20 pointer-events-none"
style={{
backgroundImage: `url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h20v20H0V0zm20 20h20v20H20V20zm20-20h20v20H40V0zm20 40h20v20H60V40zM0 40h20v20H0V40zm40 20h20v20H40V60zm40-40h20v20H80V20zm-20 60h20v20H60V80zM20 80h20v20H20V80zM0 80h20v20H0V80zm80 0h20v20H80V80z' fill='%234b5320' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E")`,
backgroundSize: '100px 100px'
}}
/>
<ImageOrVideo
imageSrc={"https://images.unsplash.com/photo-1595123550441-d377e017ea3a?q=80&w=2000&auto=format&fit=crop"}
className="absolute inset-0 w-full h-full object-cover rounded-none"
/>
<div
className="absolute z-10 w-[150vw] h-[150vw] left-0 bottom-0 -translate-x-1/2 translate-y-1/2 backdrop-blur mask-[radial-gradient(circle,black_20%,transparent_70%)]"
aria-hidden="true"
/>
<div className="relative z-10 w-content-width mx-auto pb-10 md:pb-25">
<div className="flex flex-col gap-3 w-full md:w-6/10 lg:w-1/2 xl:w-45/100 2xl:w-4/10">
<div className="w-fit px-3 py-1 mb-1 text-sm card rounded">
<p>{"Trusted Fuel Distribution"}</p>
</div>
<TextAnimation
text={"On-Site Fueling for Highlands County & Surrounding Areas"}
variant="fade"
gradientText={true}
tag="h1"
className="text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-white text-balance"
/>
<TextAnimation
text={"Blackhawk Fueling provides reliable, on-site mobile fueling services for fleet vehicles and industrial equipment across Highlands County and surrounding areas. Keep your operations moving without the downtime."}
variant="fade"
gradientText={false}
tag="p"
className="text-lg md:text-xl text-white leading-snug text-balance"
/>
<div className="flex flex-wrap gap-3 mt-2 md:mt-3">
<Button text={primaryButton.text} href={primaryButton.href} variant="primary"/>
<Button text={secondaryButton.text} href={secondaryButton.href} variant="secondary"animationDelay={0.1} />
</div>
{undefined && undefined.length > 0 && (
<div className="mt-3 md:mt-4">
<AvatarGroup size="lg" labelClassName="text-primary-cta-text" />
</div>
)}
</div>
</div>
</section>
);
};
export default function HomeSection() {
return (
<div data-webild-section="home" id="home">
<HomeInline />
</div>
);
}

View File

@@ -0,0 +1,25 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Our Impact"
title="Fueling Productivity"
description="Real-world results for our partners in Highlands County."
metrics={[
{ icon: "Droplets", title: "Gallons Delivered", value: "1M+" },
{ icon: "Clock", title: "Downtime Prevented", value: "50k+ hrs" },
{ icon: "Users", title: "Active Clients", value: "200+" },
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "services" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesImageBento
tag="Our Services"
title="Specialized Fueling Solutions"
description="Tailored fueling plans designed to power various industrial sectors."
items={[
{ title: "Fleet Services", description: "On-site tank filling.", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-hydraulic-elements_23-2149333325.jpg" },
{ title: "Construction", description: "Heavy machinery support.", imageSrc: "http://img.b2bpic.net/free-photo/heavy-excavator-digging-day-light-outdoors_23-2149194823.jpg" },
{ title: "Agriculture", description: "Fueling for farming equipment.", imageSrc: "http://img.b2bpic.net/free-photo/people-tractor_23-2150454934.jpg" },
{ title: "Generators", description: "Emergency power supply support.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-water-temperature-indicator-ship_181624-12023.jpg" },
{ title: "Logistics", description: "Dedicated fleet fueling schedules.", imageSrc: "http://img.b2bpic.net/free-photo/green-tanker-truck-driving-winter-highway-fuel-logistics-transport_169016-71511.jpg" },
{ title: "Site Prep", description: "Bulk delivery to remote job sites.", imageSrc: "http://img.b2bpic.net/free-photo/beer-kegs-rows_1398-2539.jpg" },
{ title: "Consulting", description: "Fuel inventory management plans.", imageSrc: "http://img.b2bpic.net/free-photo/shareholders-meet-with-solar-panels-plant-managers-ask-technical-questions_482257-119331.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Testimonials"
title="Partner Success Stories"
description="What our clients in the Taney region are saying."
testimonials={[
{ name: "John Doe", role: "Operations Manager", company: "RoadWorks Inc", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/technician-optimizing-data-center-equipment-maximum-efficiency_482257-117650.jpg" },
{ name: "Sarah Smith", role: "Site Lead", company: "Highlands Constr", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smiling-professional-female-engineer-saleswoman-estate-agent-showing-location-client-standing_1258-95851.jpg" },
{ name: "Mike Brown", role: "Fleet Dispatcher", company: "Transport Express", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smart-indian-engineer-man-wearing-safety-helmet-doing-stock-tick-check-cardboard-stock-product-management-factory-warehouse-background_609648-1385.jpg" },
{ name: "Lisa Ray", role: "CEO", company: "Green Farms Ltd", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/confident-businesswoman-holding-pen_1098-2049.jpg" },
{ name: "David Chan", role: "Logistics Lead", company: "Taney Delivery", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-warehouse-worker-with-tablet-standing-storage-department_342744-1465.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
);
}