Compare commits
4 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 347b5e3a0f | |||
|
|
10bf7d0357 | ||
| 13897d6f38 | |||
| 55bfc5c60f |
@@ -1,165 +1,27 @@
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
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 HeroSection from './HomePage/sections/Hero';
|
||||
import StatsSection from './HomePage/sections/Stats';
|
||||
import IntroSection from './HomePage/sections/Intro';
|
||||
import ProductsGridSection from './HomePage/sections/ProductsGrid';
|
||||
import CtaSection from './HomePage/sections/Cta';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardCarousel
|
||||
tag="Trusted Vertical Transportation Experts"
|
||||
title="Elevating Safety, Comfort & Innovation"
|
||||
description="Ghani Elevators is a leading vertical transportation provider in Pakistan, delivering high-quality elevators, escalators, and lift services for residential, commercial, and industrial projects with 10+ years of expertise."
|
||||
primaryButton={{
|
||||
text: "Get in Touch",
|
||||
href: "/contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Learn More",
|
||||
href: "/about",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/asian-women-looking-something-phone_23-2149122959.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/electrician-overalls-focused-work-switchboard-with-fuses-using-tablet_169016-66859.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-modern-office_1170-1962.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/one-working-day-modern-automatic-bus-trolleybus-car-production-with-unfinished-cars-workers-protective-uniform-factory-background-automobile-assembly-line-welding-arm_645730-350.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-modern-office-buildings_1359-388.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/electrician-overalls-focused-work-switchboard-with-fuses-using-tablet_169016-66888.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="stats" data-section="stats">
|
||||
<SectionErrorBoundary name="stats">
|
||||
<MetricsSimpleCards
|
||||
tag="Proven Capability"
|
||||
title="Unmatched Experience & Capability"
|
||||
description="A decade of dedication to vertical engineering in Pakistan."
|
||||
metrics={[
|
||||
{
|
||||
value: "10+",
|
||||
description: "Years of Technical Experience",
|
||||
},
|
||||
{
|
||||
value: "22+",
|
||||
description: "Regions Served Nationwide",
|
||||
},
|
||||
{
|
||||
value: "90+",
|
||||
description: "Satisfied Clients Delivered",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<StatsSection />
|
||||
|
||||
<div id="intro" data-section="intro">
|
||||
<SectionErrorBoundary name="intro">
|
||||
<FeaturesRevealCards
|
||||
tag="About Us"
|
||||
title="Why Trust Ghani Elevators"
|
||||
description="We are a reputable engineering firm built on the pillars of safety, long-term partnership, and technical precision."
|
||||
items={[
|
||||
{
|
||||
title: "Proven Reliability",
|
||||
description: "Committed to timely, professional project delivery for every client.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/technology-background-texture_23-2148105473.jpg",
|
||||
},
|
||||
{
|
||||
title: "Vast Industry Experience",
|
||||
description: "10+ years of expertise providing tailored vertical solutions for complex needs.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/industry-40-photovoltaics-plant-senior-engineer-reading-paperwork_482257-119565.jpg",
|
||||
},
|
||||
{
|
||||
title: "Long-Term Partnerships",
|
||||
description: "We stand by our installations with professional maintenance and after-sales support.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/supply-chain-goods-with-delivery-order-information-barcodes_482257-83379.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<IntroSection />
|
||||
|
||||
<div id="products-grid" data-section="products-grid">
|
||||
<SectionErrorBoundary name="products-grid">
|
||||
<FeaturesImageBento
|
||||
tag="Our Equipment"
|
||||
title="Vertical Transportation Solutions"
|
||||
description="Explore our wide range of professional-grade equipment."
|
||||
items={[
|
||||
{
|
||||
title: "Passenger Elevators",
|
||||
description: "Reliable transport for homes and towers.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/escalator-top-view_1150-18045.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hydraulic Elevators",
|
||||
description: "Precise mechanical performance solutions.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/detail-shot-machinery-factory_1359-268.jpg",
|
||||
},
|
||||
{
|
||||
title: "MRL Elevators",
|
||||
description: "Space-saving machine room technology.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-teenager-friends-long-shot_23-2149241567.jpg",
|
||||
},
|
||||
{
|
||||
title: "Residential Lifts",
|
||||
description: "Elegant lifting solutions for homes.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/couple-home-spending-time-together_23-2149185029.jpg",
|
||||
},
|
||||
{
|
||||
title: "Freight Elevators",
|
||||
description: "Sturdy units for industrial logistics.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/warehouse-workers-checking-inventory-goods-distribution-large-storehouse_342744-1482.jpg",
|
||||
},
|
||||
{
|
||||
title: "Escalators",
|
||||
description: "Smooth movement for high-footfall areas.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/modern-escalator-shopping-center_1127-2856.jpg",
|
||||
},
|
||||
{
|
||||
title: "Dumbwaiters",
|
||||
description: "Smart, compact institutional units.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-using-electric-car-charging-station_23-2149458022.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductsGridSection />
|
||||
|
||||
<div id="cta" data-section="cta">
|
||||
<SectionErrorBoundary name="cta">
|
||||
<ContactCta
|
||||
tag="Let's Connect"
|
||||
text="Ready to get started? Let’s talk about your project needs."
|
||||
primaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "/contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Projects",
|
||||
href: "/projects",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<CtaSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
27
src/pages/HomePage/sections/Cta.tsx
Normal file
27
src/pages/HomePage/sections/Cta.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "cta" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function CtaSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="cta" data-section="cta">
|
||||
<SectionErrorBoundary name="cta">
|
||||
<ContactCta
|
||||
tag="Let's Connect"
|
||||
text="Ready to get started? Let’s talk about your project needs."
|
||||
primaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "/contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Projects",
|
||||
href: "/projects",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
18
src/pages/HomePage/sections/Hero.tsx
Normal file
18
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
// Created by add_section_from_catalog (HeroBillboardBrand).
|
||||
|
||||
import React from 'react';
|
||||
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="hero" id="hero">
|
||||
<HeroBillboardBrand
|
||||
imageSrc="http://img.b2bpic.net/free-photo/view-modern-office_1170-1962.jpg"
|
||||
description="Elevating Safety, Comfort & Innovation. Ghani Elevators is a leading vertical transportation provider in Pakistan, delivering high-quality elevators, escalators, and lift services for residential, commercial, and industrial projects with 10+ years of expertise."
|
||||
primaryButton={{"href":"/contact","text":"Get in Touch"}}
|
||||
brand="Ghani Elevators"
|
||||
secondaryButton={{"href":"/about","text":"Learn More"}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Intro.tsx
Normal file
37
src/pages/HomePage/sections/Intro.tsx
Normal file
@@ -0,0 +1,37 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "intro" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function IntroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="intro" data-section="intro">
|
||||
<SectionErrorBoundary name="intro">
|
||||
<FeaturesRevealCards
|
||||
tag="About Us"
|
||||
title="Why Trust Ghani Elevators"
|
||||
description="We are a reputable engineering firm built on the pillars of safety, long-term partnership, and technical precision."
|
||||
items={[
|
||||
{
|
||||
title: "Proven Reliability",
|
||||
description: "Committed to timely, professional project delivery for every client.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/technology-background-texture_23-2148105473.jpg",
|
||||
},
|
||||
{
|
||||
title: "Vast Industry Experience",
|
||||
description: "10+ years of expertise providing tailored vertical solutions for complex needs.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/industry-40-photovoltaics-plant-senior-engineer-reading-paperwork_482257-119565.jpg",
|
||||
},
|
||||
{
|
||||
title: "Long-Term Partnerships",
|
||||
description: "We stand by our installations with professional maintenance and after-sales support.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/supply-chain-goods-with-delivery-order-information-barcodes_482257-83379.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/ProductsGrid.tsx
Normal file
57
src/pages/HomePage/sections/ProductsGrid.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "products-grid" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProductsGridSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="products-grid" data-section="products-grid">
|
||||
<SectionErrorBoundary name="products-grid">
|
||||
<FeaturesImageBento
|
||||
tag="Our Equipment"
|
||||
title="Vertical Transportation Solutions"
|
||||
description="Explore our wide range of professional-grade equipment."
|
||||
items={[
|
||||
{
|
||||
title: "Passenger Elevators",
|
||||
description: "Reliable transport for homes and towers.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/escalator-top-view_1150-18045.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hydraulic Elevators",
|
||||
description: "Precise mechanical performance solutions.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/detail-shot-machinery-factory_1359-268.jpg",
|
||||
},
|
||||
{
|
||||
title: "MRL Elevators",
|
||||
description: "Space-saving machine room technology.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-teenager-friends-long-shot_23-2149241567.jpg",
|
||||
},
|
||||
{
|
||||
title: "Residential Lifts",
|
||||
description: "Elegant lifting solutions for homes.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/couple-home-spending-time-together_23-2149185029.jpg",
|
||||
},
|
||||
{
|
||||
title: "Freight Elevators",
|
||||
description: "Sturdy units for industrial logistics.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/warehouse-workers-checking-inventory-goods-distribution-large-storehouse_342744-1482.jpg",
|
||||
},
|
||||
{
|
||||
title: "Escalators",
|
||||
description: "Smooth movement for high-footfall areas.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/modern-escalator-shopping-center_1127-2856.jpg",
|
||||
},
|
||||
{
|
||||
title: "Dumbwaiters",
|
||||
description: "Smart, compact institutional units.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-using-electric-car-charging-station_23-2149458022.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
34
src/pages/HomePage/sections/Stats.tsx
Normal file
34
src/pages/HomePage/sections/Stats.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "stats" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function StatsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="stats" data-section="stats">
|
||||
<SectionErrorBoundary name="stats">
|
||||
<MetricsSimpleCards
|
||||
tag="Proven Capability"
|
||||
title="Unmatched Experience & Capability"
|
||||
description="A decade of dedication to vertical engineering in Pakistan."
|
||||
metrics={[
|
||||
{
|
||||
value: "10+",
|
||||
description: "Years of Technical Experience",
|
||||
},
|
||||
{
|
||||
value: "22+",
|
||||
description: "Regions Served Nationwide",
|
||||
},
|
||||
{
|
||||
value: "90+",
|
||||
description: "Satisfied Clients Delivered",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user