From af4ae19f260d20c50f948727d9ac1c9d92ee95f9 Mon Sep 17 00:00:00 2001 From: johannetronstad Date: Fri, 6 Oct 2023 15:14:18 +0200 Subject: [PATCH] lagt til sentiments eksterne etiketter --- src/datatypes/eksternAktivitetTypes.ts | 6 +++++- src/moduler/aktivitet/etikett/EksterneEtikett.tsx | 11 +++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/datatypes/eksternAktivitetTypes.ts b/src/datatypes/eksternAktivitetTypes.ts index a74059788..a05314d4e 100644 --- a/src/datatypes/eksternAktivitetTypes.ts +++ b/src/datatypes/eksternAktivitetTypes.ts @@ -6,7 +6,9 @@ interface RequiredLenkeProps { type LenkeType = 'EKSTERN' | 'INTERN' | 'FELLES'; -type Lenke = RequiredLenkeProps +type Lenke = RequiredLenkeProps; + +type SentimentType = 'POSITIVE' | 'NEUTRAL' | 'NEGATIVE'; export interface Oppgave extends Lenke { knapptekst: string; @@ -22,6 +24,8 @@ export interface OppgaveLenke { } export interface Etikett { + tekst: string | null; + sentiment: SentimentType | null; kode: string; } diff --git a/src/moduler/aktivitet/etikett/EksterneEtikett.tsx b/src/moduler/aktivitet/etikett/EksterneEtikett.tsx index c8b652485..d3df549a2 100644 --- a/src/moduler/aktivitet/etikett/EksterneEtikett.tsx +++ b/src/moduler/aktivitet/etikett/EksterneEtikett.tsx @@ -36,12 +36,19 @@ interface Props { const EksterneEtiketter = ({ aktivitet }: Props) => { const { etiketter, type } = aktivitet.eksternAktivitet; - if (!etiketter) return null; + if (!etiketter || etiketter.length == 0) return null; return ( <> {etiketter - .map((etikett) => getEtikettByKode(type, etikett.kode)) + .map((etikett) => { + if (etikett.tekst && etikett.sentiment) { + const variant = etikett.sentiment === 'POSITIVE' ? ('success' as const) : ('neutral' as const); + return { variant, tekst: etikett.tekst }; + } else { + return getEtikettByKode(type, etikett.kode); + } + }) .map((eksternEtikett, i) => { return eksternEtikett ? (