File tree Expand file tree Collapse file tree
app/(con)/[locale]/con/[edition]
conferences/[slug]/components Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -44,7 +44,11 @@ const ConferenceSpeaker = ({ conference }: SpeakerProps) => {
4444 ) }
4545 >
4646 { conference . edition === "2025" ? (
47- < SpeakerImage2025 speaker = { speaker } image = { image } />
47+ < SpeakerImage2025
48+ speaker = { speaker }
49+ image = { image }
50+ placeholder = { placeholder }
51+ />
4852 ) : (
4953 < SpeakerImage image = { image } placeholder = { placeholder } />
5054 ) }
Original file line number Diff line number Diff line change @@ -47,7 +47,12 @@ export default function SpeakerPageTemplate({
4747 < div className = "flex flex-col relative flex-wrap items-center bg-grey px-10 pb-10 pt-28 | lg:flex-row lg:items-start | sm:pb-20" >
4848 < div className = "w-72 h-72 | md:w-80 md:h-80 | lg:w-[400px] lg:h-[400px]" >
4949 { edition === "2025" ? (
50- < SpeakerImage2025 speaker = { speakerData } big image = { image } />
50+ < SpeakerImage2025
51+ speaker = { speakerData }
52+ big
53+ image = { image }
54+ placeholder = { placeholder }
55+ />
5156 ) : (
5257 < SpeakerImage big image = { image } placeholder = { placeholder } />
5358 ) }
Original file line number Diff line number Diff line change @@ -57,9 +57,10 @@ export default function SpeakerImage({
5757 big = false ,
5858 hoverable = true ,
5959 speaker,
60+ placeholder,
6061} : SpeakerImageProps ) {
6162 if ( speaker . edition === "2025" ) {
62- const { name } = speaker ;
63+ const { name, } = speaker ;
6364 const angle = nameToAngle ( name ) ;
6465 const size = nameToSize ( name ) ;
6566 const pos = cssPositionOnCircle ( angle ) ;
@@ -101,7 +102,11 @@ export default function SpeakerImage({
101102 alt = ""
102103 fill
103104 sizes = { big ? "(max-width: 768px) 400px, 800px" : "400px" }
104- loading = "lazy"
105+ placeholder = {
106+ placeholder
107+ ? ( placeholder as `data:image/${string } `)
108+ : undefined
109+ }
105110 />
106111 </ div >
107112 < div
Original file line number Diff line number Diff line change @@ -5,13 +5,13 @@ export const getPlaceholder = cache(async (imagePath: string) => {
55 try {
66 // Redimensionner l'image à une taille très petite
77 const resizedImageBuffer = await sharp ( imagePath )
8- . resize ( 50 , 50 )
9- . jpeg ( { mozjpeg : true , quality : 50 } )
8+ . resize ( 100 , 100 )
9+ . png ( { quality : 30 } )
1010 . toBuffer ( ) ;
1111
1212 // Convertir l'image redimensionnée en base64
1313 const base64Placeholder = resizedImageBuffer . toString ( "base64" ) ;
14- return `data:image/jpeg ;base64,${ base64Placeholder } ` ;
14+ return `data:image/png ;base64,${ base64Placeholder } ` ;
1515 } catch ( error ) {
1616 console . error ( "The placeholder can't be generated: " , error ) ;
1717 throw error ;
You can’t perform that action at this time.
0 commit comments