diff --git a/components/teks/__tests__/komante.test.jsx b/components/teks/__tests__/komante.test.jsx
index bcc2088..df48e12 100644
--- a/components/teks/__tests__/komante.test.jsx
+++ b/components/teks/__tests__/komante.test.jsx
@@ -34,4 +34,18 @@ describe('Komante', () => {
expect(screen.getByRole('link', {name: 'Quelqu\'un'})).toHaveAttribute('href', 'https://mastodon.social/@quelqun')
expect(screen.getByRole('link', {name: /voir sur mastodon/i})).toHaveAttribute('href', 'https://bokante.o-k-i.net/@quelqun/1')
})
+
+ it('met en valeur les mentions @ dans le contenu', () => {
+ render()
+
+ const mansyon = screen.getByText('@pawol_nu')
+ expect(mansyon).toBeInTheDocument()
+ expect(screen.getByText('@cybermawonaj@bokante.o-k-i.net')).toBeInTheDocument()
+ expect(screen.getByText(/oh oh ye ye/)).toBeInTheDocument()
+ })
})
diff --git a/components/teks/komante.jsx b/components/teks/komante.jsx
index 2b17c38..4c45e8f 100644
--- a/components/teks/komante.jsx
+++ b/components/teks/komante.jsx
@@ -24,7 +24,21 @@ function formatDat(commentaire) {
return null
}
- return format(new Date(commentaire.datePublication), 'P', {locale: fr})
+ return format(new Date(commentaire.datePublication), 'Pp', {locale: fr})
+}
+
+const MENTION_REGEX = /(?:@[\w.-]+){1,2}/g
+
+function metanValèMansyon(contenu) {
+ const mansyon = contenu.match(MENTION_REGEX) || []
+ return contenu.split(MENTION_REGEX).flatMap((moso, index) => (
+ mansyon[index] ? [
+ moso,
+
+ {mansyon[index]}
+
+ ] : [moso]
+ ))
}
export default function Komante({commentaires}) {
@@ -56,7 +70,7 @@ export default function Komante({commentaires}) {
>
-
+
{estFedere && commentaire.auteurProfilUrl ? (
@@ -74,12 +88,12 @@ export default function Komante({commentaires}) {
)}
{dat && (
-
+
{dat}
)}
- {commentaire.contenu}
+ {metanValèMansyon(commentaire.contenu)}
{estFedere && commentaire.remoteUrl && (
Voir sur Mastodon