Bob AI: Fixed section spacing and overlap issues

This commit is contained in:
kudinDmitriyUp
2026-07-03 07:08:13 +00:00
parent b019cd2650
commit f999f2b5f7
10 changed files with 375 additions and 285 deletions

View File

@@ -22,18 +22,6 @@ export default function Layout() {
{
"name": "Contact",
"href": "#contact"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Metrics",
"href": "#metrics"
},
{
"name": "Testimonials",
"href": "#testimonials"
}
];

View File

@@ -1,285 +1,37 @@
import AboutText from '@/components/sections/about/AboutText';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in the sibling sections/ folder (one file per section).
// Edit those section files directly. Non-block content (wrappers,
// non-inlinable sections) is preserved inline; extracted section blocks
// become component refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import ServicesSection from './HomePage/sections/Services';
import ProjectsSection from './HomePage/sections/Projects';
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="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarquee
tag="Since 2012"
title="Engineering Excellence in the Northern Cape"
description="Trusted project management, OEM maintenance, and lifecycle contracts for mining and heavy industry. Providing reliable regional engineering solutions."
primaryButton={{
text: "Explore Our Services",
href: "#services",
}}
secondaryButton={{
text: "Contact Us",
href: "#contact",
}}
leftItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/old-weathered-house-with-mountain-range-background_53876-47060.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/computer-display-empty-facility-used-upgrading-solar-plant-machinery_482257-118310.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-front-end-loader-moving-soil-quarry_1308-190385.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/architecture-plan-blueprint-layout-work-concept_53876-124260.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/view-city-bridge-with-train-london_23-2149437440.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-desk_23-2147653318.jpg",
},
]}
rightItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/male-jeweler-working-shop_23-2150914170.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/grey-concrete-building-with-multiple-windows_250224-252.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/technician-optimizing-energy-supply-solar-panel-manufacturing-plant_482257-120594.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/abstract-city-building-shadows_23-2149283224.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/business-plan-corporate-development-process_53876-124514.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/agricultural-silo_146671-19121.jpg",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="A proven partner in mining reliability. Record Engineering Pty Ltd combines local presence with technical precision to optimize lifecycle performance."
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesDetailedSteps
tag="Our Expertise"
title="Core Service Capabilities"
description="Comprehensive engineering solutions designed to minimize downtime and maximize asset lifecycle performance."
steps={[
{
tag: "Core",
title: "Project Management",
subtitle: "Full-cycle delivery",
description: "From planning to execution, we ensure projects meet safety and efficiency targets.",
imageSrc: "http://img.b2bpic.net/free-photo/professional-female-driver-operating-forklift-vehicle_23-2150248807.jpg",
},
{
tag: "Essential",
title: "OEM Maintenance",
subtitle: "Equipment longevity",
description: "High-standard maintenance tailored to original manufacturer specifications.",
imageSrc: "http://img.b2bpic.net/free-photo/team-leader-tells-workers-how-optimize-energy-supply-photovoltaics-factory_482257-119720.jpg",
},
{
tag: "Asset",
title: "Lifecycle Contracts",
subtitle: "Strategic reliability",
description: "Comprehensive asset lifecycle management to control long-term operating costs.",
imageSrc: "http://img.b2bpic.net/free-photo/salina-turda-salt-mine-romania_1268-20069.jpg",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="projects" data-section="projects">
<SectionErrorBoundary name="projects">
<FeaturesImageBento
tag="Project Portfolio"
title="Industrial Excellence In Focus"
description="Showcasing our precision in engineering fabrication and large-scale mining infrastructure projects."
items={[
{
title: "Precision Fabrication",
description: "Custom mechanical solutions.",
imageSrc: "http://img.b2bpic.net/free-photo/technological-background-close-up_23-2148882600.jpg",
},
{
title: "Structural Steelwork",
description: "Mining site installations.",
imageSrc: "http://img.b2bpic.net/free-photo/large-building-site_1127-3252.jpg",
},
{
title: "Fluid Dynamics",
description: "Engineered pump systems.",
imageSrc: "http://img.b2bpic.net/free-photo/computer-monitor-solar-panels-plant-troubleshooting-technical-issues_482257-119073.jpg",
},
{
title: "Safety Protocols",
description: "Integrated site compliance.",
imageSrc: "http://img.b2bpic.net/free-photo/male-engineer-female-factory-worker-hardhats-standing-talking-plant-floor-man-using-tablet_74855-16406.jpg",
},
{
title: "Workshop Services",
description: "Heavy machinery bay maintenance.",
imageSrc: "http://img.b2bpic.net/free-photo/heavy-machinery-units-high-tech-solar-panel-warehouse-3d-illustration_482257-77941.jpg",
},
{
title: "Electrical Engineering",
description: "Site infrastructure support.",
imageSrc: "http://img.b2bpic.net/free-photo/train-rails-country-landscape_23-2148139937.jpg",
},
{
title: "Mining Excavation",
description: "Large scale engineering.",
imageSrc: "http://img.b2bpic.net/free-photo/heavy-machinery-used-construction-industry-engineering_23-2151307729.jpg",
},
]}
textAnimation="fade"
/>
</SectionErrorBoundary>
</div>
<ProjectsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Impact"
title="By The Numbers"
description="Trusted performance for the mining sector."
metrics={[
{
value: "12+",
description: "Years in operation",
},
{
value: "250+",
description: "Projects delivered",
},
{
value: "80+",
description: "Professional staff",
},
{
value: "4.4*",
description: "Customer rating",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Client Trust"
title="Proven Reliability"
description="Hear what our partners in the mining and heavy industry sectors have to say."
testimonials={[
{
name: "David M.",
role: "Ops Manager",
company: "MineCorp",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-engineer-solar-panels-plant-reading-documentation_482257-120499.jpg",
},
{
name: "Sarah K.",
role: "Procurement",
company: "IndustryPro",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/workman-factory-writing-notes_1303-30620.jpg",
},
{
name: "James L.",
role: "Engineer",
company: "MiningTech",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/two-architects-works-front-building-site_1398-5098.jpg",
},
{
name: "Linda P.",
role: "Ops Director",
company: "ResourceSolutions",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-tractor-operator_1398-1880.jpg",
},
{
name: "Robert B.",
role: "Site Supervisor",
company: "HeavyCo",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-male-electrician-standing-against-wall_23-2148087578.jpg",
},
]}
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Common Inquiries"
description="Answers to frequently asked questions about our engineering services."
items={[
{
question: "Where is your primary service area?",
answer: "We specialize in the Northern Cape mining and industrial regions, ensuring rapid local deployment.",
},
{
question: "Do you provide OEM maintenance?",
answer: "Yes, we adhere strictly to OEM standards for all mechanical maintenance and repairs.",
},
{
question: "How do we request a project consultation?",
answer: "Simply fill out our contact form below or call our office during business hours.",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Inquiry"
text="Discuss your engineering requirements with our professional team today."
primaryButton={{
text: "Contact Us",
href: "#",
}}
secondaryButton={{
text: "View Careers",
href: "#",
}}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,19 @@
// 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 AboutText from '@/components/sections/about/AboutText';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="A proven partner in mining reliability. Record Engineering Pty Ltd combines local presence with technical precision to optimize lifecycle performance."
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// 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="Inquiry"
text="Discuss your engineering requirements with our professional team today."
primaryButton={{
text: "Contact Us",
href: "#",
}}
secondaryButton={{
text: "View Careers",
href: "#",
}}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,35 @@
// 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 FaqSimple from '@/components/sections/faq/FaqSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Common Inquiries"
description="Answers to frequently asked questions about our engineering services."
items={[
{
question: "Where is your primary service area?",
answer: "We specialize in the Northern Cape mining and industrial regions, ensuring rapid local deployment.",
},
{
question: "Do you provide OEM maintenance?",
answer: "Yes, we adhere strictly to OEM standards for all mechanical maintenance and repairs.",
},
{
question: "How do we request a project consultation?",
answer: "Simply fill out our contact form below or call our office during business hours.",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,69 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarquee
tag="Since 2012"
title="Engineering Excellence in the Northern Cape"
description="Trusted project management, OEM maintenance, and lifecycle contracts for mining and heavy industry. Providing reliable regional engineering solutions."
primaryButton={{
text: "Explore Our Services",
href: "#services",
}}
secondaryButton={{
text: "Contact Us",
href: "#contact",
}}
leftItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/old-weathered-house-with-mountain-range-background_53876-47060.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/computer-display-empty-facility-used-upgrading-solar-plant-machinery_482257-118310.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-front-end-loader-moving-soil-quarry_1308-190385.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/architecture-plan-blueprint-layout-work-concept_53876-124260.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/view-city-bridge-with-train-london_23-2149437440.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/businessman-working-desk_23-2147653318.jpg",
},
]}
rightItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/male-jeweler-working-shop_23-2150914170.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/grey-concrete-building-with-multiple-windows_250224-252.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/technician-optimizing-energy-supply-solar-panel-manufacturing-plant_482257-120594.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/abstract-city-building-shadows_23-2149283224.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/business-plan-corporate-development-process_53876-124514.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/agricultural-silo_146671-19121.jpg",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,39 @@
// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Impact"
title="By The Numbers"
description="Trusted performance for the mining sector."
metrics={[
{
value: "12+",
description: "Years in operation",
},
{
value: "250+",
description: "Projects delivered",
},
{
value: "80+",
description: "Professional staff",
},
{
value: "4.4*",
description: "Customer rating",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,58 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "projects" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProjectsSection(): React.JSX.Element {
return (
<div id="projects" data-section="projects">
<SectionErrorBoundary name="projects">
<FeaturesImageBento
tag="Project Portfolio"
title="Industrial Excellence In Focus"
description="Showcasing our precision in engineering fabrication and large-scale mining infrastructure projects."
items={[
{
title: "Precision Fabrication",
description: "Custom mechanical solutions.",
imageSrc: "http://img.b2bpic.net/free-photo/technological-background-close-up_23-2148882600.jpg",
},
{
title: "Structural Steelwork",
description: "Mining site installations.",
imageSrc: "http://img.b2bpic.net/free-photo/large-building-site_1127-3252.jpg",
},
{
title: "Fluid Dynamics",
description: "Engineered pump systems.",
imageSrc: "http://img.b2bpic.net/free-photo/computer-monitor-solar-panels-plant-troubleshooting-technical-issues_482257-119073.jpg",
},
{
title: "Safety Protocols",
description: "Integrated site compliance.",
imageSrc: "http://img.b2bpic.net/free-photo/male-engineer-female-factory-worker-hardhats-standing-talking-plant-floor-man-using-tablet_74855-16406.jpg",
},
{
title: "Workshop Services",
description: "Heavy machinery bay maintenance.",
imageSrc: "http://img.b2bpic.net/free-photo/heavy-machinery-units-high-tech-solar-panel-warehouse-3d-illustration_482257-77941.jpg",
},
{
title: "Electrical Engineering",
description: "Site infrastructure support.",
imageSrc: "http://img.b2bpic.net/free-photo/train-rails-country-landscape_23-2148139937.jpg",
},
{
title: "Mining Excavation",
description: "Large scale engineering.",
imageSrc: "http://img.b2bpic.net/free-photo/heavy-machinery-used-construction-industry-engineering_23-2151307729.jpg",
},
]}
textAnimation="fade"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,44 @@
// 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 FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesDetailedSteps
tag="Our Expertise"
title="Core Service Capabilities"
description="Comprehensive engineering solutions designed to minimize downtime and maximize asset lifecycle performance."
steps={[
{
tag: "Core",
title: "Project Management",
subtitle: "Full-cycle delivery",
description: "From planning to execution, we ensure projects meet safety and efficiency targets.",
imageSrc: "http://img.b2bpic.net/free-photo/professional-female-driver-operating-forklift-vehicle_23-2150248807.jpg",
},
{
tag: "Essential",
title: "OEM Maintenance",
subtitle: "Equipment longevity",
description: "High-standard maintenance tailored to original manufacturer specifications.",
imageSrc: "http://img.b2bpic.net/free-photo/team-leader-tells-workers-how-optimize-energy-supply-photovoltaics-factory_482257-119720.jpg",
},
{
tag: "Asset",
title: "Lifecycle Contracts",
subtitle: "Strategic reliability",
description: "Comprehensive asset lifecycle management to control long-term operating costs.",
imageSrc: "http://img.b2bpic.net/free-photo/salina-turda-salt-mine-romania_1268-20069.jpg",
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,58 @@
// 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 TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Client Trust"
title="Proven Reliability"
description="Hear what our partners in the mining and heavy industry sectors have to say."
testimonials={[
{
name: "David M.",
role: "Ops Manager",
company: "MineCorp",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-engineer-solar-panels-plant-reading-documentation_482257-120499.jpg",
},
{
name: "Sarah K.",
role: "Procurement",
company: "IndustryPro",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/workman-factory-writing-notes_1303-30620.jpg",
},
{
name: "James L.",
role: "Engineer",
company: "MiningTech",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/two-architects-works-front-building-site_1398-5098.jpg",
},
{
name: "Linda P.",
role: "Ops Director",
company: "ResourceSolutions",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-tractor-operator_1398-1880.jpg",
},
{
name: "Robert B.",
role: "Site Supervisor",
company: "HeavyCo",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-male-electrician-standing-against-wall_23-2148087578.jpg",
},
]}
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
);
}