diff options
Diffstat (limited to 'src/components/Buttons/ButtonLink')
| -rw-r--r-- | src/components/Buttons/ButtonLink/ButtonLink.tsx | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/components/Buttons/ButtonLink/ButtonLink.tsx b/src/components/Buttons/ButtonLink/ButtonLink.tsx new file mode 100644 index 0000000..70039a8 --- /dev/null +++ b/src/components/Buttons/ButtonLink/ButtonLink.tsx @@ -0,0 +1,30 @@ +import { ButtonPosition } from '@ts/types/app'; +import Link from 'next/link'; +import { ReactNode } from 'react'; +import styles from '../Buttons.module.scss'; + +const ButtonLink = ({ + children, + target, + position = 'left', + isExternal = false, +}: { + children: ReactNode; + target: string; + position?: ButtonPosition; + isExternal?: boolean; +}) => { + const classes = `${styles.btn} ${styles.link} ${styles[`link--${position}`]}`; + + return isExternal ? ( + <a className={classes} href={target}> + {children} + </a> + ) : ( + <Link href={target}> + <a className={classes}>{children}</a> + </Link> + ); +}; + +export default ButtonLink; |
