--- import Headline from '~/components/ui/Headline.astro'; import WidgetWrapper from '~/components/ui/WidgetWrapper.astro'; import Button from '~/components/ui/Button.astro'; import Image from '~/components/common/Image.astro'; import { Icon } from 'astro-icon/components'; import type { Testimonials as Props } from '~/types'; // Import certification images import SN_Logo2 from '~/assets/images/certificates/SN_Logo2.webp'; import CertifiedNexthinkProfessionalinApplicationExperienceManagement from '~/assets/images/certificates/CertifiedNexthinkProfessionalinApplicationExperienceManagement.webp'; import NexthinkAdministrator from '~/assets/images/certificates/NexthinkAdministrator.webp'; import NexthinkAssociate from '~/assets/images/certificates/NexthinkAssociate.webp'; import CrucialConversations_FMD_logo from '~/assets/images/certificates/CrucialConversations_FMD-logo.webp'; import PCEP from '~/assets/images/certificates/PCEP.webp'; import MicrosoftCertifiedAssociateBadge from '~/assets/images/certificates/microsoft-certified-associate-badge.webp'; import MicrosoftCertifiedFundamentalsBadge from '~/assets/images/certificates/microsoft-certified-fundamentals-badge.webp'; const { title = '', subtitle = '', tagline = '', testimonials = [], callToAction, id, isDark = false, classes = {}, bg = await Astro.slots.render('bg'), } = Astro.props; // Function to get the correct certification icon based on title const getCertificationIcon = (name: string): string => { const nameLower = name.toLowerCase(); if (nameLower.includes('stakeholder')) return 'tabler:users'; if (nameLower.includes('nexthink professional')) return 'tabler:chart-bar'; if (nameLower.includes('nexthink administrator')) return 'tabler:settings'; if (nameLower.includes('nexthink associate')) return 'tabler:certificate'; if (nameLower.includes('crucial conversations')) return 'tabler:message-circle'; if (nameLower.includes('python')) return 'tabler:brand-python'; if (nameLower.includes('desktop administrator')) return 'tabler:device-desktop'; if (nameLower.includes('microsoft 365')) return 'tabler:brand-office'; if (nameLower.includes('teams')) return 'tabler:brand-teams'; if (nameLower.includes('azure')) return 'tabler:cloud'; return 'tabler:award'; }; // Function to get the correct gradient colors based on certification const getCertificationGradient = (name: string): string => { const nameLower = name.toLowerCase(); if (nameLower.includes('stakeholder')) return 'from-blue-500 to-purple-600'; if (nameLower.includes('nexthink')) return 'from-green-500 to-teal-600'; if (nameLower.includes('crucial')) return 'from-orange-500 to-red-500'; if (nameLower.includes('python')) return 'from-yellow-500 to-green-500'; if (nameLower.includes('microsoft')) return 'from-blue-600 to-indigo-600'; if (nameLower.includes('azure')) return 'from-blue-400 to-cyan-500'; return 'from-gray-500 to-gray-600'; }; // Function to get the correct image source const getImageSrc = (imagePath: string) => { switch (imagePath) { case '/images/certificates/SN_Logo2.webp': return SN_Logo2; case '/images/certificates/CertifiedNexthinkProfessionalinApplicationExperienceManagement.webp': return CertifiedNexthinkProfessionalinApplicationExperienceManagement; case '/images/certificates/NexthinkAdministrator.webp': return NexthinkAdministrator; case '/images/certificates/NexthinkAssociate.webp': return NexthinkAssociate; case '/images/certificates/CrucialConversations_FMD-logo.webp': return CrucialConversations_FMD_logo; case '/images/certificates/PCEP.webp': return PCEP; case '/images/certificates/microsoft-certified-associate-badge.webp': return MicrosoftCertifiedAssociateBadge; case '/images/certificates/microsoft-certified-fundamentals-badge.webp': return MicrosoftCertifiedFundamentalsBadge; default: return imagePath; } }; ---
{ testimonials && testimonials.map(({ linkUrl, name, issueDate, description, image }) => { const imageSrc = getImageSrc(image?.src || ''); const icon = getCertificationIcon(name || ''); const gradient = getCertificationGradient(name || ''); return (
{imageSrc && (
{name
)}

{name}

{issueDate}

); }) }
{ callToAction && (
) }