diff --git a/docs/src/components/GitHubButton/index.tsx b/docs/src/components/GitHubButton/index.tsx index f59bea313..2566ba185 100644 --- a/docs/src/components/GitHubButton/index.tsx +++ b/docs/src/components/GitHubButton/index.tsx @@ -1,92 +1,131 @@ -import type { ReactNode } from 'react'; -import { FaGithub, FaYoutube } from 'react-icons/fa'; -import { MdMenuBook, MdDriveEta } from 'react-icons/md'; +import type { ReactNode } from "react"; +import { FaGithub, FaYoutube } from "react-icons/fa"; +import { MdMenuBook, MdDriveEta } from "react-icons/md"; +import { useState } from "react"; type ButtonProps = { - href: string; - children: ReactNode; - margin?: string; + href: string; + children: ReactNode; + margin?: string; }; -function Button({ href, children, margin = '0' }: ButtonProps): ReactNode { - return ( - - {children} - - ); +function Button({ href, children, margin = "0" }: ButtonProps): ReactNode { + const [hover, setHover] = useState(false); + + return ( + setHover(true)} + onMouseLeave={() => setHover(false)} + onFocus={() => setHover(true)} + onBlur={() => setHover(false)} + > + {children} + + ); } type GitHubButtonProps = { - url: string; - margin?: string; + url: string; + margin?: string; }; -function GitHubButton({ url, margin = '0' }: GitHubButtonProps): ReactNode { - return ( - - ); +function GitHubButton({ url, margin = "0" }: GitHubButtonProps): ReactNode { + return ( + + ); } type YouTubeButtonProps = { - url: string; - margin?: string; + url: string; + margin?: string; }; -function YouTubeButton({ url, margin = '0' }: YouTubeButtonProps): ReactNode { - return ( - - ); +function YouTubeButton({ url, margin = "0" }: YouTubeButtonProps): ReactNode { + return ( + + ); } type DocumentationButtonProps = { - url: string; - text: string; - margin?: string; + url: string; + text: string; + margin?: string; }; -function DocumentationButton({ url, text, margin }: DocumentationButtonProps): ReactNode { - return ( - - ); +function DocumentationButton({ + url, + text, + margin, +}: DocumentationButtonProps): ReactNode { + return ( + + ); } // ExampleButton as requested type ExampleButtonProps = { - href: string; - text: string; - margin?: string; + href: string; + text: string; + margin?: string; }; function ExampleButton({ href, text, margin }: ExampleButtonProps): ReactNode { - return ( - - ); + return ( + + ); } export { GitHubButton, YouTubeButton, DocumentationButton, ExampleButton };