Merge version_2_1782872355158 into main #3
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #FFFFFF;
|
||||
--card: #F7F8FA;
|
||||
--foreground: #1F2937;
|
||||
--background: #0F172A;
|
||||
--card: #1E293B;
|
||||
--foreground: #F8FAFC;
|
||||
--primary-cta: #0D1B2A;
|
||||
--primary-cta-text: #FFFFFF;
|
||||
--secondary-cta: #2B0AFF;
|
||||
--secondary-cta-text: #FFFFFF;
|
||||
--accent: #C89B3C;
|
||||
--background-accent: #E5E7EB;
|
||||
--background-accent: #334155;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1.5rem;
|
||||
|
||||
@@ -1,167 +1,37 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
|
||||
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
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 CompaniesSection from './HomePage/sections/Companies';
|
||||
import WhyChooseSection from './HomePage/sections/WhyChoose';
|
||||
import ValuesSection from './HomePage/sections/Values';
|
||||
import CommitmentsSection from './HomePage/sections/Commitments';
|
||||
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">
|
||||
<HeroBillboardBrand
|
||||
brand="Building Opportunity. Delivering Excellence."
|
||||
description="ABC Group is an independent Australian family-owned business delivering trusted recruitment, trade, property, and travel solutions for over 15 years. With God nothing shall be impossible. – Luke 1:37"
|
||||
primaryButton={{
|
||||
text: "Our Companies", href: "#companies"}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us", href: "#contact"}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/vintage-landscape-photo_23-2149728863.jpg"
|
||||
textAnimation="fade-blur"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="About ABC Group"
|
||||
title="Decades of Trusted Service"
|
||||
description="Since our humble beginnings 15 years ago, we have built a reputation on integrity, reliability, and people-first service."
|
||||
items={[
|
||||
{
|
||||
icon: "Users", title: "Family Owned", description: "Success built on trust."},
|
||||
{
|
||||
icon: "TrendingUp", title: "Diversified Expertise", description: "Recruitment to property."},
|
||||
{
|
||||
icon: "Award", title: "Integrity First", description: "Authenticity in everything."},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/businessman-sitting-front-laptop-with-colleagues-sides_1262-812.jpg"
|
||||
textAnimation="slide-up"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="companies" data-section="companies">
|
||||
<SectionErrorBoundary name="companies">
|
||||
<FeaturesMediaCarousel
|
||||
tag="Our Companies"
|
||||
title="Business Divisions"
|
||||
description="Diversified professional services across Australia and beyond."
|
||||
items={[
|
||||
{
|
||||
title: "VicForce Recruitment", description: "Professional workforce solutions, industrial to hospitality.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/pregnant-manager-starts-interview-process_482257-120818.jpg"},
|
||||
{
|
||||
title: "ABC Trading", description: "Global international trade experts for Australian produce.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/still-life-supply-chain-representation_23-2149827264.jpg"},
|
||||
{
|
||||
title: "Jag International", description: "Residential property, development and luxury renovations.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-view-sea-from-window-diner_181624-8379.jpg"},
|
||||
{
|
||||
title: "Go Travel", description: "Personalised corporate and leisure travel management.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-working-laptop_23-2149963928.jpg"},
|
||||
{
|
||||
title: "Services Management", description: "Integrated management solutions.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/multi-ethnic-group-three-businesspeople-meeting-modern-o_1139-971.jpg"},
|
||||
{
|
||||
title: "Global Logistics", description: "Seamless export/import networks.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/transport-logistics-concept_23-2151541951.jpg"},
|
||||
]}
|
||||
textAnimation="fade"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<CompaniesSection />
|
||||
|
||||
<div id="why-choose" data-section="why-choose">
|
||||
<SectionErrorBoundary name="why-choose">
|
||||
<MetricsMediaCards
|
||||
tag="Why Choose Us"
|
||||
title="Proven Success Metrics"
|
||||
metrics={[
|
||||
{
|
||||
value: "15+", title: "Years Experience", description: "Industry trusted family business.", imageSrc: "http://img.b2bpic.net/free-vector/ui-ux-element-security-button_24877-82400.jpg"},
|
||||
{
|
||||
value: "100+", title: "Business Clients", description: "Long-term partnership network.", imageSrc: "http://img.b2bpic.net/free-photo/marketing-concept-with-wooden-figures-person-wooden-black-heart-background-flat-lay_176474-7807.jpg"},
|
||||
{
|
||||
value: "1000+", title: "Workforce Placements", description: "Exceptional talent delivery.", imageSrc: "http://img.b2bpic.net/free-vector/collection-new-year-badges-2018_23-2147701497.jpg"},
|
||||
]}
|
||||
textAnimation="slide-up"
|
||||
description="We lead by example in delivering value."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<WhyChooseSection />
|
||||
|
||||
<div id="values" data-section="values">
|
||||
<SectionErrorBoundary name="values">
|
||||
<FeaturesImageBento
|
||||
tag="Our Values"
|
||||
title="Guiding Principles"
|
||||
description="The foundation of our commitment to excellence."
|
||||
items={[
|
||||
{ title: "Integrity", description: "Honesty in every relationship.", imageSrc: "http://img.b2bpic.net/free-vector/modern-copyright-symbol_23-2147867640.jpg" },
|
||||
{ title: "Understanding", description: "Empathy for every client.", imageSrc: "http://img.b2bpic.net/free-photo/social-media-still-life-top-view_23-2149019141.jpg" },
|
||||
{ title: "Excellence", description: "Striving for the best results.", imageSrc: "http://img.b2bpic.net/free-vector/exclusive-benefit-line-icons-with-reward-symbol-vip-member-card-discount-voucher-sale-coupon_88138-1863.jpg" },
|
||||
{ title: "Unity", description: "Strength in our diversity.", imageSrc: "http://img.b2bpic.net/free-vector/shield-colorful-gradient-logo-template_341269-868.jpg" },
|
||||
{ title: "Responsibility", description: "Accountability for outcomes.", imageSrc: "http://img.b2bpic.net/free-photo/social-media-concept_23-2149019143.jpg" },
|
||||
{ title: "Service", description: "Dedicated 24/7 care.", imageSrc: "http://img.b2bpic.net/free-photo/badge-icon-front-side_187299-39424.jpg" },
|
||||
{ title: "Growth", description: "Sustainable development.", imageSrc: "http://img.b2bpic.net/free-vector/shield-gradient-logo-design-colorful_361591-1612.jpg" }
|
||||
]}
|
||||
textAnimation="fade-blur"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ValuesSection />
|
||||
|
||||
<div id="commitments" data-section="commitments">
|
||||
<SectionErrorBoundary name="commitments">
|
||||
<FaqTwoColumn
|
||||
tag="Our Commitment"
|
||||
title="Service Standards"
|
||||
items={[
|
||||
{
|
||||
question: "High Quality Service", answer: "Provided with dedication and integrity in every interaction."},
|
||||
{
|
||||
question: "Economical Solutions", answer: "Tailored to the specific budget and needs of our clients."},
|
||||
{
|
||||
question: "Service Quality Monitoring", answer: "We continuously analyze and monitor to exceed standards."},
|
||||
{
|
||||
question: "24/7 Availability", answer: "Available to all our clients around the clock, all week."},
|
||||
]}
|
||||
textAnimation="slide-up"
|
||||
description="We uphold the highest levels of service delivery."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<CommitmentsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Trust"
|
||||
title="What Clients Say"
|
||||
testimonials={[
|
||||
{ name: "Sarah J.", role: "Director", quote: "Exceptional service throughout the entire process.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-happy-middle-aged-business-leader_1262-4823.jpg" },
|
||||
{ name: "Michael B.", role: "Client", quote: "Professional, reliable, and always results-driven.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-competitive-employee_1098-2870.jpg" },
|
||||
{ name: "Emma L.", role: "CEO", quote: "Their team is an extension of our own success.", imageSrc: "http://img.b2bpic.net/free-photo/confident-businessman-smiling_107420-84734.jpg" },
|
||||
{ name: "David W.", role: "Partner", quote: "Unwavering commitment to quality and integrity.", imageSrc: "http://img.b2bpic.net/free-photo/pretty-attractive-young-mixed-race-model-with-large-afro-wearing-navy-jacket-her-naked-body-shorts_633478-1216.jpg" },
|
||||
{ name: "Rebecca S.", role: "Operations Manager", quote: "Truly personal and tailored workforce solutions.", imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg" }
|
||||
]}
|
||||
textAnimation="fade"
|
||||
description="Hear from our partners and clients about their experience."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Let's Talk"
|
||||
text="Ready to build something impossible? Contact ABC Group today."
|
||||
primaryButton={{
|
||||
text: "Call Now (+61 3 8788 5151)", href: "tel:+61387885151"}}
|
||||
secondaryButton={{
|
||||
text: "Email Info", href: "mailto:info@abcgroup.net.au"}}
|
||||
textAnimation="slide-up"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
30
src/pages/HomePage/sections/About.tsx
Normal file
30
src/pages/HomePage/sections/About.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 "about" section.
|
||||
|
||||
import React from 'react';
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="About ABC Group"
|
||||
title="Decades of Trusted Service"
|
||||
description="Since our humble beginnings 15 years ago, we have built a reputation on integrity, reliability, and people-first service."
|
||||
items={[
|
||||
{
|
||||
icon: "Users", title: "Family Owned", description: "Success built on trust."},
|
||||
{
|
||||
icon: "TrendingUp", title: "Diversified Expertise", description: "Recruitment to property."},
|
||||
{
|
||||
icon: "Award", title: "Integrity First", description: "Authenticity in everything."},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/businessman-sitting-front-laptop-with-colleagues-sides_1262-812.jpg"
|
||||
textAnimation="slide-up"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
31
src/pages/HomePage/sections/Commitments.tsx
Normal file
31
src/pages/HomePage/sections/Commitments.tsx
Normal file
@@ -0,0 +1,31 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "commitments" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function CommitmentsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="commitments" data-section="commitments">
|
||||
<SectionErrorBoundary name="commitments">
|
||||
<FaqTwoColumn
|
||||
tag="Our Commitment"
|
||||
title="Service Standards"
|
||||
items={[
|
||||
{
|
||||
question: "High Quality Service", answer: "Provided with dedication and integrity in every interaction."},
|
||||
{
|
||||
question: "Economical Solutions", answer: "Tailored to the specific budget and needs of our clients."},
|
||||
{
|
||||
question: "Service Quality Monitoring", answer: "We continuously analyze and monitor to exceed standards."},
|
||||
{
|
||||
question: "24/7 Availability", answer: "Available to all our clients around the clock, all week."},
|
||||
]}
|
||||
textAnimation="slide-up"
|
||||
description="We uphold the highest levels of service delivery."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
35
src/pages/HomePage/sections/Companies.tsx
Normal file
35
src/pages/HomePage/sections/Companies.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "companies" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function CompaniesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="companies" data-section="companies">
|
||||
<SectionErrorBoundary name="companies">
|
||||
<FeaturesMediaCarousel
|
||||
tag="Our Companies"
|
||||
title="Business Divisions"
|
||||
description="Diversified professional services across Australia and beyond."
|
||||
items={[
|
||||
{
|
||||
title: "VicForce Recruitment", description: "Professional workforce solutions, industrial to hospitality.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/pregnant-manager-starts-interview-process_482257-120818.jpg"},
|
||||
{
|
||||
title: "ABC Trading", description: "Global international trade experts for Australian produce.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/still-life-supply-chain-representation_23-2149827264.jpg"},
|
||||
{
|
||||
title: "Jag International", description: "Residential property, development and luxury renovations.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-view-sea-from-window-diner_181624-8379.jpg"},
|
||||
{
|
||||
title: "Go Travel", description: "Personalised corporate and leisure travel management.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-working-laptop_23-2149963928.jpg"},
|
||||
{
|
||||
title: "Services Management", description: "Integrated management solutions.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/multi-ethnic-group-three-businesspeople-meeting-modern-o_1139-971.jpg"},
|
||||
{
|
||||
title: "Global Logistics", description: "Seamless export/import networks.", buttonIcon: "ArrowRight", imageSrc: "http://img.b2bpic.net/free-photo/transport-logistics-concept_23-2151541951.jpg"},
|
||||
]}
|
||||
textAnimation="fade"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
24
src/pages/HomePage/sections/Contact.tsx
Normal file
24
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
// 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="Let's Talk"
|
||||
text="Ready to build something impossible? Contact ABC Group today."
|
||||
primaryButton={{
|
||||
text: "Call Now (+61 3 8788 5151)", href: "tel:+61387885151"}}
|
||||
secondaryButton={{
|
||||
text: "Email Info", href: "mailto:info@abcgroup.net.au"}}
|
||||
textAnimation="slide-up"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Hero.tsx
Normal file
25
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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 HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardBrand
|
||||
brand="Build Opportunity. Deliver Excellence."
|
||||
description="ABC Group is an independent Australian family-owned business delivering trusted recruitment, trade, property, and travel solutions for over 15 years. With God nothing shall be impossible. – Luke 1:37"
|
||||
primaryButton={{
|
||||
text: "Our Companies", href: "#companies"}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us", href: "#contact"}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/vintage-landscape-photo_23-2149728863.jpg"
|
||||
textAnimation="fade-blur"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
28
src/pages/HomePage/sections/Testimonials.tsx
Normal file
28
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
// 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 TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Trust"
|
||||
title="What Clients Say"
|
||||
testimonials={[
|
||||
{ name: "Sarah J.", role: "Director", quote: "Exceptional service throughout the entire process.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-happy-middle-aged-business-leader_1262-4823.jpg" },
|
||||
{ name: "Michael B.", role: "Client", quote: "Professional, reliable, and always results-driven.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-competitive-employee_1098-2870.jpg" },
|
||||
{ name: "Emma L.", role: "CEO", quote: "Their team is an extension of our own success.", imageSrc: "http://img.b2bpic.net/free-photo/confident-businessman-smiling_107420-84734.jpg" },
|
||||
{ name: "David W.", role: "Partner", quote: "Unwavering commitment to quality and integrity.", imageSrc: "http://img.b2bpic.net/free-photo/pretty-attractive-young-mixed-race-model-with-large-afro-wearing-navy-jacket-her-naked-body-shorts_633478-1216.jpg" },
|
||||
{ name: "Rebecca S.", role: "Operations Manager", quote: "Truly personal and tailored workforce solutions.", imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg" }
|
||||
]}
|
||||
textAnimation="fade"
|
||||
description="Hear from our partners and clients about their experience."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
30
src/pages/HomePage/sections/Values.tsx
Normal file
30
src/pages/HomePage/sections/Values.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 "values" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ValuesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="values" data-section="values">
|
||||
<SectionErrorBoundary name="values">
|
||||
<FeaturesImageBento
|
||||
tag="Our Values"
|
||||
title="Guiding Principles"
|
||||
description="The foundation of our commitment to excellence."
|
||||
items={[
|
||||
{ title: "Integrity", description: "Honesty in every relationship.", imageSrc: "http://img.b2bpic.net/free-vector/modern-copyright-symbol_23-2147867640.jpg" },
|
||||
{ title: "Understanding", description: "Empathy for every client.", imageSrc: "http://img.b2bpic.net/free-photo/social-media-still-life-top-view_23-2149019141.jpg" },
|
||||
{ title: "Excellence", description: "Striving for the best results.", imageSrc: "http://img.b2bpic.net/free-vector/exclusive-benefit-line-icons-with-reward-symbol-vip-member-card-discount-voucher-sale-coupon_88138-1863.jpg" },
|
||||
{ title: "Unity", description: "Strength in our diversity.", imageSrc: "http://img.b2bpic.net/free-vector/shield-colorful-gradient-logo-template_341269-868.jpg" },
|
||||
{ title: "Responsibility", description: "Accountability for outcomes.", imageSrc: "http://img.b2bpic.net/free-photo/social-media-concept_23-2149019143.jpg" },
|
||||
{ title: "Service", description: "Dedicated 24/7 care.", imageSrc: "http://img.b2bpic.net/free-photo/badge-icon-front-side_187299-39424.jpg" },
|
||||
{ title: "Growth", description: "Sustainable development.", imageSrc: "http://img.b2bpic.net/free-vector/shield-gradient-logo-design-colorful_361591-1612.jpg" }
|
||||
]}
|
||||
textAnimation="fade-blur"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/WhyChoose.tsx
Normal file
29
src/pages/HomePage/sections/WhyChoose.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "why-choose" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function WhyChooseSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="why-choose" data-section="why-choose">
|
||||
<SectionErrorBoundary name="why-choose">
|
||||
<MetricsMediaCards
|
||||
tag="Why Choose Us"
|
||||
title="Proven Success Metrics"
|
||||
metrics={[
|
||||
{
|
||||
value: "15+", title: "Years Experience", description: "Industry trusted family business.", imageSrc: "http://img.b2bpic.net/free-vector/ui-ux-element-security-button_24877-82400.jpg"},
|
||||
{
|
||||
value: "100+", title: "Business Clients", description: "Long-term partnership network.", imageSrc: "http://img.b2bpic.net/free-photo/marketing-concept-with-wooden-figures-person-wooden-black-heart-background-flat-lay_176474-7807.jpg"},
|
||||
{
|
||||
value: "1000+", title: "Workforce Placements", description: "Exceptional talent delivery.", imageSrc: "http://img.b2bpic.net/free-vector/collection-new-year-badges-2018_23-2147701497.jpg"},
|
||||
]}
|
||||
textAnimation="slide-up"
|
||||
description="We lead by example in delivering value."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user