Files
hyperglass/docs/components/platforms.tsx
2025-01-24 16:58:57 +00:00

45 lines
1.4 KiB
TypeScript

import { Code, Table, Td, Th, Tr } from "nextra/components";
import platforms from "~/platforms.json";
import { NotSupported } from "./not-supported-icon";
import { Supported } from "./supported-icon";
export const SupportedPlatforms = () => (
<ul className="nx-mt-2 first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6">
{platforms.reduce<React.ReactNode[]>((final, platform) => {
if (platform.native) {
const element = (
<li key={platform.name}>
<Supported style={{ display: "inline", marginRight: "0.5rem" }} />
{platform.name}
</li>
);
final.push(element);
}
return final;
}, [])}
</ul>
);
export const PlatformTable = () => (
<Table>
<tbody>
<Tr>
<Th>Platform Keys</Th>
<Th>Natively Supported</Th>
</Tr>
{platforms.map((spec) => (
<Tr key={spec.keys.join("--")}>
<Td>
{spec.keys.map((key) => (
<Code className="nx-mx-2" key={key}>
{key}
</Code>
))}
</Td>
<Td align="center">{spec.native ? <Supported /> : <NotSupported />}</Td>
</Tr>
))}
</tbody>
</Table>
);