From 163f9dc0fe436b708de4e59999e87005c6685a0f Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 1 Apr 2022 17:11:25 +0200 Subject: chore: add a social link component --- src/components/atoms/links/social-link.tsx | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/components/atoms/links/social-link.tsx (limited to 'src/components/atoms/links/social-link.tsx') diff --git a/src/components/atoms/links/social-link.tsx b/src/components/atoms/links/social-link.tsx new file mode 100644 index 0000000..489c8b4 --- /dev/null +++ b/src/components/atoms/links/social-link.tsx @@ -0,0 +1,51 @@ +import GithubIcon from '@assets/images/social-media/github.svg'; +import GitlabIcon from '@assets/images/social-media/gitlab.svg'; +import LinkedInIcon from '@assets/images/social-media/linkedin.svg'; +import TwitterIcon from '@assets/images/social-media/twitter.svg'; +import { FC } from 'react'; +import styles from './social-link.module.scss'; + +type SocialLinkProps = { + /** + * The social website name. + */ + name: 'Github' | 'Gitlab' | 'LinkedIn' | 'Twitter'; + /** + * The social profile url. + */ + url: string; +}; + +/** + * SocialLink component + * + * Render a social icon link. + */ +const SocialLink: FC = ({ name, url }) => { + /** + * Retrieve a social link icon by id. + * @param {string} id - The social website id. + */ + const getIcon = (id: string) => { + switch (id) { + case 'Github': + return