import React, { useMemo } from 'react' import Image from 'next/image' interface Company { name: string logo: string logoDark?: string logoColor?: string url?: string } const companies: Company[] = [ { name: 'Shopify', logo: '/images/logos/Shopify_light.svg', logoDark: '/images/logos/Shopify_dark.svg', }, { name: 'ClickHouse', logo: '/images/logos/ClickHouse_light.svg', logoDark: '/images/logos/ClickHouse_dark.svg', }, { name: 'Boston University', logo: '/images/logos/BostonUniversity_light.png', logoDark: '/images/logos/BostonUniversity_dark.png', logoColor: '/images/logos/BostonUniversity_color.png', }, { name: 'Daimler Truck', logo: '/images/logos/DaimlerTruck_light.svg', logoDark: '/images/logos/DaimlerTruck_dark.svg', }, ] /** Company logos section showcasing companies that use LibreChat. */ export const Companies: React.FC = React.memo(() => { const logosToShow = useMemo( () => Array.from({ length: 8 }, (_, i) => companies[i % companies.length]), [], ) return (

Trusted by companies worldwide

Join thousands of organizations using LibreChat

{logosToShow.map((company, index) => { const isFirstFewLogos = index < 4 const key = `${company.name}-${index}` return (
{company.logoColor ? (
{`${company.name} {`${company.name} {`${company.name}
) : ( <> {`${company.name} {company.logoDark && ( {`${company.name} )} )}
) })}
) }) Companies.displayName = 'Companies' export default Companies