diff --git a/package.json b/package.json index 6df53217..3539da44 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,10 @@ "dependencies": { "@algolia/autocomplete-core": "^1.9.2", "@algolia/autocomplete-preset-algolia": "^1.9.2", + "@fortawesome/fontawesome-svg-core": "^6.4.0", + "@fortawesome/free-brands-svg-icons": "^6.4.0", + "@fortawesome/free-solid-svg-icons": "^6.4.0", + "@fortawesome/react-fontawesome": "^0.2.0", "@headlessui/react": "^1.7.13", "@mdx-js/loader": "^2.1.5", "@mdx-js/react": "^2.1.5", @@ -46,6 +50,7 @@ "postcss-focus-visible": "^8.0.2", "react": "18.2.0", "react-dom": "18.2.0", + "react-toastify": "^9.1.3", "recma-nextjs-static-props": "^1.0.0", "rehype-mdx-title": "^2.0.0", "rehype-slug": "^5.1.0", diff --git a/src/components/Layout.jsx b/src/components/Layout.jsx index b56add6a..77a047ae 100644 --- a/src/components/Layout.jsx +++ b/src/components/Layout.jsx @@ -11,6 +11,10 @@ import {Header} from "@/components/Header"; import {NavigationAPI} from "@/components/NavigationAPI"; import {motion} from "framer-motion"; import {Footer} from "@/components/Footer"; +import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; +import { faPaperclip } from '@fortawesome/free-solid-svg-icons'; +import { faGithub } from '@fortawesome/free-brands-svg-icons'; +import {toast} from "react-toastify"; const navigation = [ { @@ -131,6 +135,25 @@ export function Layout({ children, title, tableOfContents }) { section.links.find((link) => link.href === router.pathname) ) + const buttonStyle = { + display: 'inline', + minWidth: '90px', + textAlign: 'left', + justifyContent: 'center', + alignItems: 'center', + }; + + const iconStyle = { + fontSize: '18px', + }; + + const copyToClipboard = () => { + const currentURL = window.location.href; + navigator.clipboard.writeText(currentURL); + toast.info('Page URL copied to clipboard!', { + position: toast.POSITION.BOTTOM_RIGHT, + }); + }; let currentSection = useTableOfContents(tableOfContents) function isActive(section) { @@ -168,6 +191,28 @@ export function Layout({ children, title, tableOfContents }) {