@@ -26,30 +26,9 @@ interface CardContent {
26
26
title : string
27
27
}
28
28
29
- type SerializedActualite = Omit < Actualite , 'dateMiseAJour' > & {
30
- dateMiseAJour ?: ISODateTime
31
- }
32
- interface SerializedAccueilPageProps {
33
- actualites : Array < SerializedActualite >
34
- }
35
29
interface AccueilPageProps {
36
30
actualites : Array < Actualite >
37
31
}
38
- function deserialize ( actualites : Array < SerializedActualite > ) : Array < Actualite > {
39
- return actualites . map ( ( actualite ) => ( {
40
- ...actualite ,
41
- dateMiseAJour : actualite . dateMiseAJour ? new Date ( actualite . dateMiseAJour ) : undefined ,
42
- } ) ) ;
43
- }
44
- function serialize ( cartesActualitesResponse : Array < Actualite > ) : Array < SerializedActualite > {
45
- return JSON . parse ( JSON . stringify ( cartesActualitesResponse ) ) ;
46
- }
47
-
48
- export default function Deserialize ( props : SerializedAccueilPageProps ) {
49
- const deserializedActus = deserialize ( props . actualites ) ;
50
- return < Accueil actualites = { deserializedActus } /> ;
51
- }
52
-
53
32
export function Accueil ( { actualites } : AccueilPageProps ) {
54
33
useAnalytics ( analytics ) ;
55
34
@@ -297,35 +276,35 @@ export function Accueil({ actualites }: AccueilPageProps) {
297
276
{ isBanniereStagesSecondeVisible
298
277
&& (
299
278
< HeroWithIllustration image = "/images/stages-seconde/banniere-stages-seconde.webp"
300
- className = { classNames ( styles . hero , styles . stageSecondeBanner ) } >
279
+ className = { classNames ( styles . hero , styles . stageSecondeBanner ) } >
301
280
{ isBanniereStagesSecondePourCampagneDu25Mars ? (
302
281
< >
303
282
< h2 >
304
283
< HeroPrimaryText className = { styles . heroTitle } >
305
- Un stage du 17 au 28 juin 2024
284
+ Un stage du 17 au 28 juin 2024
306
285
</ HeroPrimaryText >
307
286
</ h2 >
308
287
< HeroSecondaryText >
309
- pour permettre aux élèves de seconde générale et technologique de diversifier leur connaissance des
310
- métiers.
288
+ pour permettre aux élèves de seconde générale et technologique de diversifier leur connaissance des
289
+ métiers.
311
290
</ HeroSecondaryText >
312
291
< Link href = { urlHomePageStageDeSeconde } appearance = { 'asSecondaryButton' } className = { styles . heroButton } >
313
- Proposer un stage ou candidater
292
+ Proposer un stage ou candidater
314
293
< Link . Icon />
315
294
</ Link >
316
295
</ >
317
296
) : (
318
297
< >
319
298
< h2 >
320
299
< HeroPrimaryText className = { styles . heroTitle } >
321
- Accueillez des élèves en stages de seconde générale et technologique.
300
+ Accueillez des élèves en stages de seconde générale et technologique.
322
301
</ HeroPrimaryText >
323
302
</ h2 >
324
303
< HeroSecondaryText >
325
- Inspirez, transmettez, faites découvrir vos métiers.
304
+ Inspirez, transmettez, faites découvrir vos métiers.
326
305
</ HeroSecondaryText >
327
306
< Link href = { urlDepotOffreStagesSeconde } appearance = { 'asSecondaryButton' } className = { styles . heroButton } >
328
- Déposer votre offre de stage
307
+ Déposer votre offre de stage
329
308
< Link . Icon />
330
309
</ Link >
331
310
</ >
@@ -339,14 +318,14 @@ export function Accueil({ actualites }: AccueilPageProps) {
339
318
< HeroWithIllustration image = "/images/campagne-world-skills-2024.webp" className = { classNames ( styles . hero , styles . worldSkills ) } >
340
319
< h2 >
341
320
< HeroPrimaryText className = { styles . heroTitle } >
342
- WorldSkills Lyon 2024, la Compétition Mondiale des Métiers.
321
+ WorldSkills Lyon 2024, la Compétition Mondiale des Métiers.
343
322
</ HeroPrimaryText >
344
323
</ h2 >
345
324
< HeroSecondaryText >
346
- 1jeune1solution s’engage en faveur de la jeunesse, venez nous rencontrer du 10 au 15 septembre lors de la compétition WorldSkills Lyon 2024.
325
+ 1jeune1solution s’engage en faveur de la jeunesse, venez nous rencontrer du 10 au 15 septembre lors de la compétition WorldSkills Lyon 2024.
347
326
</ HeroSecondaryText >
348
327
< Link href = "https://worldskills2024.com" appearance = { 'asSecondaryButton' } className = { styles . heroButton } >
349
- Plus d’infos
328
+ Plus d’infos
350
329
< Link . Icon />
351
330
</ Link >
352
331
</ HeroWithIllustration >
@@ -393,7 +372,7 @@ export function Accueil({ actualites }: AccueilPageProps) {
393
372
< section className = { styles . section } >
394
373
< h2 id = "actualites" className = { styles . sectionHeader } >
395
374
< Icon name = "newspaper" className = { styles . headerIcon } />
396
- Actualités
375
+ Actualités
397
376
</ h2 >
398
377
< Container className = { styles . sectionListeActualites } >
399
378
< ul >
@@ -402,7 +381,7 @@ export function Accueil({ actualites }: AccueilPageProps) {
402
381
) }
403
382
</ ul >
404
383
< Link href = { '/actualites' } appearance = { 'asSecondaryButton' } >
405
- Voir toutes les actualités
384
+ Voir toutes les actualités
406
385
< Link . Icon />
407
386
</ Link >
408
387
</ Container >
@@ -492,6 +471,26 @@ export function Accueil({ actualites }: AccueilPageProps) {
492
471
) ;
493
472
}
494
473
474
+ type SerializedActualite = Omit < Actualite , 'dateMiseAJour' > & {
475
+ dateMiseAJour ?: ISODateTime
476
+ }
477
+ interface SerializedAccueilPageProps {
478
+ actualites : Array < SerializedActualite >
479
+ }
480
+ function deserialize ( actualites : Array < SerializedActualite > ) : Array < Actualite > {
481
+ return actualites . map ( ( actualite ) => ( {
482
+ ...actualite ,
483
+ dateMiseAJour : actualite . dateMiseAJour ? new Date ( actualite . dateMiseAJour ) : undefined ,
484
+ } ) ) ;
485
+ }
486
+ function serialize ( cartesActualitesResponse : Array < Actualite > ) : Array < SerializedActualite > {
487
+ return JSON . parse ( JSON . stringify ( cartesActualitesResponse ) ) ;
488
+ }
489
+ export default function Deserialize ( props : SerializedAccueilPageProps ) {
490
+ const deserializedActus = deserialize ( props . actualites ) ;
491
+ return < Accueil actualites = { deserializedActus } /> ;
492
+ }
493
+
495
494
export async function getStaticProps ( ) : Promise < GetStaticPropsResult < SerializedAccueilPageProps > > {
496
495
const isEspaceJeuneVisible = process . env . NEXT_PUBLIC_OLD_ESPACE_JEUNE_FEATURE === '0' ;
497
496
if ( ! isEspaceJeuneVisible ) {
0 commit comments