Skip to content

Commit

Permalink
feat(#48): add annexes
Browse files Browse the repository at this point in the history
  • Loading branch information
damien-carcel committed Feb 2, 2024
1 parent 4de06df commit 26d6d2d
Show file tree
Hide file tree
Showing 6 changed files with 109 additions and 22 deletions.
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"github.vscode-github-actions",
"ms-azuretools.vscode-docker",
"redhat.vscode-yaml",
"streetsidesoftware.code-spell-checker",
"task.vscode-task",
"yzhang.markdown-all-in-one"
]
Expand Down
36 changes: 33 additions & 3 deletions src/app/cv/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import Identity from '@/components/cv/identity';
import Section from '@/components/cv/section';

import styles from './page.module.css';
import Annexes from '@/components/cv/annexes';

export const metadata: Metadata = {
title: "Hello, I'm Damien",
Expand All @@ -12,7 +13,6 @@ export const metadata: Metadata = {

/**
* TODO:
* - Add annexe sections (simpler than regular sections)
* - Add my photo to the CV
* - Compute my age instead of hardcoding it
* - Add phone and email icons right before their values
Expand All @@ -24,7 +24,7 @@ export default function About() {
return (
<div className={styles.main}>
<div className={styles.container}>
<Identity name="Damien Carcel" profession="Sofware engineer" />
<Identity name="Damien Carcel" profession="Software engineer" />
<Section
title="Contact"
subSections={[
Expand Down Expand Up @@ -108,14 +108,44 @@ export default function About() {
{
title: 'Development tools',
value: {
main: 'Jetbrains IDEs, VS Code, Git, Docker, Kubernetes, Terraform, CircleCI, GitHub Actions',
main: 'JetBrains IDEs, VS Code, Git, Docker, Kubernetes, Terraform, CircleCI, GitHub Actions',
important: true,
},
},
{ title: 'Operating systems', value: { main: 'GNU/Linux, Windows, macOS', important: true } },
{ title: 'Design', value: { main: 'GIMP, Inkscape, Adobe Illustrator', important: true } },
]}
/>
<Annexes
annexes={[
{
title: 'Professional highlights',
content: [
{
key: '1',
text: 'I enjoy coaching and bringing new knowledge when I can while learning new things from new people.',
},
{
key: '2',
text: 'My main thrill is trying to understand what are users problems and to bring solutions to those.',
},
],
},
{
title: 'Other skills and hobbies',
content: [
{
key: '1',
text: 'Reading (mainly fantasy, science fiction and manga)',
},
{
key: '2',
text: 'Fishing',
},
],
},
]}
/>
</div>
</div>
);
Expand Down
19 changes: 19 additions & 0 deletions src/components/cv/annex.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import styles from './style.module.css';

export type AnnexProps = {
title: string;
content: { key: string; text: string }[];
};

export default function Annex(props: AnnexProps) {
return (
<div className={styles.annex}>
<div className={styles['section-title']}>{props.title}</div>
<div className={styles['annex-content']}>
{props.content.map((paragraph) => (
<p key={paragraph.key}>{paragraph.text}</p>
))}
</div>
</div>
);
}
17 changes: 17 additions & 0 deletions src/components/cv/annexes.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import Annex, { AnnexProps } from '@/components/cv/annex';

import styles from './style.module.css';

type AnnexesProps = {
annexes: AnnexProps[];
};

export default function Annexes(props: AnnexesProps) {
return (
<div className={styles.annexes}>
{props.annexes.map((annex) => (
<Annex key={annex.title} title={annex.title} content={annex.content} />
))}
</div>
);
}
4 changes: 2 additions & 2 deletions src/components/cv/section.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ type SectionProps = {

export default function Section(props: SectionProps) {
return (
<section className={styles.section}>
<div className={styles.section}>
<div className={styles['section-title']}>{props.title}</div>
{props.subSections.map((subsection) => (
<SubSection key={subsection.title} title={subsection.title} value={subsection.value} />
))}
</section>
</div>
);
}
54 changes: 37 additions & 17 deletions src/components/cv/style.module.css
Original file line number Diff line number Diff line change
@@ -1,10 +1,45 @@
.annexes {
display: flex;
flex-direction: row;
padding: 5px 0;
}

.annexes > :first-child {
padding-right: 15px;
padding-left: 0;
}

.annex {
width: 50%;
padding-left: 15px;
}

.annex-content > p {
text-align: justify;
}

.name {
font-size: xxx-large;
font-weight: bold;
padding: 5px 0;
text-transform: capitalize;
}

.profession {
color: rgb(90 90 90);
font-size: x-large;
font-weight: bold;
padding: 5px 0;
text-transform: uppercase;
}

.section {
padding: 10px 0;
}

.section-title {
border-bottom: 1px solid #888;
color: dimgrey;
color: rgb(90 90 90);
font-size: large;
padding: 5px 0;
margin-bottom: 10px;
Expand All @@ -18,7 +53,7 @@
}

.subsection-title {
color: grey;
color: rgb(140 140 140);
padding-right: 15px;
text-align: right;
width: 25%;
Expand All @@ -31,18 +66,3 @@
.subsection-value > ul {
margin: inherit;
}

.name {
font-size: xxx-large;
font-weight: bold;
padding: 5px 0;
text-transform: capitalize;
}

.profession {
color: dimgrey;
font-size: x-large;
font-weight: bold;
padding: 5px 0;
text-transform: uppercase;
}

0 comments on commit 26d6d2d

Please sign in to comment.