diff --git a/src/components/ExternalLink.tsx b/src/components/ExternalLink.tsx new file mode 100644 index 0000000..2fe5405 --- /dev/null +++ b/src/components/ExternalLink.tsx @@ -0,0 +1,20 @@ +import { Link, LinkProps } from '@mui/material' +import { mergeSxProps } from '../utils' +import { ExternalLinkIcon } from '../icons/ExternalLinkIcon' + + +export const ExternalLink = ({ children, sx, ...rest }: LinkProps) => ( + + {children} + + +) diff --git a/src/configs/work.json b/src/configs/work.json index c9db8ea..59d11be 100644 --- a/src/configs/work.json +++ b/src/configs/work.json @@ -1,6 +1,7 @@ { "Vacuumlabs": { "title": "Software Engineer", + "companyLink": "https://vacuumlabs.com/about/", "from": "Jan 2021", "to": "Dec 2022", "description": [ diff --git a/src/configs/work.yaml b/src/configs/work.yaml index 6f80db5..45d95e7 100644 --- a/src/configs/work.yaml +++ b/src/configs/work.yaml @@ -1,5 +1,6 @@ Vacuumlabs: title: Software Engineer + companyLink: https://vacuumlabs.com/about/ from: Jan 2021 to: Dec 2022 description: diff --git a/src/icons/ExternalLinkIcon.tsx b/src/icons/ExternalLinkIcon.tsx new file mode 100644 index 0000000..5bdc3bb --- /dev/null +++ b/src/icons/ExternalLinkIcon.tsx @@ -0,0 +1,21 @@ +import { SvgIcon, SvgIconProps } from '@mui/material' + + +export const ExternalLinkIcon = (props: SvgIconProps) => ( + + + + + + + +) diff --git a/src/pages/LandingPage/EducationItem.tsx b/src/pages/LandingPage/EducationItem.tsx index b3af6ec..7ed33f9 100644 --- a/src/pages/LandingPage/EducationItem.tsx +++ b/src/pages/LandingPage/EducationItem.tsx @@ -1,5 +1,6 @@ import { Accordion, AccordionDetails, AccordionSummary, Box, Card, Typography, accordionSummaryClasses } from '@mui/material' import { ListFromMd } from '../../components/ListFromMd' +import { ExternalLink } from '../../components/ExternalLink' export type EducationDetails = { @@ -18,7 +19,7 @@ type EducationItemProps = { export const EducationItem = ({ details }: EducationItemProps) => ( - {details.name} + {details.website ? {details.name} : details.name} {details.subtitle} {details.from ? `${details.from}–` : ''}{details.to} diff --git a/src/pages/LandingPage/ExperienceItem.tsx b/src/pages/LandingPage/ExperienceItem.tsx index 436bad5..b4a2aed 100644 --- a/src/pages/LandingPage/ExperienceItem.tsx +++ b/src/pages/LandingPage/ExperienceItem.tsx @@ -1,5 +1,6 @@ import { Card, Typography } from '@mui/material' import { ListFromMd } from '../../components/ListFromMd' +import { ExternalLink } from '../../components/ExternalLink' export type WorkExperience = { @@ -17,7 +18,13 @@ type ExperienceItemProps = { export const ExperienceItem = ({ experience }: ExperienceItemProps) => ( - {experience.title} — {experience.companyName} + + {experience.title} — { + experience.companyLink + ? {experience.companyName} + : experience.companyName + } + {experience.from}–{experience.to}