import { Divider, Flex, Grid, Icon as ChakraIcon, Image, Stack, useColorModeValue, } from "@chakra-ui/react"; import type { FunctionComponent } from "react"; import { HOME_ANALYTICS, SECTION_PADDING } from "./constants"; import { InfoSection } from "./InfoSection"; import testIds from "./testIds"; import { CatalogSearchSort } from "../../api/catalog-search/constants"; import { NavLink } from "../../components/NavLink"; import { CDKType, CDKTYPE_RENDER_MAP } from "../../constants/constructs"; import { Language, LANGUAGE_RENDER_MAP, TEMP_SUPPORTED_LANGUAGES, } from "../../constants/languages"; import { AWSIcon } from "../../icons/AWSIcon"; import { DatadogIcon } from "../../icons/DatadogIcon"; import { MongoDBIcon } from "../../icons/MongoDBIcon"; import { getSearchPath } from "../../util/url"; const publishers = [ { name: "Datadog", Icon: DatadogIcon, url: getSearchPath({ keywords: ["Datadog"] }), }, { name: "AWS", Icon: AWSIcon, url: getSearchPath({ query: "AWS" }), }, { name: "MongoDB", Icon: MongoDBIcon, url: getSearchPath({ keywords: ["MongoDB"] }), }, { name: "Aqua Security", imgsrc: "/assets/aqua-security.png", url: getSearchPath({ keywords: ["aqua"] }), }, ]; const IconLink = ({ url, imgsrc, label, Icon, }: { url: string; label: string; imgsrc?: string; Icon?: typeof ChakraIcon; }) => { const imgFilter = useColorModeValue( undefined, "invert(100%) brightness(1.5)" ); return ( {imgsrc && ( )} {Icon && } {label} ); }; const ResponsiveDivider = () => ( <> ); const Row: FunctionComponent = ({ children }) => ( {children} ); export const Info: FunctionComponent = () => ( {Object.entries(CDKTYPE_RENDER_MAP).map( ([cdktype, { name, imgsrc }]) => ( ) )} {Object.entries(LANGUAGE_RENDER_MAP) .filter(([language]) => TEMP_SUPPORTED_LANGUAGES.has(language as Language) ) .map(([language, { icon: Icon, name }]) => ( ))} {publishers.map(({ url, name, imgsrc, Icon }) => ( ))} );