diff options
| author | Jan Tuomi <jan.tuomi@valuemotive.com> | 2021-11-04 13:34:02 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan.tuomi@valuemotive.com> | 2021-11-04 13:34:02 +0200 |
| commit | 462b2fe10cf45da3dbcb5ee20ca6dfb79f46e6b6 (patch) | |
| tree | 2862938769f5c3e0efd57f5256dbdbb5452cdb4e /components/Social | |
Initial commit
Diffstat (limited to 'components/Social')
| -rw-r--r-- | components/Social/Social.module.css | 21 | ||||
| -rw-r--r-- | components/Social/Social.tsx | 45 |
2 files changed, 66 insertions, 0 deletions
diff --git a/components/Social/Social.module.css b/components/Social/Social.module.css new file mode 100644 index 0000000..ad0728a --- /dev/null +++ b/components/Social/Social.module.css @@ -0,0 +1,21 @@ +.social { + display: flex; + flex-flow: row nowrap; + justify-content: center; + align-items: center; + margin: 0 1rem; + width: 45px; + height: 45px; +} + +.social img { + width: 40px; + height: 40px; + transition: transform 0.1s; +} + +.social:hover img, +.social:active img, +.social:focus img { + transform: scale(1.1); +} diff --git a/components/Social/Social.tsx b/components/Social/Social.tsx new file mode 100644 index 0000000..f663f6e --- /dev/null +++ b/components/Social/Social.tsx @@ -0,0 +1,45 @@ +import styles from "./Social.module.css"; + +export type SocialType = "telegram" | "linkedin" | "github"; + +interface Props { + type: SocialType; +} + +interface TypeItem { + alt: string; + src: string; + href: string; +} + +const typeMap: Record<SocialType, TypeItem> = { + telegram: { + alt: "Telegram", + src: "/social/telegram.svg", + href: "https://t.me/kal_jan", + }, + linkedin: { + alt: "LinkedIn", + src: "/social/linkedin.svg", + href: "https://www.linkedin.com/in/jantuomi/", + }, + github: { + alt: "GitHub", + src: "/social/github.svg", + href: "http://github.com/jantuomi" + }, +}; + +const Social = ({ type }: Props): JSX.Element => { + const typeItem = typeMap[type]; + + return ( + <a className={styles.social} target="blank" rel="noopener noreferrer" href={typeItem.href}> + <img src={typeItem.src} alt={typeItem.alt} /> + </a> + ); +}; + + + +export default Social; |
