diff --git a/src/api/types/personoversiktTypes.ts b/src/api/types/personoversiktTypes.ts index 53625d82..26cfa171 100644 --- a/src/api/types/personoversiktTypes.ts +++ b/src/api/types/personoversiktTypes.ts @@ -107,3 +107,19 @@ export enum Oppfolgingsgrunn { VURDER_ANNEN_YTELSE = 'VURDER_ANNEN_YTELSE', ANNET = 'ANNET', } + +export const oppfolgingsgrunnToString = { + [Oppfolgingsgrunn.TA_KONTAKT_SYKEMELDT]: 'Ta kontakt med den sykmeldte', + [Oppfolgingsgrunn.TA_KONTAKT_ARBEIDSGIVER]: 'Ta kontakt med arbeidsgiver', + [Oppfolgingsgrunn.TA_KONTAKT_BEHANDLER]: 'Ta kontakt med behandler', + [Oppfolgingsgrunn.VURDER_DIALOGMOTE_SENERE]: 'Vurder behov for dialogmøte', + [Oppfolgingsgrunn.FOLG_OPP_ETTER_NESTE_SYKMELDING]: + 'Følg opp etter neste sykmelding', + [Oppfolgingsgrunn.VURDER_TILTAK_BEHOV]: 'Vurder behov for tiltak', + [Oppfolgingsgrunn.VURDER_ARBEIDSUFORHET]: 'Vurder §8-4 - Arbeidsuførhet', + [Oppfolgingsgrunn.FRISKMELDING_TIL_ARBEIDSFORMIDLING]: + 'Vurder §8-5 - Friskmelding til arbeidsformidling', + [Oppfolgingsgrunn.VURDER_14A]: 'Vurder §14a', + [Oppfolgingsgrunn.VURDER_ANNEN_YTELSE]: 'Vurder annen ytelse', + [Oppfolgingsgrunn.ANNET]: 'Annet', +}; diff --git a/src/components/FristColumn.tsx b/src/components/FristDataCell.tsx similarity index 63% rename from src/components/FristColumn.tsx rename to src/components/FristDataCell.tsx index de7348fd..68947911 100644 --- a/src/components/FristColumn.tsx +++ b/src/components/FristDataCell.tsx @@ -5,12 +5,16 @@ import { FileTextIcon, HourglassTopFilledIcon, } from '@navikt/aksel-icons'; -import React, { ReactElement } from 'react'; +import React, { ReactElement, useState } from 'react'; import { AktivitetskravStatus, - Oppfolgingsgrunn, + oppfolgingsgrunnToString, } from '@/api/types/personoversiktTypes'; -import { Tooltip } from '@navikt/ds-react'; +import { Button, Table, Tooltip } from '@navikt/ds-react'; +import OppfolgingsoppgaveModal from '@/components/OppfolgingsoppgaveModal'; +import * as Amplitude from '@/utils/amplitude'; +import { useTabType } from '@/context/tab/TabTypeContext'; +import { OverviewTabType } from '@/konstanter'; const texts = { tooltipAvventer: 'Avventer til', @@ -21,8 +25,14 @@ const texts = { aktivitetskravvarselFrist: 'Aktivitetskrav: Svarfrist forhåndsvarsel', }; -interface FristColumnProps { - personData: PersonData; +function logOppfolgingsOppgaveModalOpenEvent() { + Amplitude.logEvent({ + type: Amplitude.EventType.ButtonClick, + data: { + url: window.location.href, + tekst: 'Åpnet oppfølgingsoppgave modal', + }, + }); } type Frist = { @@ -31,49 +41,21 @@ type Frist = { tooltip: string; }; -const byFristAsc = (fristA: Frist, fristB: Frist) => { +function byFristAsc(fristA: Frist, fristB: Frist) { return fristA.date > fristB.date ? 1 : -1; -}; - -const oppfolgingsgrunnTekster = ( - oppfolgingsgrunn: Oppfolgingsgrunn -): string => { - switch (oppfolgingsgrunn) { - case Oppfolgingsgrunn.TA_KONTAKT_SYKEMELDT: - return 'Ta kontakt med den sykmeldte'; - case Oppfolgingsgrunn.TA_KONTAKT_ARBEIDSGIVER: - return 'Ta kontakt med arbeidsgiver'; - case Oppfolgingsgrunn.TA_KONTAKT_BEHANDLER: - return 'Ta kontakt med behandler'; - case Oppfolgingsgrunn.VURDER_DIALOGMOTE_SENERE: - return 'Vurder behov for dialogmøte'; - case Oppfolgingsgrunn.FOLG_OPP_ETTER_NESTE_SYKMELDING: - return 'Følg opp etter neste sykmelding'; - case Oppfolgingsgrunn.VURDER_TILTAK_BEHOV: - return 'Vurder behov for tiltak'; - case Oppfolgingsgrunn.VURDER_ARBEIDSUFORHET: - return 'Vurder §8-4 - Arbeidsuførhet'; - case Oppfolgingsgrunn.FRISKMELDING_TIL_ARBEIDSFORMIDLING: - return 'Vurder §8-5 - Friskmelding til arbeidsformidling'; - case Oppfolgingsgrunn.VURDER_14A: - return 'Vurder §14a'; - case Oppfolgingsgrunn.VURDER_ANNEN_YTELSE: - return 'Vurder annen ytelse'; - case Oppfolgingsgrunn.ANNET: - return 'Annet'; - default: - return 'Ukjent oppfølgingsgrunn'; - } -}; +} -export const FristColumn = ({ personData }: FristColumnProps) => { - const { +function fristerInfo( + { oppfolgingsoppgave, friskmeldingTilArbeidsformidlingFom, arbeidsuforhetvurdering, aktivitetskravvurdering, manglendeMedvirkning, - } = personData; + }: PersonData, + setIsModalOpen: (open: boolean) => void, + selectedTab: OverviewTabType +): Frist[] { const frister: Frist[] = []; const aktivitetskravStatus = aktivitetskravvurdering?.status; const aktivitetskravVurderingFrist = @@ -108,11 +90,24 @@ export const FristColumn = ({ personData }: FristColumnProps) => { } if (oppfolgingsoppgave?.frist) { frister.push({ - icon: () => , + icon: () => + selectedTab === OverviewTabType.MY_OVERVIEW ? ( +