import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import { HardwareMetadata, Interconnect } from "../hardware-metadata"; import { groupedMetadata, InterconnectDetails } from "./hardware-utils"; interface InterconnectTabsProps { items: HardwareMetadata[]; gpio: Boolean; } function mapInterconnect(interconnect: Interconnect, gpio: Boolean) { let content = require(`@site/src/data/interconnects/${interconnect.id}/design_guideline.md`); let imageUrl = require(`@site/docs/assets/interconnects/${interconnect.id}/pinout.png`); return ( {gpio && } {interconnect.node_labels && !gpio && ( <>

The following node labels are available: )}
); } function mapInterconnectValue(interconnect: Interconnect) { return { label: `${interconnect.name} Shields`, value: interconnect.id }; } function InterconnectTabs({ items, gpio }: InterconnectTabsProps) { let grouped = Object.values(groupedMetadata(items).interconnects) .map((i) => i?.interconnect as Interconnect) .filter((i) => i?.design_guideline) .sort((a, b) => a.id.localeCompare(b.id)); return ( {grouped.map((items) => mapInterconnect(items, gpio))} ); } export default InterconnectTabs;