// /app/achievements/page.tsx import Image from "next/image"; import { Metadata } from "next"; import { FaAward, FaCertificate, FaHandshake, FaCamera, FaTrophy, FaStar, FaExternalLinkAlt, } from "react-icons/fa"; import { COLORS } from "@/constants"; // Assuming COLORS is available // import HeroSection from "../_components/HeroSection"; // Reuse HeroSection component // Import the placeholder data import { defaultAwards, defaultCertifications, defaultPartners, defaultGalleryImages, defaultMilestones, } from "./_data/achievementsDefaults"; // Adjust path as needed import CallToActionSection from "../(website)/_components/CallToActionSection"; // SEO Metadata export const metadata: Metadata = { title: "Achievements & Recognition | Owethu Managed Services (OMS)", description: "Explore the awards, certifications, partnerships, and milestones achieved by OMS. See our commitment to excellence and empowerment.", keywords: [ "OMS achievements", "Owethu Managed Services awards", "BEE Level 1", "Salesforce Partner", "company milestones", "IT company recognition", "supplier development program", "South Africa IT awards", "OMS gallery", "OMS partnerships", ], openGraph: { title: "Achievements & Recognition | OMS", description: "Discover OMS's journey of success, awards, and key partnerships.", url: "https://oms.cvevolve.com/achievements", // Update with the final URL // Add an appropriate OG image URL if available // images: [{ url: '/images/oms-achievements-og.png', width: 1200, height: 630, alt: 'OMS Achievements' }], locale: "en_ZA", type: "website", }, // Add twitter card if desired }; export default function AchievementsPage() { // In a real app, fetch data here using functions like getAchievements(), getAwards(), etc. const awards = defaultAwards; const certifications = defaultCertifications; const partners = defaultPartners; const galleryImages = defaultGalleryImages; const milestones = defaultMilestones; return ( <> {/* 1. Hero Section */} {/* Our Journey &
Recognition } subtitle="Celebrating our milestones, awards, and the partnerships that drive our success." // Optional button: // buttonText="Explore Our Services" // buttonHref="/services" imageUrl="/images/hero/achievements-hero.jpg" // Replace with a suitable hero image (e.g., abstract success, team celebration) /> */} {/* 2. Introduction (Optional) */}

At Owethu Managed Services, we are proud of the progress we've made and the recognition we've earned. These achievements reflect our commitment to excellence, empowerment, and delivering value to our clients and community.

{/* 3. Awards Section */} {awards && awards.length > 0 && (

{" "} Awards & Accolades

{awards.map((award) => (
{award.imageUrl && (
{`${award.name}
)} {!award.imageUrl && ( )}

{award.name}

{award.awardingBody} - {award.year}

{award.description && (

{award.description}

)}
))}
)} {/* 4. Certifications & Partnerships Section */} {((certifications && certifications.length > 0) || (partners && partners.length > 0)) && (

{" "} Certifications &{" "} {" "} Partnerships

{/* Certifications Column */} {certifications && certifications.length > 0 && (

Our Certifications

{certifications.map((cert) => (
{cert.logoUrl && (
{`${cert.name}
)} {!cert.logoUrl && ( )}

{cert.name}

{cert.issuingBody}

{cert.details && (

{cert.details}

)}
))}
)} {/* Partnerships Column */} {partners && partners.length > 0 && (

Key Partners

{partners.map((partner) => (
{`${partner.name} {partner.websiteUrl && ( Visit )} {!partner.websiteUrl && ( {partner.name} )}
))}
{partners.length > 6 && (

And more...

)}
)}
)} {/* 5. Milestones Section */} {milestones && milestones.length > 0 && (

{" "} Key Milestones

{milestones.map((milestone) => (

{milestone.date}

{milestone.description}

))}
)} {/* 6. Gallery Section */} {galleryImages && galleryImages.length > 0 && (

{" "} Moments & Memories

{galleryImages.map((image) => (
{/* Consider adding a Lightbox library here for better image viewing */} {image.alt} {/* Overlay for caption */}

{image.caption || image.alt}

))}
)} {/* 7. Optional CTA Section */} ); } // Helper function to determine background color for milestone border (if needed) // This is a simplified check, adjust based on how you handle theme toggling const bgColor = typeof window !== "undefined" && document.documentElement.classList.contains("dark") ? "dark" : "light";