mirror of
https://github.com/theoludwig/theoludwig.git
synced 2025-09-11 23:09:22 +02:00
fix: update Curriculum Vitae + add Fusey interest
This commit is contained in:
@@ -173,9 +173,8 @@ code .line::before {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.curriculum-vitae {
|
.curriculum-vitae {
|
||||||
background: #f0f0f0;
|
|
||||||
color: #333;
|
color: #333;
|
||||||
font-family: Arial, sans-serif;
|
font-family: Montserrat, sans-serif;
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
@@ -251,8 +250,8 @@ code .line::before {
|
|||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
}
|
}
|
||||||
.profile-pic img {
|
.profile-pic img {
|
||||||
width: 100px;
|
width: 80px;
|
||||||
height: 100px;
|
height: 80px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
border: 0;
|
border: 0;
|
||||||
|
@@ -88,7 +88,7 @@
|
|||||||
"position": "Stagiaire Développeur Web Full Stack",
|
"position": "Stagiaire Développeur Web Full Stack",
|
||||||
"startDate": "2023-04-11",
|
"startDate": "2023-04-11",
|
||||||
"endDate": "2023-07-26",
|
"endDate": "2023-07-26",
|
||||||
"duration": "4 mois",
|
"duration": "3 mois",
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// "summary": "Agent administratif - Numérisation et archivage des plans électriques initialement sous format papier calque.",
|
// "summary": "Agent administratif - Numérisation et archivage des plans électriques initialement sous format papier calque.",
|
||||||
|
@@ -87,17 +87,17 @@
|
|||||||
"title": "Studies"
|
"title": "Studies"
|
||||||
},
|
},
|
||||||
"interests": {
|
"interests": {
|
||||||
"high-tech": "Passionate about High-Tech",
|
"fusey": "<link>Fusey (fusey.gg)</link>: website I'm developing for the game ARK: Survival Ascended that tracks the number of players connected to the servers in real time and has over ~5,000 visitors each month, ~100,000 members on Discord, and ~120,000 followers on X/Twitter.",
|
||||||
"open-source": "Open-Source Enthusiast"
|
"open-source": "Open-Source Enthusiast"
|
||||||
},
|
},
|
||||||
"work": {
|
"work": {
|
||||||
"ircad": {
|
"ircad": {
|
||||||
"duration": "4 ans",
|
"duration": "4 years",
|
||||||
"position": "Full Stack Web Developer Apprentice",
|
"position": "Full Stack Web Developer Apprentice",
|
||||||
"summary": "Development of WebSurg, a virtual university dedicated to medical-surgical training, in React.js/Next.js and API Platform with Symfony."
|
"summary": "Development of WebSurg, a virtual university dedicated to medical-surgical training, in React.js/Next.js and API Platform with Symfony."
|
||||||
},
|
},
|
||||||
"numerize": {
|
"numerize": {
|
||||||
"duration": "4 months",
|
"duration": "3 months",
|
||||||
"position": "Full Stack Web Developer Intern",
|
"position": "Full Stack Web Developer Intern",
|
||||||
"summary": "Development of an DMS (Document Management System) tool in React.js, Laravel and GraphQL."
|
"summary": "Development of an DMS (Document Management System) tool in React.js, Laravel and GraphQL."
|
||||||
},
|
},
|
||||||
|
@@ -87,7 +87,7 @@
|
|||||||
"title": "Études"
|
"title": "Études"
|
||||||
},
|
},
|
||||||
"interests": {
|
"interests": {
|
||||||
"high-tech": "Passionné de High-Tech",
|
"fusey": "<link>Fusey (fusey.gg)</link> : site web que je développe pour le jeu ARK: Survival Ascended qui permet de suivre en temps réel le nombre de joueurs connectés sur les serveurs et a plus de ~5 000 visiteurs chaque mois, ~100 000 membres sur Discord et ~120 000 followers sur X/Twitter.",
|
||||||
"open-source": "Enthousiaste de l'Open-Source"
|
"open-source": "Enthousiaste de l'Open-Source"
|
||||||
},
|
},
|
||||||
"work": {
|
"work": {
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
"summary": "Développement de WebSurg, une université virtuelle consacrée à la formation médico-chirurgicale, en React.js/Next.js et API Platform avec Symfony."
|
"summary": "Développement de WebSurg, une université virtuelle consacrée à la formation médico-chirurgicale, en React.js/Next.js et API Platform avec Symfony."
|
||||||
},
|
},
|
||||||
"numerize": {
|
"numerize": {
|
||||||
"duration": "4 mois",
|
"duration": "3 mois",
|
||||||
"position": "Stagiaire Développeur Web Full Stack",
|
"position": "Stagiaire Développeur Web Full Stack",
|
||||||
"summary": "Développement d'un outil GED (Gestion Électronique de Documents) en React.js, Laravel et GraphQL."
|
"summary": "Développement d'un outil GED (Gestion Électronique de Documents) en React.js, Laravel et GraphQL."
|
||||||
},
|
},
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
import { CurriculumVitaeAbout } from "./CurriculumVitaeAbout.tsx"
|
|
||||||
import { CurriculumVitaeEducation } from "./CurriculumVitaeEducation.tsx"
|
import { CurriculumVitaeEducation } from "./CurriculumVitaeEducation.tsx"
|
||||||
import { CurriculumVitaeInterests } from "./CurriculumVitaeInterests.tsx"
|
import { CurriculumVitaeInterests } from "./CurriculumVitaeInterests.tsx"
|
||||||
import { CurriculumVitaeProfile } from "./CurriculumVitaeProfile.tsx"
|
import { CurriculumVitaeProfile } from "./CurriculumVitaeProfile.tsx"
|
||||||
@@ -16,18 +15,14 @@ export const CurriculumVitae: React.FC<CurriculumVitaeProps> = () => {
|
|||||||
|
|
||||||
<div className="card background-card">
|
<div className="card background-card">
|
||||||
<div className="background-details">
|
<div className="background-details">
|
||||||
<CurriculumVitaeAbout />
|
<section className="flex justify-between">
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<section className="flex">
|
|
||||||
<CurriculumVitaeEducation />
|
<CurriculumVitaeEducation />
|
||||||
<CurriculumVitaeSkills />
|
<CurriculumVitaeSkills />
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<section className="flex">
|
<section className="flex justify-between">
|
||||||
<CurriculumVitaeWork />
|
<CurriculumVitaeWork />
|
||||||
<CurriculumVitaeInterests />
|
<CurriculumVitaeInterests />
|
||||||
</section>
|
</section>
|
||||||
|
@@ -1,25 +0,0 @@
|
|||||||
import { useTranslations } from "next-intl"
|
|
||||||
import { FaUser } from "react-icons/fa"
|
|
||||||
import { CurriculumVitaeSection } from "./CurriculumVitaeSection.tsx"
|
|
||||||
|
|
||||||
export interface CurriculumVitaeAboutProps {}
|
|
||||||
|
|
||||||
export const CurriculumVitaeAbout: React.FC<CurriculumVitaeAboutProps> = () => {
|
|
||||||
const t = useTranslations()
|
|
||||||
|
|
||||||
return (
|
|
||||||
<CurriculumVitaeSection
|
|
||||||
id="about"
|
|
||||||
title={t("curriculum-vitae.about.title")}
|
|
||||||
icon={<FaUser size={24} />}
|
|
||||||
>
|
|
||||||
<p>
|
|
||||||
{t.rich("curriculum-vitae.about.description", {
|
|
||||||
br: () => {
|
|
||||||
return <br />
|
|
||||||
},
|
|
||||||
})}
|
|
||||||
</p>
|
|
||||||
</CurriculumVitaeSection>
|
|
||||||
)
|
|
||||||
}
|
|
@@ -11,7 +11,15 @@ export const CurriculumVitaeInterests: React.FC<
|
|||||||
|
|
||||||
const interests = [
|
const interests = [
|
||||||
t("curriculum-vitae.interests.open-source"),
|
t("curriculum-vitae.interests.open-source"),
|
||||||
t("curriculum-vitae.interests.high-tech"),
|
t.rich("curriculum-vitae.interests.fusey", {
|
||||||
|
link: (children) => {
|
||||||
|
return (
|
||||||
|
<a href="https://fusey.gg" target="_blank">
|
||||||
|
{children}
|
||||||
|
</a>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
}),
|
||||||
]
|
]
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -21,9 +29,9 @@ export const CurriculumVitaeInterests: React.FC<
|
|||||||
icon={<FaHeart size={24} />}
|
icon={<FaHeart size={24} />}
|
||||||
>
|
>
|
||||||
<ul className="list-unstyled m-0">
|
<ul className="list-unstyled m-0">
|
||||||
{interests.map((interest) => {
|
{interests.map((interest, index) => {
|
||||||
return (
|
return (
|
||||||
<li key={interest} className="card card-nested">
|
<li key={index} className="card card-nested">
|
||||||
<p>
|
<p>
|
||||||
<strong>{interest}</strong>
|
<strong>{interest}</strong>
|
||||||
</p>
|
</p>
|
||||||
|
@@ -22,12 +22,12 @@ export const CurriculumVitaeProfile: React.FC<
|
|||||||
className="mx-auto block"
|
className="mx-auto block"
|
||||||
alt={t("meta.title")}
|
alt={t("meta.title")}
|
||||||
src="/images/logo_background.webp"
|
src="/images/logo_background.webp"
|
||||||
width={800}
|
width={400}
|
||||||
height={800}
|
height={400}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="name-and-profession text-center">
|
<div className="name-and-profession text-center">
|
||||||
<h1 className="h3">
|
<h1 className="h3 my-1!">
|
||||||
<strong>{t("meta.title")}</strong>
|
<strong>{t("meta.title")}</strong>
|
||||||
</h1>
|
</h1>
|
||||||
<h2 className="text-muted h5">{t("curriculum-vitae.description")}</h2>
|
<h2 className="text-muted h5">{t("curriculum-vitae.description")}</h2>
|
||||||
@@ -39,18 +39,18 @@ export const CurriculumVitaeProfile: React.FC<
|
|||||||
</div>
|
</div>
|
||||||
<div className="flex justify-center">
|
<div className="flex justify-center">
|
||||||
<div className="relative px-3">
|
<div className="relative px-3">
|
||||||
<span className="info">
|
<strong className="info">
|
||||||
<a className="link-disguise" href="mailto:contact@theoludwig.fr">
|
<a className="" href="mailto:contact@theoludwig.fr">
|
||||||
contact@theoludwig.fr
|
contact@theoludwig.fr
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</strong>
|
||||||
</div>
|
</div>
|
||||||
<div className="detail">
|
<div className="detail">
|
||||||
<span className="info">
|
<strong className="info">
|
||||||
<Link className="link-disguise" href="/">
|
<Link className="" href="/">
|
||||||
https://theoludwig.fr/
|
https://theoludwig.fr
|
||||||
</Link>
|
</Link>
|
||||||
</span>
|
</strong>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
|
Reference in New Issue
Block a user