summaryrefslogtreecommitdiff
path: root/docs/src/components/codes/OsSupportIcon.jsx
diff options
context:
space:
mode:
authorinnovaker <66737976+innovaker@users.noreply.github.com>2020-11-06 19:42:54 +0000
committerPete Johanson <peter@peterjohanson.com>2020-11-06 15:02:12 -0500
commitff638eb0105a22780d5084da58da83c98dc6d324 (patch)
treec1b6c9678dbc3b0ec4355f4177ff777816777479 /docs/src/components/codes/OsSupportIcon.jsx
parent194854ff7b61999f935e46d7a99060a655292490 (diff)
docs(codes): Add (key) codes documentation
Create codes documentation for standardized keys. Closes #218. Fixes #308. Ref #21.
Diffstat (limited to 'docs/src/components/codes/OsSupportIcon.jsx')
-rw-r--r--docs/src/components/codes/OsSupportIcon.jsx51
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/src/components/codes/OsSupportIcon.jsx b/docs/src/components/codes/OsSupportIcon.jsx
new file mode 100644
index 0000000..a518d62
--- /dev/null
+++ b/docs/src/components/codes/OsSupportIcon.jsx
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+
+const Icon = ({ children, className, title }) => (
+ <span className={className} title={title}>
+ {children}
+ </span>
+);
+
+Icon.propTypes = {
+ children: PropTypes.oneOfType([PropTypes.element, PropTypes.string])
+ .isRequired,
+ className: PropTypes.string.isRequired,
+ title: PropTypes.string.isRequired,
+};
+
+export const Supported = () => (
+ <Icon className="supported" title="Supported 😄">
+ ⭐
+ </Icon>
+);
+export const NotSupported = () => (
+ <Icon className="not-supported" title="Not Supported 😢">
+ ❌
+ </Icon>
+);
+export const NotTested = () => (
+ <Icon className="not-tested" title="Not Tested Yet - PR's welcomed! 🧐">
+ ❔
+ </Icon>
+);
+
+export default function OsSupportIcon({ value }) {
+ if (value === true) {
+ return <Supported />;
+ }
+ if (value === false) {
+ return <NotSupported />;
+ }
+ return <NotTested />;
+}
+
+OsSupportIcon.propTypes = {
+ value: PropTypes.oneOf([true, false, null]),
+};