diff --git a/components/DownloadBtn.tsx b/components/DownloadBtn.tsx deleted file mode 100644 index 113c034..0000000 --- a/components/DownloadBtn.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { FunctionComponent } from 'react' -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import toast, { Toaster } from 'react-hot-toast' -import { useRouter } from 'next/router' -import { useClipboard } from 'use-clipboard-copy' - -import { getBaseUrl } from '../utils/getBaseUrl' - -const DownloadBtn: FunctionComponent<{ downloadUrl: string }> = ({ downloadUrl }) => { - const { asPath } = useRouter() - const clipboard = useClipboard() - - return ( -
- ) -} - -export default DownloadBtn diff --git a/components/DownloadBtnGtoup.tsx b/components/DownloadBtnGtoup.tsx new file mode 100644 index 0000000..9c13c43 --- /dev/null +++ b/components/DownloadBtnGtoup.tsx @@ -0,0 +1,92 @@ +import { MouseEventHandler } from 'react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { IconProp } from '@fortawesome/fontawesome-svg-core' +import toast, { Toaster } from 'react-hot-toast' +import { useClipboard } from 'use-clipboard-copy' + +import Image from 'next/image' +import { useRouter } from 'next/router' + +import { getBaseUrl } from '../utils/getBaseUrl' + +const btnStyleMap = (btnColor?: string) => { + const colorMap = { + gray: 'hover:text-gray-600 dark:hover:text-white focus:ring-gray-200 focus:text-gray-600 dark:focus:text-white border-gray-300 dark:border-gray-500 dark:focus:ring-gray-500', + blue: 'hover:text-blue-600 focus:ring-blue-200 focus:text-blue-600 border-blue-300 dark:border-blue-700 dark:focus:ring-blue-500', + teal: 'hover:text-teal-600 focus:ring-teal-200 focus:text-teal-600 border-teal-300 dark:border-teal-700 dark:focus:ring-teal-500', + red: 'hover:text-red-600 focus:ring-red-200 focus:text-red-600 border-red-300 dark:border-red-700 dark:focus:ring-red-500', + green: + 'hover:text-green-600 focus:ring-green-200 focus:text-green-600 border-green-300 dark:border-green-700 dark:focus:ring-green-500', + pink: 'hover:text-pink-600 focus:ring-pink-200 focus:text-pink-600 border-pink-300 dark:border-pink-700 dark:focus:ring-pink-500', + yellow: + 'hover:text-yellow-400 focus:ring-yellow-100 focus:text-yellow-400 border-yellow-300 dark:border-yellow-400 dark:focus:ring-yellow-300', + } + + if (btnColor) { + return colorMap[btnColor] + } + + return colorMap.gray +} + +export const DownloadButton = ({ + onClickCallback, + btnColor, + btnText, + btnIcon, + btnImage, +}: { + onClickCallback: MouseEventHandler{data}