import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import { HardwareMetadata, Interconnect } from "../hardware-metadata"; import { groupedMetadata } from "./hardware-utils"; interface InterconnectTabsProps { items: HardwareMetadata[]; gpio: boolean; } function mapInterconnect(interconnect: Interconnect, gpio: boolean) { const content = require( `@site/src/data/interconnects/${interconnect.id}/design_guideline.md` ); const 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) { const 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;