import React from 'react'; import { motion, useReducedMotion } from 'framer-motion'; function CompaniesSection() { const shouldReduce = useReducedMotion(); const fadeUpPreset = (delay = 0, duration = 1.2) => ({ initial: { opacity: 0, y: 20 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: true, amount: 0.2 }, transition: { delay, duration, ease: "easeOut" } }); const companies = [ { name: "Sanofi", logo: "https://www.jobs.nestjs.com/img/logos/sanofi.png", url: "https://www.sanofi.com/" }, { name: "Adidas", logo: "https://www.jobs.nestjs.com/img/logos/adidas.svg", url: "https://adidas.com/" }, { name: "Autodesk", logo: "https://www.jobs.nestjs.com/img/logos/autodesk.png", url: "https://www.autodesk.com/" }, { name: "Mercedes", logo: "https://www.jobs.nestjs.com/img/logos/mercedes.png", url: "https://www.mercedes-benz.com/" }, { name: "Red Hat", logo: "https://www.jobs.nestjs.com/img/logos/red-hat.svg", url: "https://www.redhat.com/" }, { name: "Roche", logo: "https://www.jobs.nestjs.com/img/logos/roche-logo.png", url: "https://roche.com/" }, { name: "IBM", logo: "https://www.jobs.nestjs.com/img/logos/ibm.svg", url: "https://www.ibm.com/" }, { name: "Decathlon", logo: "https://www.jobs.nestjs.com/img/logos/decathlon.png", url: "https://www.decathlon.com/" }, { name: "BMW", logo: "https://www.jobs.nestjs.com/img/logos/bmw.svg", url: "" }, { name: "Société Générale", logo: "https://www.jobs.nestjs.com/img/logos/societe-generale-logo.png", url: "https://www.societegenerale.fr/" }, { name: "TotalEnergies", logo: "https://www.jobs.nestjs.com/img/logos/totalenergies.svg", url: "https://totalenergies.com/" }, { name: "REWE", logo: "https://www.jobs.nestjs.com/img/logos/rewe.svg", url: "https://www.rewe-digital.com/" }, { name: "Capgemini", logo: "https://www.jobs.nestjs.com/img/logos/capgemini.svg", url: "https://capgemini.com/" }, { name: "JetBrains", logo: "https://www.jobs.nestjs.com/img/logos/jetbrains.svg", url: "https://www.jetbrains.com/" }, { name: "GitLab", logo: "https://www.jobs.nestjs.com/img/logos/gitlab.png", url: "https://about.gitlab.com/" } ]; const CompanyLogo = ({ company, index }) => { const LogoComponent = shouldReduce ? 'div' : motion.div; const logoProps = shouldReduce ? {} : fadeUpPreset(index * 0.05, 0.6); const logoElement = ( ); return ( {company.url ? ( {logoElement} ) : ( logoElement )} ); }; if (shouldReduce) { return ( Who is using Nest? Nest is proudly powering a large ecosystem of enterprises and products out there. Wanna see your logo here? Find out more. {companies.map((company, index) => ( ))} ); } return ( Who is using Nest? Nest is proudly powering a large ecosystem of enterprises and products out there. Wanna see your logo here? Find out more. {companies.map((company, index) => ( ))} ); } export default CompaniesSection;
Nest is proudly powering a large ecosystem of enterprises and products out there. Wanna see your logo here? Find out more.