mirror of
				https://github.com/theoludwig/theoludwig.git
				synced 2025-10-14 20:23:25 +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