Skip to content

Commit 52e6ff7

Browse files
committed
refactor: Utilise le lien pour définir le type de redirection
1 parent 0ee551c commit 52e6ff7

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

src/client/components/features/Actualites/ActualiteCard.tsx

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import React from 'react';
44
import { Card } from '~/client/components/ui/Card/Card';
55
import Date from '~/client/components/ui/Date';
66
import { Link } from '~/client/components/ui/Link/Link';
7+
import { useIsInternalLink } from '~/client/hooks/useIsInternalLink';
78
import { Actualite } from '~/server/actualites/domain/actualite';
89
import { getExtraitContenu } from '~/server/cms/infra/repositories/strapi.utils';
910

@@ -17,9 +18,7 @@ type ActualiteCardProps = Omit<React.ComponentPropsWithRef<typeof Card>, 'layout
1718
};
1819

1920
export default function ActualiteCard({ actualite, headingLevel = 'h2', className, ...rest }: ActualiteCardProps) {
20-
// FIXME (GAFI 14-11-2024): Passer plutôt par actualite.lien, actualite.article n'est pas utilisé dans le composant
21-
// ou bien utiliser actualite.article.slug dans le composant
22-
const isExternalLink = actualite.article == null;
21+
const isInternalLink = useIsInternalLink(actualite.link);
2322

2423
const extrait = getExtraitContenu(actualite.contenu);
2524

@@ -38,7 +37,7 @@ export default function ActualiteCard({ actualite, headingLevel = 'h2', classNam
3837
<Card.Title className={styles.title} titleAs={headingLevel}>{actualite.titre}</Card.Title>
3938
<p>{extrait}</p>
4039
<Link appearance={'asQuaternaryButton'} href={actualite.link}>
41-
{isExternalLink ? 'En savoir plus' : 'Lire l\'article'}
40+
{isInternalLink ? 'Lire l\'article' : 'En savoir plus'}
4241
<Link.Icon />
4342
</Link>
4443
</Card.Content>

src/pages/espace-jeune/index.page.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ function deserialize(actualites: Array<SerializedActualite>): Array<Actualite> {
3939
dateMiseAJour: actualite.dateMiseAJour ? new Date(actualite.dateMiseAJour) : undefined,
4040
}));
4141
}
42-
function serialize(cartesActualitesResponse: unknown): Record<string, unknown> {
42+
function serialize<SerializedType, InitialType>(cartesActualitesResponse: InitialType): SerializedType {
4343
return JSON.parse(JSON.stringify(cartesActualitesResponse));
4444
}
4545

@@ -96,7 +96,7 @@ export function EspaceJeunePage({ cartesActualites, serviceJeuneList }: EspaceJe
9696
);
9797
}
9898

99-
export async function getStaticProps(): Promise<GetStaticPropsResult<EspaceJeunePageProps>> {
99+
export async function getStaticProps(): Promise<GetStaticPropsResult<SerializedEspaceJeunePageProps>> {
100100
const isEspaceJeuneVisible = process.env.NEXT_PUBLIC_OLD_ESPACE_JEUNE_FEATURE === '1';
101101
if (!isEspaceJeuneVisible) {
102102
return { notFound: true };

0 commit comments

Comments
 (0)