miseajour
|
After Width: | Height: | Size: 7.9 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 8.9 MiB |
|
After Width: | Height: | Size: 7.2 MiB |
|
After Width: | Height: | Size: 6.3 MiB |
|
After Width: | Height: | Size: 7.8 MiB |
|
After Width: | Height: | Size: 7.5 MiB |
|
After Width: | Height: | Size: 6.5 MiB |
|
After Width: | Height: | Size: 6.4 MiB |
|
After Width: | Height: | Size: 4.0 MiB |
|
After Width: | Height: | Size: 8.5 MiB |
|
After Width: | Height: | Size: 8.8 MiB |
|
After Width: | Height: | Size: 7.0 MiB |
|
After Width: | Height: | Size: 6.2 MiB |
|
After Width: | Height: | Size: 6.1 MiB |
|
After Width: | Height: | Size: 6.7 MiB |
|
After Width: | Height: | Size: 8.7 MiB |
|
After Width: | Height: | Size: 9.9 MiB |
|
After Width: | Height: | Size: 7.4 MiB |
|
After Width: | Height: | Size: 7.6 MiB |
|
After Width: | Height: | Size: 8.2 MiB |
|
After Width: | Height: | Size: 5.8 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 7.1 MiB |
|
After Width: | Height: | Size: 9.1 MiB |
|
After Width: | Height: | Size: 7.2 MiB |
|
After Width: | Height: | Size: 4.2 MiB |
|
After Width: | Height: | Size: 7.4 MiB |
|
After Width: | Height: | Size: 6.2 MiB |
|
After Width: | Height: | Size: 6.8 MiB |
|
After Width: | Height: | Size: 5.9 MiB |
|
After Width: | Height: | Size: 7.1 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 9.9 MiB |
|
After Width: | Height: | Size: 8.1 MiB |
|
After Width: | Height: | Size: 7.4 MiB |
|
After Width: | Height: | Size: 4.6 MiB |
@ -79,3 +79,23 @@
|
|||||||
margin: 0 auto; /* Centrer horizontalement */
|
margin: 0 auto; /* Centrer horizontalement */
|
||||||
padding: 1.5rem; /* Padding de 1.5rem */
|
padding: 1.5rem; /* Padding de 1.5rem */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Masquer la barre de défilement par défaut */
|
||||||
|
.hide-scrollbar {
|
||||||
|
scrollbar-width: none; /* Firefox */
|
||||||
|
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-scrollbar::-webkit-scrollbar {
|
||||||
|
display: none; /* WebKit (Chrome, Safari, Edge) */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Afficher la barre de défilement au survol */
|
||||||
|
.show-scrollbar:hover {
|
||||||
|
scrollbar-width: auto; /* Firefox */
|
||||||
|
-ms-overflow-style: auto; /* Internet Explorer 10+ */
|
||||||
|
}
|
||||||
|
|
||||||
|
.show-scrollbar:hover::-webkit-scrollbar {
|
||||||
|
display: block; /* WebKit (Chrome, Safari, Edge) */
|
||||||
|
}
|
||||||
@ -38,7 +38,7 @@ export default async function ContentSection({ collection, slug, titleClass, con
|
|||||||
<Carousel images={images} className="w-full h-64" />
|
<Carousel images={images} className="w-full h-64" />
|
||||||
|
|
||||||
{/* Contenu en Markdown */}
|
{/* Contenu en Markdown */}
|
||||||
<div className={contentClass || "bg-gray-100 rounded-md p-4 shadow-md mt-6"}>
|
<div className={contentClass || "bg-white/55 rounded-md p-4 shadow-md mt-6"}>
|
||||||
<ReactMarkdown>{richText}</ReactMarkdown>
|
<ReactMarkdown>{richText}</ReactMarkdown>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ export default async function HomePage() {
|
|||||||
const imageUrl = photo?.url ? `${baseUrl}${photo.url}` : null;
|
const imageUrl = photo?.url ? `${baseUrl}${photo.url}` : null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main className="max-w-3xl w-full mx-auto flex flex-col items-center justify-center p-6 bg-white/30 rounded-lg mt-3 mb-3">
|
<main className="max-w-3xl w-full mx-auto flex flex-col items-center justify-center p-6 bg-white/55 rounded-lg mt-12 mb-3">
|
||||||
{/* Texte court (title) */}
|
{/* Texte court (title) */}
|
||||||
<h1 className="text-3xl font-bold text-gray-800 mb-4">{title}</h1>
|
<h1 className="text-3xl font-bold text-gray-800 mb-4">{title}</h1>
|
||||||
|
|
||||||
|
|||||||
@ -20,12 +20,12 @@ export default async function Page() {
|
|||||||
const projects = await getAllprojects();
|
const projects = await getAllprojects();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main className="w-full p-6">
|
<main className="w-full p-3 mt-5 mb-5">
|
||||||
{/* Titre de la page */}
|
{/* Titre de la page */}
|
||||||
<h1 className="text-3xl mb-6 font-bold text-gray-700 text-center">Portfolio formation 42</h1>
|
<h1 className="text-3xl mb-3 font-bold text-gray-700 text-center">Portfolio formation 42</h1>
|
||||||
|
|
||||||
{/* Grille améliorée avec une meilleure largeur et des colonnes plus équilibrées */}
|
{/* Grille améliorée avec une meilleure largeur et des colonnes plus équilibrées */}
|
||||||
<div className="grid gap-4 grid-cols-[repeat(auto-fit,minmax(300px,1fr))] max-w-7xl mx-auto">
|
<div className="grid gap-7 grid-cols-[repeat(auto-fit,minmax(300px,1fr))] max-w-7xl mx-auto">
|
||||||
{projects.map((project) => {
|
{projects.map((project) => {
|
||||||
const picture = project.picture?.[0];
|
const picture = project.picture?.[0];
|
||||||
const imageUrl = picture?.url ? `http://localhost:1337${picture.url}` : "/placeholder.jpg";
|
const imageUrl = picture?.url ? `http://localhost:1337${picture.url}` : "/placeholder.jpg";
|
||||||
@ -33,18 +33,18 @@ export default async function Page() {
|
|||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
key={project.id}
|
key={project.id}
|
||||||
className="bg-white rounded-lg shadow-md overflow-hidden w-80 h-96 flex flex-col transform transition-all duration-300 hover:scale-105 hover:shadow-xl"
|
className="bg-white rounded-lg shadow-md overflow-hidden w-80 h-96 flex flex-col transform transition-all duration-300 hover:scale-105 hover:shadow-xl p-4"
|
||||||
>
|
>
|
||||||
{/* Lien vers la page de détail du projet */}
|
{/* Lien vers la page de détail du projet */}
|
||||||
<Link href={`/portfolio/${project.slug}`}>
|
<Link href={`/portfolio/${project.slug}`}>
|
||||||
<div className="overflow-hidden w-full h-48">
|
<div className="overflow-hidden w-full h-48 mb-4">
|
||||||
<img
|
<img
|
||||||
src={imageUrl}
|
src={imageUrl}
|
||||||
alt={picture?.name || "Project image"}
|
alt={picture?.name || "Project image"}
|
||||||
className="w-full h-full object-cover"
|
className="w-full h-full object-cover"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="p-4 flex-grow">
|
<div className="flex-grow overflow-y-auto max-h-32 hide-scrollbar show-scrollbar">
|
||||||
<p className="font-bold text-xl mb-2">{project.name}</p>
|
<p className="font-bold text-xl mb-2">{project.name}</p>
|
||||||
<p className="text-gray-700 text-sm hover:text-base transition-all duration-200 ease-in-out">
|
<p className="text-gray-700 text-sm hover:text-base transition-all duration-200 ease-in-out">
|
||||||
{project.description}
|
{project.description}
|
||||||
|
|||||||
1
cmsbackend
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit c78b36859e43a59f110d166365585113dbf9f251
|
||||||