Skip to content

Commit

Permalink
Migrate JsonLink component (#5370)
Browse files Browse the repository at this point in the history
* Migrate JsonLink component

Signed-off-by: Vessy Shestorkina <46304479+Ve33y@users.noreply.github.com>

* Add storybook snap and robot icon

Signed-off-by: Vessy Shestorkina <46304479+Ve33y@users.noreply.github.com>

* Remove IconContext provider

Signed-off-by: Vessy Shestorkina <46304479+Ve33y@users.noreply.github.com>

---------

Signed-off-by: Vessy Shestorkina <46304479+Ve33y@users.noreply.github.com>
Signed-off-by: Claudio Wunder <cwunder@gnome.org>
Co-authored-by: Claudio Wunder <cwunder@gnome.org>
  • Loading branch information
Ve33y and ovflowd committed May 24, 2023
1 parent 41bb28a commit 684fafd
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 1 deletion.
23 changes: 23 additions & 0 deletions components/Api/JsonLink/__snapshots__/index.stories.ts.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Api/JsonLink Default smoke-test 1`] = `
<div class="JsonLink_json__0XIkR">
<a href="https://nodejs.org/docs/latest-v18.x/api/documentation.json">
<span>
View as JSON
</span>
<svg stroke="currentColor"
fill="currentColor"
stroke-width="0"
viewbox="0 0 640 512"
class="JsonLink_FaRobotIcon__KvHGw"
height="1em"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z">
</path>
</svg>
</a>
</div>
`;
29 changes: 29 additions & 0 deletions components/Api/JsonLink/index.module.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.json {
display: flex;
flex-wrap: wrap;

a {
color: var(--color-text-secondary);
font-family: var(--sans-serif);
font-size: 1.4rem;
font-weight: var(--font-weight-regular);
margin-left: 0;
text-decoration: none !important;
text-transform: uppercase;
vertical-align: middle;

span {
font-weight: var(--font-weight-regular);
vertical-align: middle;
}

&:hover {
color: var(--brand-light);
}

.FaRobotIcon {
margin-left: 0.5rem;
vertical-align: middle;
}
}
}
14 changes: 14 additions & 0 deletions components/Api/JsonLink/index.stories.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import JsonLink from './index';
import type { Meta as MetaObj, StoryObj } from '@storybook/react';

type Story = StoryObj<typeof JsonLink>;
type Meta = MetaObj<typeof JsonLink>;

export const Default: Story = {
args: {
version: 'v18',
fileName: 'documentation',
},
};

export default { component: JsonLink } as Meta;
22 changes: 22 additions & 0 deletions components/Api/JsonLink/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { FormattedMessage } from 'react-intl';
import { FaRobot } from 'react-icons/fa';
import styles from './index.module.scss';
import type { FC } from 'react';

type JsonLinkProps = {
fileName: string;
version: string;
};

const JsonLink: FC<JsonLinkProps> = ({ fileName, version }) => (
<div className={styles.json}>
<a
href={`https://nodejs.org/docs/latest-${version}.x/api/${fileName}.json`}
>
<FormattedMessage id="components.api.jsonLink.title" tagName="span" />
<FaRobot className={styles.FaRobotIcon} />
</a>
</div>
);

export default JsonLink;
3 changes: 2 additions & 1 deletion i18n/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,5 +59,6 @@
"components.home.nodeFeatures.everywhere.title": "Everywhere",
"components.home.nodeFeatures.everywhere.description": "Node.js has been adapted to work in a wide variety of places",
"components.common.shellBox.copy": "{copied, select, true {copied}other {copy}}",
"components.api.stability": "Stability: {level} - "
"components.api.stability": "Stability: {level} - ",
"components.api.jsonLink.title": "View as JSON"
}

0 comments on commit 684fafd

Please sign in to comment.