Skip to main content
Glama
TechLogos.tsx3.57 kB
import { Link } from '@components/Link/Link'; import { cn } from '@utils/cn'; import type { FC, SVGProps } from 'react'; import { PagesRoutes } from '@/Routes'; import { AstroLogo } from '../AvailableTechnoSection/Astro'; import { ExpressLogo } from '../AvailableTechnoSection/Express'; import { LynxLogo } from '../AvailableTechnoSection/Lynx'; import { NestJSLogo } from '../AvailableTechnoSection/NestJS'; import { NextJSLogo } from '../AvailableTechnoSection/Nextjs'; import { NuxtLogo } from '../AvailableTechnoSection/Nuxt'; import { PreactLogo } from '../AvailableTechnoSection/Preact'; import { ReactLogo } from '../AvailableTechnoSection/Reactjs'; import { SvelteLogo } from '../AvailableTechnoSection/Svelte'; import { TanstackLogo } from '../AvailableTechnoSection/Tanstack'; import { ViteLogo } from '../AvailableTechnoSection/Vitejs'; import { VuejsLogo } from '../AvailableTechnoSection/Vuejs'; // import { SolidLogo } from '../AvailableTechnoSection/Solid'; // import { AngularLogo } from '../AvailableTechnoSection/Angular'; // Animated Technology logos const logos = [ { Logo: ExpressLogo, key: 'express', route: PagesRoutes.Doc_Environment_Express, }, { Logo: NestJSLogo, key: 'nestjs', route: PagesRoutes.Doc_Environment_NestJS, }, { Logo: NextJSLogo, key: 'nextjs', route: PagesRoutes.Doc_Environment_NextJS_15, }, { Logo: ReactLogo, key: 'react', route: PagesRoutes.Doc_Environment_CRA }, { Logo: PreactLogo, key: 'preact', route: PagesRoutes.Doc_Environment_ViteAndPreact, }, { Logo: VuejsLogo, key: 'vue', route: PagesRoutes.Doc_Environment_ViteAndVue, }, { Logo: NuxtLogo, key: 'nuxt', route: PagesRoutes.Doc_Environment_NuxtAndVue, }, { Logo: ViteLogo, key: 'vite', route: PagesRoutes.Doc_Environment_ViteAndReact, }, { Logo: AstroLogo, key: 'astro', route: PagesRoutes.Doc_Environment_Astro }, { Logo: TanstackLogo, key: 'tanstack', route: PagesRoutes.Doc_Environment_Tanstack, }, { Logo: LynxLogo, key: 'lynx', route: PagesRoutes.Doc_Intlayer_with_Lynx_and_React, }, { Logo: SvelteLogo, key: 'svelte', route: PagesRoutes.Doc_Environment_ViteAndSvelte, }, // { Logo: AngularLogo, key: 'angular', route: PagesRoutes.Doc_Environment_Angular }, // { Logo: SolidLogo, key: 'solid', route: PagesRoutes.Doc_Environment_ViteAndSolid }, ]; const LogoItem: FC<{ Logo: FC<SVGProps<SVGSVGElement>>; label: string; route: string; className?: string; }> = ({ Logo, route, label, className }) => ( <Link href={route} label={label} color="custom"> <Logo className={cn( 'size-12 shrink-0 opacity-70 transition-opacity duration-200 hover:opacity-100 sm:size-14 md:size-16 lg:size-18', className )} /> </Link> ); export const TechLogos: FC = () => ( <div className="mask-[linear-gradient(to_right,transparent_0,black_170px,black_calc(100%-170px),transparent_100%)] w-full overflow-hidden"> <div className="horizontal-loop-4 inline-flex items-center whitespace-nowrap"> {logos.map((logo, index) => ( <div key={`${logo.key}-${index}-1`} className="mx-6 sm:mx-12 md:mx-16"> <LogoItem {...logo} label={logo.key} key={`${logo.key}-${index}-1`} /> </div> ))} {logos.map((logo, index) => ( <div key={`${logo.key}-${index}-1`} className="mx-6 sm:mx-12 md:mx-16"> <LogoItem {...logo} label={logo.key} key={`${logo.key}-${index}-2`} /> </div> ))} </div> </div> );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server