Merge version_2_1781526524102 into main #1
@@ -37,65 +37,77 @@ export default function Layout() {
|
||||
}
|
||||
];
|
||||
|
||||
const themeOverride = {
|
||||
'--card': '#072D6A',
|
||||
'--background': '#072D6A',
|
||||
'--foreground': '#FFFFFF',
|
||||
'--muted-foreground': '#E5E7EB'
|
||||
} as React.CSSProperties;
|
||||
|
||||
return (
|
||||
<StyleProvider buttonVariant="bubble" siteBackground="noise" heroBackground="gradientBars">
|
||||
<SiteBackgroundSlot />
|
||||
<SectionErrorBoundary name="navbar">
|
||||
<NavbarFloating
|
||||
logo="Prime Delivery"
|
||||
ctaButton={{
|
||||
text: "597 04 14 14",
|
||||
href: "tel:597041414",
|
||||
}}
|
||||
navItems={navItems} />
|
||||
<div style={themeOverride}>
|
||||
<NavbarFloating
|
||||
logo="Prime Delivery"
|
||||
ctaButton={{
|
||||
text: "597 04 14 14",
|
||||
href: "tel:597041414",
|
||||
}}
|
||||
navItems={navItems}
|
||||
/>
|
||||
</div>
|
||||
</SectionErrorBoundary>
|
||||
<main className="flex-grow">
|
||||
<Outlet />
|
||||
</main>
|
||||
<SectionErrorBoundary name="footer">
|
||||
<FooterSimple
|
||||
brand="Prime Delivery"
|
||||
columns={[
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
{
|
||||
label: "About",
|
||||
href: "#about",
|
||||
},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Services",
|
||||
items: [
|
||||
{
|
||||
label: "Express",
|
||||
href: "#services",
|
||||
},
|
||||
{
|
||||
label: "Business",
|
||||
href: "#services",
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
copyright="© 2024 Prime Delivery. All rights reserved."
|
||||
links={[
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
{
|
||||
label: "Terms",
|
||||
href: "#",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
<div style={themeOverride}>
|
||||
<FooterSimple
|
||||
brand="Prime Delivery"
|
||||
columns={[
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
{
|
||||
label: "About",
|
||||
href: "#about",
|
||||
},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Services",
|
||||
items: [
|
||||
{
|
||||
label: "Express",
|
||||
href: "#services",
|
||||
},
|
||||
{
|
||||
label: "Business",
|
||||
href: "#services",
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
copyright="© 2024 Prime Delivery. All rights reserved."
|
||||
links={[
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
{
|
||||
label: "Terms",
|
||||
href: "#",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</SectionErrorBoundary>
|
||||
</StyleProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -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: #F8FAFC;
|
||||
--card: #FFFFFF;
|
||||
--foreground: #1F2937;
|
||||
--primary-cta: #F97316;
|
||||
--primary-cta-text: #FFFFFF;
|
||||
--secondary-cta: #0B4A9E;
|
||||
--secondary-cta-text: #FFFFFF;
|
||||
--accent: #FF8C00;
|
||||
--background-accent: #072D6A;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1rem;
|
||||
|
||||
@@ -1,293 +1,36 @@
|
||||
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
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 ServicesSection from './HomePage/sections/Services';
|
||||
import WhyUsSection from './HomePage/sections/WhyUs';
|
||||
import ProcessSection from './HomePage/sections/Process';
|
||||
import AboutSection from './HomePage/sections/About';
|
||||
import CoverageSection from './HomePage/sections/Coverage';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
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="Fast & Reliable"
|
||||
title="Fast & Reliable Courier Delivery Across Tbilisi"
|
||||
description="Prime Delivery provides safe, responsible, and on-time parcel delivery for businesses and individuals throughout Tbilisi."
|
||||
primaryButton={{
|
||||
text: "Call 597 04 14 14",
|
||||
href: "tel:597041414",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Request Delivery",
|
||||
href: "#contact",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-female-courier-preparing-package-delivery-while-working-office_637285-6575.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-woman-delivering-mail_23-2147767749.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-man-receiving-box_23-2149103401.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/packages-parcels-delivery-covid19-delivery-transfer-orders-profile-friendly-courier-red-uniform-face-mask-gloves-bring-order-hold-box-give-form-client-sign_1258-108191.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-blue-uniform-mask-pink-service-fast-food-covid-work-job-virus-bike_179666-40501.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/low-angle-view-black-female-courier-carrying-delivery-package-city_637285-1244.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-sitting-street-with-parcel-boxes_23-2151191407.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-sitting-bike-holding-pizza-box-pink_179666-38251.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-sitting-bike-holding-pizza-box-pink_179666-38263.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-blue-uniform-gloves-pink-color-fast-food-service-food-job-delivery-bike_179666-40471.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/logistics-means-transport-together-with-technological-futuristic-holograms_23-2151662971.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-truck-boxes-supply-chain-representation_23-2149853157.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesDetailedSteps
|
||||
tag="Our Services"
|
||||
title="Expert Logistics Solutions"
|
||||
description="We handle everything from urgent documents to heavy business parcels with care and precision."
|
||||
steps={[
|
||||
{
|
||||
tag: "Business",
|
||||
title: "Business Courier",
|
||||
subtitle: "Corporate Logistics",
|
||||
description: "Reliable daily deliveries for offices and stores.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delivery-box-hold-by-female-black-gloves-white_140725-19129.jpg",
|
||||
},
|
||||
{
|
||||
tag: "Express",
|
||||
title: "Same-Day Delivery",
|
||||
subtitle: "Speedy Transport",
|
||||
description: "Urgent shipments moved rapidly across the city.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-delivery-man-holding-box_23-2149035908.jpg",
|
||||
},
|
||||
{
|
||||
tag: "Documents",
|
||||
title: "Document Delivery",
|
||||
subtitle: "Confidential Handling",
|
||||
description: "Secure, fast, and confidential document transport.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-signing-good-received_23-2148577151.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServicesSection />
|
||||
|
||||
<div id="why-us" data-section="why-us">
|
||||
<SectionErrorBoundary name="why-us">
|
||||
<FeaturesImageBento
|
||||
tag="Why Us"
|
||||
title="Reliable Partner for Tbilisi"
|
||||
description="The preferred choice for businesses and individuals."
|
||||
items={[
|
||||
{
|
||||
title: "Fast",
|
||||
description: "Prioritizing speed.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/courier-holding-express-delivery-package_23-2151994435.jpg",
|
||||
},
|
||||
{
|
||||
title: "Safe",
|
||||
description: "Responsible handling.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-female-courier-holding-clipboard-while-businessman-is-signing-delivery-office_637285-2842.jpg",
|
||||
},
|
||||
{
|
||||
title: "Local",
|
||||
description: "Full city coverage.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/crazy-dealer-happy-expression_1194-2185.jpg",
|
||||
},
|
||||
{
|
||||
title: "Professional",
|
||||
description: "Customer focus.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/men-warehouse-working_23-2148886838.jpg",
|
||||
},
|
||||
{
|
||||
title: "Reliable",
|
||||
description: "Trusted by firms.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delivery-man-concept-with-copy-space_23-2148684789.jpg",
|
||||
},
|
||||
{
|
||||
title: "Responsive",
|
||||
description: "Fast communication.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/impressed-young-pretty-delivery-girl-red-uniform-cap-holding-pointing-carton-boxes-isolated-orange-background_141793-90805.jpg",
|
||||
},
|
||||
{
|
||||
title: "On-Time",
|
||||
description: "Every delivery matters.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-giving-online-signature-delivery_23-2147767668.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<WhyUsSection />
|
||||
|
||||
<div id="process" data-section="process">
|
||||
<SectionErrorBoundary name="process">
|
||||
<MetricsFeatureCards
|
||||
tag="Process"
|
||||
title="Simple Delivery Workflow"
|
||||
description="Four steps to get your items moving."
|
||||
metrics={[
|
||||
{
|
||||
value: "1",
|
||||
title: "Get in touch",
|
||||
features: [
|
||||
"Contact us via phone",
|
||||
"Provide location",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "2",
|
||||
title: "Scheduling",
|
||||
features: [
|
||||
"We book your slot",
|
||||
"Confirmed timing",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "3",
|
||||
title: "Collection",
|
||||
features: [
|
||||
"Courier arrives on time",
|
||||
"Professional pickup",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "4",
|
||||
title: "Delivery",
|
||||
features: [
|
||||
"Safe arrival",
|
||||
"Confirmation sent",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProcessSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTestimonial
|
||||
tag="About Us"
|
||||
quote="Prime Delivery is a trusted local courier company dedicated to providing fast and dependable parcel delivery services throughout Tbilisi."
|
||||
author="Management Team"
|
||||
role="Prime Delivery"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-with-bag-hailing-cab_23-2147932353.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="coverage" data-section="coverage">
|
||||
<SectionErrorBoundary name="coverage">
|
||||
<SocialProofMarquee
|
||||
tag="Coverage"
|
||||
title="Serving All of Tbilisi"
|
||||
description="Reliable coverage for business districts and residential areas."
|
||||
names={[
|
||||
"Vake",
|
||||
"Saburtalo",
|
||||
"Gldani",
|
||||
"Didube",
|
||||
"Isani",
|
||||
"Samgori",
|
||||
"Mtatsminda",
|
||||
"Krtsanisi",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<CoverageSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Reviews"
|
||||
title="What Clients Say"
|
||||
description="Trusted by local businesses and individuals."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
role: "Office Manager",
|
||||
quote: "Excellent service and always on time.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg",
|
||||
},
|
||||
{
|
||||
name: "David K.",
|
||||
role: "Business Owner",
|
||||
quote: "Very responsive and reliable.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-businessman-wearing-headset-while-communicating-with-someone-using-computer-office_637285-6796.jpg",
|
||||
},
|
||||
{
|
||||
name: "Maria B.",
|
||||
role: "Marketing Dir.",
|
||||
quote: "Our company uses Prime Delivery regularly.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-wearing-apron_23-2149480223.jpg",
|
||||
},
|
||||
{
|
||||
name: "Giorgi T.",
|
||||
role: "Store Owner",
|
||||
quote: "Professional team with fast communication.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-business-woman-standing-outside-office-buildings-business-success-concept_58466-11854.jpg",
|
||||
},
|
||||
{
|
||||
name: "Elena V.",
|
||||
role: "Private Client",
|
||||
quote: "Always quick to help with urgent delivery needs.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-successful-businesswoman-with-charming-smile-posing-street-with-interesting-architecture-background_613910-3354.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Contact"
|
||||
text="Need a Courier Today? Call 597 04 14 14 or request a delivery online."
|
||||
primaryButton={{
|
||||
text: "Call Now",
|
||||
href: "tel:597041414",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Request Delivery",
|
||||
href: "#contact",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
22
src/pages/HomePage/sections/About.tsx
Normal file
22
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTestimonial
|
||||
tag="About Us"
|
||||
quote="Prime Delivery is a trusted local courier company dedicated to providing fast and dependable parcel delivery services throughout Tbilisi."
|
||||
author="Management Team"
|
||||
role="Prime Delivery"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-with-bag-hailing-cab_23-2147932353.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.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 "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="Contact"
|
||||
text="Need a Courier Today? Call 597 04 14 14 or request a delivery online."
|
||||
primaryButton={{
|
||||
text: "Call Now",
|
||||
href: "tel:597041414",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Request Delivery",
|
||||
href: "#contact",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
30
src/pages/HomePage/sections/Coverage.tsx
Normal file
30
src/pages/HomePage/sections/Coverage.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "coverage" section.
|
||||
|
||||
import React from 'react';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function CoverageSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="coverage" data-section="coverage">
|
||||
<SectionErrorBoundary name="coverage">
|
||||
<SocialProofMarquee
|
||||
tag="Coverage"
|
||||
title="Serving All of Tbilisi"
|
||||
description="Reliable coverage for business districts and residential areas."
|
||||
names={[
|
||||
"Vake",
|
||||
"Saburtalo",
|
||||
"Gldani",
|
||||
"Didube",
|
||||
"Isani",
|
||||
"Samgori",
|
||||
"Mtatsminda",
|
||||
"Krtsanisi",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
68
src/pages/HomePage/sections/Hero.tsx
Normal file
68
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,68 @@
|
||||
// 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" className="bg-[#072D6A] text-white">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="Fast & Reliable"
|
||||
title="Fast & Reliable Courier Delivery Across Tbilisi"
|
||||
description="Prime Delivery provides safe, responsible, and on-time parcel delivery for businesses and individuals throughout Tbilisi."
|
||||
primaryButton={{
|
||||
text: "Call 597 04 14 14",
|
||||
href: "tel:597041414",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Request Delivery",
|
||||
href: "#contact",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-female-courier-preparing-package-delivery-while-working-office_637285-6575.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-woman-delivering-mail_23-2147767749.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-man-receiving-box_23-2149103401.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/packages-parcels-delivery-covid19-delivery-transfer-orders-profile-friendly-courier-red-uniform-face-mask-gloves-bring-order-hold-box-give-form-client-sign_1258-108191.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-blue-uniform-mask-pink-service-fast-food-covid-work-job-virus-bike_179666-40501.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/low-angle-view-black-female-courier-carrying-delivery-package-city_637285-1244.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-sitting-street-with-parcel-boxes_23-2151191407.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-sitting-bike-holding-pizza-box-pink_179666-38251.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-sitting-bike-holding-pizza-box-pink_179666-38263.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-courier-blue-uniform-gloves-pink-color-fast-food-service-food-job-delivery-bike_179666-40471.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/logistics-means-transport-together-with-technological-futuristic-holograms_23-2151662971.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-truck-boxes-supply-chain-representation_23-2149853157.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
54
src/pages/HomePage/sections/Process.tsx
Normal file
54
src/pages/HomePage/sections/Process.tsx
Normal file
@@ -0,0 +1,54 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "process" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProcessSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="process" data-section="process">
|
||||
<SectionErrorBoundary name="process">
|
||||
<MetricsFeatureCards
|
||||
tag="Process"
|
||||
title="Simple Delivery Workflow"
|
||||
description="Four steps to get your items moving."
|
||||
metrics={[
|
||||
{
|
||||
value: "1",
|
||||
title: "Get in touch",
|
||||
features: [
|
||||
"Contact us via phone",
|
||||
"Provide location",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "2",
|
||||
title: "Scheduling",
|
||||
features: [
|
||||
"We book your slot",
|
||||
"Confirmed timing",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "3",
|
||||
title: "Collection",
|
||||
features: [
|
||||
"Courier arrives on time",
|
||||
"Professional pickup",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "4",
|
||||
title: "Delivery",
|
||||
features: [
|
||||
"Safe arrival",
|
||||
"Confirmation sent",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
43
src/pages/HomePage/sections/Services.tsx
Normal file
43
src/pages/HomePage/sections/Services.tsx
Normal file
@@ -0,0 +1,43 @@
|
||||
// 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 Services"
|
||||
title="Expert Logistics Solutions"
|
||||
description="We handle everything from urgent documents to heavy business parcels with care and precision."
|
||||
steps={[
|
||||
{
|
||||
tag: "Business",
|
||||
title: "Business Courier",
|
||||
subtitle: "Corporate Logistics",
|
||||
description: "Reliable daily deliveries for offices and stores.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delivery-box-hold-by-female-black-gloves-white_140725-19129.jpg",
|
||||
},
|
||||
{
|
||||
tag: "Express",
|
||||
title: "Same-Day Delivery",
|
||||
subtitle: "Speedy Transport",
|
||||
description: "Urgent shipments moved rapidly across the city.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-delivery-man-holding-box_23-2149035908.jpg",
|
||||
},
|
||||
{
|
||||
tag: "Documents",
|
||||
title: "Document Delivery",
|
||||
subtitle: "Confidential Handling",
|
||||
description: "Secure, fast, and confidential document transport.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-signing-good-received_23-2148577151.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
57
src/pages/HomePage/sections/Testimonials.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 "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Reviews"
|
||||
title="What Clients Say"
|
||||
description="Trusted by local businesses and individuals."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
role: "Office Manager",
|
||||
quote: "Excellent service and always on time.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg",
|
||||
},
|
||||
{
|
||||
name: "David K.",
|
||||
role: "Business Owner",
|
||||
quote: "Very responsive and reliable.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-businessman-wearing-headset-while-communicating-with-someone-using-computer-office_637285-6796.jpg",
|
||||
},
|
||||
{
|
||||
name: "Maria B.",
|
||||
role: "Marketing Dir.",
|
||||
quote: "Our company uses Prime Delivery regularly.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-wearing-apron_23-2149480223.jpg",
|
||||
},
|
||||
{
|
||||
name: "Giorgi T.",
|
||||
role: "Store Owner",
|
||||
quote: "Professional team with fast communication.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-business-woman-standing-outside-office-buildings-business-success-concept_58466-11854.jpg",
|
||||
},
|
||||
{
|
||||
name: "Elena V.",
|
||||
role: "Private Client",
|
||||
quote: "Always quick to help with urgent delivery needs.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-successful-businesswoman-with-charming-smile-posing-street-with-interesting-architecture-background_613910-3354.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/WhyUs.tsx
Normal file
57
src/pages/HomePage/sections/WhyUs.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 "why-us" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function WhyUsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="why-us" data-section="why-us">
|
||||
<SectionErrorBoundary name="why-us">
|
||||
<FeaturesImageBento
|
||||
tag="Why Us"
|
||||
title="Reliable Partner for Tbilisi"
|
||||
description="The preferred choice for businesses and individuals."
|
||||
items={[
|
||||
{
|
||||
title: "Fast",
|
||||
description: "Prioritizing speed.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/courier-holding-express-delivery-package_23-2151994435.jpg",
|
||||
},
|
||||
{
|
||||
title: "Safe",
|
||||
description: "Responsible handling.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-female-courier-holding-clipboard-while-businessman-is-signing-delivery-office_637285-2842.jpg",
|
||||
},
|
||||
{
|
||||
title: "Local",
|
||||
description: "Full city coverage.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/crazy-dealer-happy-expression_1194-2185.jpg",
|
||||
},
|
||||
{
|
||||
title: "Professional",
|
||||
description: "Customer focus.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/men-warehouse-working_23-2148886838.jpg",
|
||||
},
|
||||
{
|
||||
title: "Reliable",
|
||||
description: "Trusted by firms.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delivery-man-concept-with-copy-space_23-2148684789.jpg",
|
||||
},
|
||||
{
|
||||
title: "Responsive",
|
||||
description: "Fast communication.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/impressed-young-pretty-delivery-girl-red-uniform-cap-holding-pointing-carton-boxes-isolated-orange-background_141793-90805.jpg",
|
||||
},
|
||||
{
|
||||
title: "On-Time",
|
||||
description: "Every delivery matters.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-giving-online-signature-delivery_23-2147767668.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user