Files
gaea21-v2-web/assets/components/parcours/QuiPeutRejoindre.jsx
MohamedLoum1001 55d15922a9 feat(parcours): intégration des sections équipe d'accompagnement, télétravail et compétences
- Création du composant EquipeAccompagnement avec les 5 intervenants et leurs badges respectifs
- Intégration de la section TeletravailCompetence avec visuel et liste des compétences clés
- Implémentation du composant CeQueVousDeveloppez (grille responsive de 16 compétences sur 8 colonnes)
- Correction de l'alignement et centrage des badges icônes via positionnement absolu
- Intégration des assets graphiques finaux (coach-job-icon.png, icone-user.png)
2026-10-07 13:01:19 +02:00

143 lines
6.2 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react';
// Imports des icônes fournies (ajuste le chemin vers ton dossier d'images)
import etudiantIcon from '../../img/etudiant.png';
import expertIcon from '../../img/expert.png';
import entrepreneurIcon from '../../img/entrepreneur.png';
import personneIcon from '../../img/personne.png';
import professionnelsIcon from '../../img/professionnels.png';
import retraiteIcon from '../../img/retraite.png';
// Données organisées par colonnes pour respecter la hauteur et l'agencement Figma
const COLUMNS_DATA = [
{
colId: 'col-1',
cards: [
{
id: 'etudiants',
title: 'Étudiants',
description:
'Pour réaliser un stage, développer une première expérience professionnelle ou compléter leur formation.',
icon: etudiantIcon,
},
{
id: 'personnes-transition',
title: 'Personnes en transition',
isList: true,
listItems: [
'Retour à l’emploi.',
'Reconversion.',
'Réorientation.',
'Évolution professionnelle.',
],
icon: personneIcon,
isTall: true, // Carte plus haute
},
],
},
{
colId: 'col-2',
cards: [
{
id: 'jeunes-diplomes',
title: 'Jeunes diplômés',
description:
'Pour renforcer leur employabilité et préparer leur entrée sur le marché du travail.',
icon: etudiantIcon, // Ou l'icône jeune diplômé si distincte
},
{
id: 'entrepreneurs',
title: 'Entrepreneurs',
description:
'Pour développer un projet, une activité ou une initiative à impact.',
icon: entrepreneurIcon,
},
{
id: 'retraites',
title: 'Retraités',
description:
'Pour mettre leur expérience au service de projets utiles et porteurs de sens.',
icon: retraiteIcon,
},
],
},
{
colId: 'col-3',
cards: [
{
id: 'professionnels',
title: 'Professionnels',
description:
'Pour développer de nouvelles compétences, élargir leur expérience ou préparer une évolution de carrière.',
icon: professionnelsIcon,
},
{
id: 'experts-specialistes',
title: 'Experts et spécialistes',
description:
'Pour transmettre leurs compétences, accompagner des projets, bénéficier de mandats ou contribuer à l’écosystème.',
icon: expertIcon,
isTall: true,
},
],
},
];
export default function QuiPeutRejoindre() {
return (
<section className="w-full bg-[#ffffff] text-[#1e293b] py-14 lg:py-20 px-6 md:px-12 lg:px-20 font-sans">
<div className="max-w-[1320px] mx-auto">
{/* Trait de repère vert olive */}
<div className="w-12 h-1 bg-[#475734] rounded-full mb-6" />
{/* Titre de section */}
<h2 className="text-2xl sm:text-3xl font-extrabold text-[#111827] uppercase tracking-tight mb-10">
QUI PEUT <span className="text-[#7a8035]">REJOINDRE</span> GAEA21 ?
</h2>
{/* Grille 3 colonnes responsive */}
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 items-start">
{COLUMNS_DATA.map((column) => (
<div key={column.colId} className="flex flex-col gap-6">
{column.cards.map((card) => (
<div
key={card.id}
className={`rounded-2xl border border-[#e5e2d6] bg-white p-6 flex items-start gap-4 transition-all duration-200 shadow-sm hover:shadow-md ${card.isTall ? 'min-h-[190px]' : ''
}`}
>
{/* Icône PNG dédiée */}
<img
src={card.icon}
alt={card.title}
className="w-12 h-12 object-contain shrink-0"
/>
{/* Contenu textuel */}
<div className="flex-1">
<h3 className="text-base sm:text-lg font-bold text-[#111827] mb-2 leading-snug">
{card.title}
</h3>
{card.isList ? (
<ul className="space-y-1.5 text-xs sm:text-[13px] text-[#4b5563] leading-relaxed">
{card.listItems.map((item, idx) => (
<li key={idx} className="list-none">
{item}
</li>
))}
</ul>
) : (
<p className="text-xs sm:text-[13px] text-[#6b7280] leading-relaxed">
{card.description}
</p>
)}
</div>
</div>
))}
</div>
))}
</div>
</div>
</section>
);
}