mirror of
https://github.com/theoludwig/theoludwig.git
synced 2025-10-11 17:06:21 +02:00
166 lines
5.6 KiB
TypeScript
166 lines
5.6 KiB
TypeScript
import { useTranslations } from "next-intl"
|
|
import { FaGraduationCap } from "react-icons/fa"
|
|
import { CurriculumVitaeSection } from "./CurriculumVitaeSection.tsx"
|
|
|
|
export interface CurriculumVitaeEducationProps {}
|
|
|
|
export const CurriculumVitaeEducation: React.FC<
|
|
CurriculumVitaeEducationProps
|
|
> = () => {
|
|
const t = useTranslations()
|
|
|
|
const educations = [
|
|
{
|
|
years: t("curriculum-vitae.education.cnam.years.2024-2027.title"),
|
|
studyType: t("curriculum-vitae.education.cnam.study-type"),
|
|
institution: t("curriculum-vitae.education.cnam.institution"),
|
|
// score: t("curriculum-vitae.education.cnam.years.2024-2027.description"),
|
|
courses: [],
|
|
},
|
|
{
|
|
years: t("curriculum-vitae.education.iut.years.title"),
|
|
studyType: t("curriculum-vitae.education.iut.study-type"),
|
|
institution: t("curriculum-vitae.education.iut.institution"),
|
|
courses: [
|
|
{
|
|
year: t("curriculum-vitae.education.iut.years.2021-2022.description"),
|
|
title: t("curriculum-vitae.education.iut.years.2021-2022.title"),
|
|
courses: [
|
|
t("curriculum-vitae.education.iut.years.2021-2022.courses.java"),
|
|
t(
|
|
"curriculum-vitae.education.iut.years.2021-2022.courses.systems-c",
|
|
),
|
|
// t(
|
|
// "curriculum-vitae.education.iut.years.2021-2022.courses.windows-forms",
|
|
// ),
|
|
t.rich(
|
|
"curriculum-vitae.education.iut.years.2021-2022.courses.sql",
|
|
{
|
|
strong: (children) => {
|
|
return <strong>{children}</strong>
|
|
},
|
|
},
|
|
),
|
|
],
|
|
},
|
|
{
|
|
year: t("curriculum-vitae.education.iut.years.2022-2023.description"),
|
|
title: t("curriculum-vitae.education.iut.years.2022-2023.title"),
|
|
courses: [
|
|
t("curriculum-vitae.education.iut.years.2022-2023.courses.web"),
|
|
t.rich(
|
|
"curriculum-vitae.education.iut.years.2022-2023.courses.tests",
|
|
{
|
|
strong: (children) => {
|
|
return <strong>{children}</strong>
|
|
},
|
|
},
|
|
),
|
|
t.rich(
|
|
"curriculum-vitae.education.iut.years.2022-2023.courses.clean-code",
|
|
{
|
|
strong: (children) => {
|
|
return <strong>{children}</strong>
|
|
},
|
|
},
|
|
),
|
|
// t("curriculum-vitae.education.iut.years.2022-2023.courses.sql-security"),
|
|
t.rich(
|
|
"curriculum-vitae.education.iut.years.2022-2023.courses.systems-c",
|
|
{
|
|
strong: (children) => {
|
|
return <strong>{children}</strong>
|
|
},
|
|
},
|
|
),
|
|
],
|
|
},
|
|
{
|
|
year: t("curriculum-vitae.education.iut.years.2023-2024.description"),
|
|
title: t("curriculum-vitae.education.iut.years.2023-2024.title"),
|
|
courses: [
|
|
t.rich(
|
|
"curriculum-vitae.education.iut.years.2023-2024.courses.web",
|
|
{
|
|
strong: (children) => {
|
|
return <strong>{children}</strong>
|
|
},
|
|
},
|
|
),
|
|
t("curriculum-vitae.education.iut.years.2023-2024.courses.ci-cd"),
|
|
t(
|
|
"curriculum-vitae.education.iut.years.2023-2024.courses.complexity-algorithms",
|
|
),
|
|
t("curriculum-vitae.education.iut.years.2023-2024.courses.no-sql"),
|
|
],
|
|
},
|
|
],
|
|
},
|
|
// {
|
|
// years: t("curriculum-vitae.education.lycee.years.2019-2021.title"),
|
|
// studyType: t("curriculum-vitae.education.lycee.study-type"),
|
|
// institution: t("curriculum-vitae.education.lycee.institution"),
|
|
// score: t("curriculum-vitae.education.lycee.score"),
|
|
// courses: [],
|
|
// },
|
|
]
|
|
|
|
return (
|
|
<CurriculumVitaeSection
|
|
id="education"
|
|
title={t("curriculum-vitae.education.title")}
|
|
icon={<FaGraduationCap size={24} />}
|
|
>
|
|
<ul className="list-unstyled m-0">
|
|
{educations.map((education) => {
|
|
return (
|
|
<li key={education.years} className="card card-nested">
|
|
<p className="relative m-0">
|
|
<strong>{education.studyType}</strong>
|
|
</p>
|
|
|
|
{/* {education.score != null ? (
|
|
<p className="relative m-0">
|
|
<strong>{education.score}</strong>
|
|
</p>
|
|
) : (
|
|
<></>
|
|
)} */}
|
|
|
|
<p className="text-muted m-0">{education.institution}</p>
|
|
|
|
<p className="text-muted m-0">
|
|
<small>{education.years}</small>
|
|
</p>
|
|
|
|
{education.courses.length > 0 ? (
|
|
<ul className="list-none">
|
|
{education.courses.map(({ year, title, courses }) => {
|
|
return (
|
|
<li key={year}>
|
|
<span className="font-medium">{year}</span>
|
|
<span> ({title})</span>
|
|
<ul
|
|
style={{
|
|
paddingInlineStart: 20,
|
|
}}
|
|
>
|
|
{courses.map((course, index) => {
|
|
return <li key={index}>{course}</li>
|
|
})}
|
|
</ul>
|
|
</li>
|
|
)
|
|
})}
|
|
</ul>
|
|
) : (
|
|
<></>
|
|
)}
|
|
</li>
|
|
)
|
|
})}
|
|
</ul>
|
|
</CurriculumVitaeSection>
|
|
)
|
|
}
|