diff --git a/components/Footer/footer.json b/components/Footer/footer.json new file mode 100644 index 0000000..cc1cfa6 --- /dev/null +++ b/components/Footer/footer.json @@ -0,0 +1,62 @@ +{ + "socialLinks": [ + { + "icon": "github", + "link": "https://github.com/nodejs/node", + "alt": "GitHub" + }, + { + "icon": "discord", + "link": "https://discord.gg/nodejs", + "alt": "Discord" + }, + { + "icon": "mastodon", + "link": "https://social.lfx.dev/@nodejs", + "alt": "Mastodon" + }, + { + "icon": "bluesky", + "link": "https://bsky.app/profile/nodejs.org", + "alt": "Bluesky" + }, + { + "icon": "twitter", + "link": "https://twitter.com/nodejs", + "alt": "Twitter" + }, + { + "icon": "slack", + "link": "https://slack-invite.openjsf.org/", + "alt": "Slack" + }, + { + "icon": "linkedin", + "link": "https://www.linkedin.com/company/node-js", + "alt": "LinkedIn" + } + ], + "footerLinks": [ + { "link": "https://openjsf.org/", "text": "OpenJS Foundation" }, + { "link": "https://terms-of-use.openjsf.org/", "text": "Terms of Use" }, + { "link": "https://privacy-policy.openjsf.org/", "text": "Privacy Policy" }, + { "link": "https://bylaws.openjsf.org/", "text": "Bylaws" }, + { + "link": "https://github.com/openjs-foundation/cross-project-council/blob/main/CODE_OF_CONDUCT.md", + "text": "Code of Conduct" + }, + { + "link": "https://trademark-policy.openjsf.org/", + "text": "Trademark Policy" + }, + { "link": "https://trademark-list.openjsf.org/", "text": "Trademark List" }, + { + "link": "https://www.linuxfoundation.org/cookies/", + "text": "Cookie Policy" + }, + { + "link": "https://github.com/nodejs/node/security/policy", + "text": "Security Policy" + } + ] +} diff --git a/components/Footer/index.jsx b/components/Footer/index.jsx new file mode 100644 index 0000000..f27d37a --- /dev/null +++ b/components/Footer/index.jsx @@ -0,0 +1,45 @@ +import Footer from '@node-core/ui-components/Containers/Footer'; +import NavItem from '@node-core/ui-components/Containers/NavBar/NavItem'; + +import { socialLinks, footerLinks } from './footer.json'; + +// The Node.js Project is legally obligated to include the following text. +// It should not be modified unless explicitly requested by OpenJS staff. +const LegalSlot = ( + <> +

+ Copyright OpenJS Foundation and Node.js + contributors. All rights reserved. The{' '} + OpenJS Foundation has registered + trademarks and uses trademarks. For a list of trademarks of the{' '} + OpenJS Foundation, please see our{' '} + Trademark Policy and{' '} + Trademark List. + Trademarks and logos not indicated on the{' '} + + list of OpenJS Foundation trademarks + {' '} + are trademarks™ or registered® trademarks of their respective holders. Use + of them does not imply any affiliation with or endorsement by them. +

+ +

+ {footerLinks.map(({ link, text }) => ( + + {text} + + ))} +

+ +); + +/** + * Footer component for MDX documentation pages + */ +export default ({ metadata }) => ( +