diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-01-10 16:15:59 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-01-10 16:21:20 +0100 |
| commit | cd1078e3a6ddb1b1598723beec4905c123ee85a6 (patch) | |
| tree | c8bf2a0ea7625880e7a6839b2ff579d1309de3e5 | |
| parent | 843d2ee67487c489095066dca1ad902deb8a4344 (diff) | |
chore: add PDF and image format to CV page
| -rw-r--r-- | mdx.d.ts | 2 | ||||
| -rw-r--r-- | src/components/Widget/CVPreview/CVPreview.module.scss | 6 | ||||
| -rw-r--r-- | src/components/Widget/CVPreview/CVPreview.tsx | 36 | ||||
| -rw-r--r-- | src/components/Widget/index.tsx | 10 | ||||
| m--------- | src/content | 0 | ||||
| -rw-r--r-- | src/pages/cv.tsx | 5 |
6 files changed, 56 insertions, 3 deletions
@@ -5,4 +5,6 @@ declare module '*.mdx' { export default MDXComponent; export const meta: Meta; export const intro: string; + export const pdf: string; + export const image: string; } diff --git a/src/components/Widget/CVPreview/CVPreview.module.scss b/src/components/Widget/CVPreview/CVPreview.module.scss new file mode 100644 index 0000000..6ddd696 --- /dev/null +++ b/src/components/Widget/CVPreview/CVPreview.module.scss @@ -0,0 +1,6 @@ +.preview { + position: relative; + width: 100%; + height: 20rem; + margin-bottom: var(--spacing-sm); +} diff --git a/src/components/Widget/CVPreview/CVPreview.tsx b/src/components/Widget/CVPreview/CVPreview.tsx new file mode 100644 index 0000000..f0bd0fe --- /dev/null +++ b/src/components/Widget/CVPreview/CVPreview.tsx @@ -0,0 +1,36 @@ +import { Trans } from '@lingui/macro'; +import Image from 'next/image'; +import Link from 'next/link'; +import styles from './CVPreview.module.scss'; + +const CVPreview = ({ + title, + imgSrc, + pdf, +}: { + title: string; + imgSrc: string; + pdf: string; +}) => { + return ( + <div> + <h2>{title}</h2> + <div className={styles.preview}> + <Image + src={imgSrc} + layout="fill" + objectFit="contain" + objectPosition="left" + alt="CV Armand Philippot" + /> + </div> + <p> + <Trans> + Download <Link href={pdf}>CV in PDF</Link> + </Trans> + </p> + </div> + ); +}; + +export default CVPreview; diff --git a/src/components/Widget/index.tsx b/src/components/Widget/index.tsx index 9df51e3..9a9aea8 100644 --- a/src/components/Widget/index.tsx +++ b/src/components/Widget/index.tsx @@ -1,7 +1,15 @@ +import CVPreview from './CVPreview/CVPreview'; import RecentPosts from './RecentPosts/RecentPosts'; import Sharing from './Sharing/Sharing'; import SocialMedia from './SocialMedia/SocialMedia'; import ThematicsList from './ThematicsList/ThematicsList'; import TopicsList from './TopicsList/TopicsList'; -export { RecentPosts, Sharing, SocialMedia, ThematicsList, TopicsList }; +export { + CVPreview, + RecentPosts, + Sharing, + SocialMedia, + ThematicsList, + TopicsList, +}; diff --git a/src/content b/src/content -Subproject a48da663f25b8cf4b641e0ab1c39805196bc983 +Subproject f399fbcb373436ab05f3e01ce762ce1680e61f7 diff --git a/src/pages/cv.tsx b/src/pages/cv.tsx index 83d1fe5..025d554 100644 --- a/src/pages/cv.tsx +++ b/src/pages/cv.tsx @@ -5,11 +5,11 @@ import { NextPageWithLayout } from '@ts/types/app'; import { loadTranslation } from '@utils/helpers/i18n'; import { GetStaticProps, GetStaticPropsContext } from 'next'; import Head from 'next/head'; -import CVContent, { intro, meta } from '@content/pages/cv.mdx'; +import CVContent, { intro, meta, pdf, image } from '@content/pages/cv.mdx'; import PostHeader from '@components/PostHeader/PostHeader'; import { ArticleMeta } from '@ts/types/articles'; import styles from '@styles/pages/Page.module.scss'; -import { SocialMedia } from '@components/Widget'; +import { CVPreview, SocialMedia } from '@components/Widget'; import { t } from '@lingui/macro'; const CV: NextPageWithLayout = () => { @@ -39,6 +39,7 @@ const CV: NextPageWithLayout = () => { <CVContent /> </div> <aside className={styles.aside}> + <CVPreview title={t`Other formats`} imgSrc={image} pdf={pdf} /> <SocialMedia title={t`Open-source projects`} github={true} |
