diff --git a/src/frontend/Komponenter/Personoversikt/FagsakOversikt.tsx b/src/frontend/Komponenter/Personoversikt/FagsakOversikt.tsx index 970476600..bdb441b49 100644 --- a/src/frontend/Komponenter/Personoversikt/FagsakOversikt.tsx +++ b/src/frontend/Komponenter/Personoversikt/FagsakOversikt.tsx @@ -1,4 +1,4 @@ -import LagBehandlingModal from './LagBehandlingModal'; +import { OpprettBehandlingModal } from './OpprettBehandling/OpprettBehandlingModal'; import React, { Dispatch, useEffect, useState } from 'react'; import { byggTomRessurs, Ressurs } from '../../App/typer/ressurs'; import { Fagsak } from '../../App/typer/fagsak'; @@ -59,7 +59,7 @@ export const FagsakOversikt: React.FC = ({ /> {erSaksbehandler && ( <> - >; } -const KlageGjelderTilbakekreving: React.FC = ({ +export const KlageGjelderTilbakekreving: React.FC = ({ klageGjelderTilbakekreving, settKlageGjelderTilbakekreving, }) => { @@ -20,5 +20,3 @@ const KlageGjelderTilbakekreving: React.FC = ({ ); }; - -export default KlageGjelderTilbakekreving; diff --git a/src/frontend/Komponenter/Personoversikt/LagBehandlingModal.tsx b/src/frontend/Komponenter/Personoversikt/LagBehandlingModal.tsx deleted file mode 100644 index 1edcecc4a..000000000 --- a/src/frontend/Komponenter/Personoversikt/LagBehandlingModal.tsx +++ /dev/null @@ -1,215 +0,0 @@ -import React, { Dispatch, useState } from 'react'; -import { Behandlingstype } from '../../App/typer/behandlingstype'; -import styled from 'styled-components'; -import { Ressurs, RessursStatus } from '../../App/typer/ressurs'; -import { useApp } from '../../App/context/AppContext'; -import { useNavigate } from 'react-router-dom'; -import { EToast } from '../../App/typer/toast'; -import { LagRevurdering } from './Revurdering/LagRevurdering'; -import { RevurderingInnhold } from '../../App/typer/revurderingstype'; -import { Fagsak } from '../../App/typer/fagsak'; -import OpprettKlage, { OpprettKlageRequest } from './Klage/OpprettKlage'; -import { ModalWrapper } from '../../Felles/Modal/ModalWrapper'; -import { Alert, Button, Select } from '@navikt/ds-react'; -import { AlertError } from '../../Felles/Visningskomponenter/Alerts'; -import { kanOppretteRevurdering } from './utils'; - -export const StyledSelect = styled(Select)` - margin-top: 2rem; - margin-bottom: 2rem; - width: 33.5rem; -`; - -const Alerts = styled.div` - > :not(:first-child) { - margin-top: 1rem; - } -`; -const ButtonContainer = styled.div` - display: flex; - margin-top: 1rem; - justify-content: flex-end; - margin-bottom: 0.5rem; -`; - -const ModalKnapp = styled(Button)` - padding-right: 1.5rem; - padding-left: 1.5rem; - margin-left: 1rem; -`; - -interface IProps { - visModal: boolean; - settVisModal: (bool: boolean) => void; - fagsak: Fagsak; - hentTilbakekrevinger: Dispatch; - hentKlageBehandlinger: Dispatch; - harÅpenKlage: boolean; -} - -const LagBehandlingModal: React.FunctionComponent = ({ - visModal, - settVisModal, - fagsak, - hentTilbakekrevinger, - hentKlageBehandlinger, - harÅpenKlage, -}) => { - const [feilmeldingModal, settFeilmeldingModal] = useState(); - const [valgtBehandlingstype, settValgtBehandlingstype] = useState(); - - const [senderInnBehandling, settSenderInnBehandling] = useState(false); - const { axiosRequest, settToast } = useApp(); - const navigate = useNavigate(); - const { harKunHenlagteBehandlinger, kanStarteRevurdering } = kanOppretteRevurdering(fagsak); - - const opprettTilbakekrevingBehandling = () => { - if (valgtBehandlingstype === Behandlingstype.TILBAKEKREVING && !senderInnBehandling) { - settSenderInnBehandling(true); - axiosRequest, null>({ - method: 'POST', - url: `/familie-ef-sak/api/tilbakekreving/fagsak/${fagsak.id}/opprett-tilbakekreving`, - }) - .then((response) => { - if (response.status === RessursStatus.SUKSESS) { - hentTilbakekrevinger(); - settVisModal(false); - settToast(EToast.TILBAKEKREVING_OPPRETTET); - } else { - settFeilmeldingModal(response.frontendFeilmelding || response.melding); - } - }) - .finally(() => { - settSenderInnBehandling(false); - }); - } - }; - - const lagRevurdering = (revurderingInnhold: RevurderingInnhold) => { - settFeilmeldingModal(''); - - if (!senderInnBehandling) { - settSenderInnBehandling(true); - axiosRequest, RevurderingInnhold>({ - method: 'POST', - url: `/familie-ef-sak/api/revurdering/${fagsak.id}`, - data: revurderingInnhold, - }) - .then((response) => { - if (response.status === RessursStatus.SUKSESS) { - navigate(`/behandling/${response.data}`); - } else { - settFeilmeldingModal(response.frontendFeilmelding || response.melding); - } - }) - .finally(() => { - settSenderInnBehandling(false); - }); - } - }; - - const opprettKlage = (data: OpprettKlageRequest) => { - settFeilmeldingModal(''); - - if (!senderInnBehandling) { - settSenderInnBehandling(true); - axiosRequest, OpprettKlageRequest>({ - method: 'POST', - url: `/familie-ef-sak/api/klage/fagsak/${fagsak.id}`, - data: data, - }) - .then((response) => { - if (response.status === RessursStatus.SUKSESS) { - hentKlageBehandlinger(); - settVisModal(false); - settToast(EToast.KLAGE_OPPRETTET); - } else { - settFeilmeldingModal(response.frontendFeilmelding || response.melding); - } - }) - .finally(() => { - settSenderInnBehandling(false); - }); - } - }; - - return ( - settVisModal(false)} - > - - {!kanStarteRevurdering && !harKunHenlagteBehandlinger && ( - - Merk at det er ikke mulig å opprette en revurdering da det allerede finnes - en åpen behandling for stønaden. Det er kun mulig å opprette tilbakekreving - (dersom det foreligger et kravgrunnlag) eller klage. - - )} - {!kanStarteRevurdering && harKunHenlagteBehandlinger && ( - - Merk at det er ikke mulig å opprette en revurdering da det ikke finnes en - førstegangsbehandling for stønaden. - - )} - {harÅpenKlage && ( - - Merk at det allerede finnes en åpen klagebehandling på fagsaken - - )} - - { - settValgtBehandlingstype(e.target.value as Behandlingstype); - settFeilmeldingModal(undefined); - }} - > - - {kanStarteRevurdering && ( - - )} - - - - {valgtBehandlingstype === Behandlingstype.REVURDERING && ( - - )} - {valgtBehandlingstype === Behandlingstype.TILBAKEKREVING && ( - - { - settVisModal(false); - }} - > - Avbryt - - { - if (!senderInnBehandling) { - opprettTilbakekrevingBehandling(); - } - }} - > - Opprett - - - )} - {valgtBehandlingstype === Behandlingstype.KLAGE && ( - - )} - {feilmeldingModal && {feilmeldingModal}} - - ); -}; - -export default LagBehandlingModal; diff --git a/src/frontend/Komponenter/Personoversikt/OpprettBehandling/BehandlingstypeSelect.tsx b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/BehandlingstypeSelect.tsx new file mode 100644 index 000000000..c6a3611dc --- /dev/null +++ b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/BehandlingstypeSelect.tsx @@ -0,0 +1,31 @@ +import React, { Dispatch, SetStateAction } from 'react'; +import { Behandlingstype } from '../../../App/typer/behandlingstype'; +import { Select } from '@navikt/ds-react'; + +interface Props { + valgtBehandlingstype: Behandlingstype | undefined; + settValgtBehandlingstype: Dispatch>; + settFeilmelding: Dispatch>; + kanOppretteRevurdering: boolean; +} + +export const BehandlingstypeSelect: React.FC = ({ + valgtBehandlingstype, + settValgtBehandlingstype, + settFeilmelding, + kanOppretteRevurdering, +}) => ( + +); diff --git a/src/frontend/Komponenter/Personoversikt/OpprettBehandling/BehandlingstypeSwitch.tsx b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/BehandlingstypeSwitch.tsx new file mode 100644 index 000000000..749226ca5 --- /dev/null +++ b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/BehandlingstypeSwitch.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { Behandlingstype } from '../../../App/typer/behandlingstype'; +import { OpprettRevurdering } from './OpprettRevurdering'; +import { OpprettTilbakekreving } from './OpprettTilbakekreving'; +import { OpprettKlagebehandling, OpprettKlageRequest } from './OpprettKlagebehandling'; +import { Fagsak } from '../../../App/typer/fagsak'; +import { RevurderingInnhold } from '../../../App/typer/revurderingstype'; + +interface Props { + fagsak: Fagsak; + valgtBehandlingstype: Behandlingstype | undefined; + settVisModal: (bool: boolean) => void; + opprettRevurdering: (revurderingInnhold: RevurderingInnhold) => void; + opprettTilbakekreving: () => void; + opprettKlagebehandling: (data: OpprettKlageRequest) => void; +} + +export const BehandlingstypeSwitch: React.FC = ({ + fagsak, + valgtBehandlingstype, + settVisModal, + opprettRevurdering, + opprettTilbakekreving, + opprettKlagebehandling, +}) => { + if (!valgtBehandlingstype) { + return <>; + } + switch (valgtBehandlingstype) { + case Behandlingstype.REVURDERING: + return ( + + ); + case Behandlingstype.TILBAKEKREVING: + return ( + + ); + + case Behandlingstype.KLAGE: + return ( + + ); + default: + return <>; + } +}; diff --git a/src/frontend/Komponenter/Personoversikt/OpprettBehandling/ModalAlerts.tsx b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/ModalAlerts.tsx new file mode 100644 index 000000000..38ccf7cf7 --- /dev/null +++ b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/ModalAlerts.tsx @@ -0,0 +1,37 @@ +import React from 'react'; +import { Alert, VStack } from '@navikt/ds-react'; + +interface Props { + harÅpenKlage: boolean; + kanOppretteRevurdering: boolean; + harKunHenlagteBehandlinger: boolean; +} + +export const ModalAlerts: React.FC = ({ + harÅpenKlage, + kanOppretteRevurdering, + harKunHenlagteBehandlinger, +}) => { + return ( + + {!kanOppretteRevurdering && !harKunHenlagteBehandlinger && ( + + Merk at det er ikke mulig å opprette en revurdering da det allerede finnes en + åpen behandling for stønaden. Det er kun mulig å opprette tilbakekreving (dersom + det foreligger et kravgrunnlag) eller klage. + + )} + {!kanOppretteRevurdering && harKunHenlagteBehandlinger && ( + + Merk at det er ikke mulig å opprette en revurdering da det ikke finnes en + førstegangsbehandling for stønaden. + + )} + {harÅpenKlage && ( + + Merk at det allerede finnes en åpen klagebehandling på fagsaken + + )} + + ); +}; diff --git a/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettBehandlingModal.tsx b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettBehandlingModal.tsx new file mode 100644 index 000000000..40905b0b5 --- /dev/null +++ b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettBehandlingModal.tsx @@ -0,0 +1,154 @@ +import React, { Dispatch, useState } from 'react'; +import { Behandlingstype } from '../../../App/typer/behandlingstype'; +import styled from 'styled-components'; +import { Ressurs, RessursStatus } from '../../../App/typer/ressurs'; +import { useApp } from '../../../App/context/AppContext'; +import { useNavigate } from 'react-router-dom'; +import { EToast } from '../../../App/typer/toast'; +import { RevurderingInnhold } from '../../../App/typer/revurderingstype'; +import { Fagsak } from '../../../App/typer/fagsak'; +import { OpprettKlageRequest } from './OpprettKlagebehandling'; +import { ModalWrapper } from '../../../Felles/Modal/ModalWrapper'; +import { AlertError } from '../../../Felles/Visningskomponenter/Alerts'; +import { utledKanOppretteRevurdering } from '../utils'; +import { ModalAlerts } from './ModalAlerts'; +import { BehandlingstypeSelect } from './BehandlingstypeSelect'; +import { BehandlingstypeSwitch } from './BehandlingstypeSwitch'; + +const FormContainer = styled.div` + width: 33.5rem; + padding-top: 1rem; + padding-bottom: 1rem; + + display: flex; + flex-direction: column; + gap: 1rem; +`; + +interface Props { + visModal: boolean; + settVisModal: (bool: boolean) => void; + fagsak: Fagsak; + hentTilbakekrevinger: Dispatch; + hentKlageBehandlinger: Dispatch; + harÅpenKlage: boolean; +} + +export const OpprettBehandlingModal: React.FunctionComponent = ({ + visModal, + settVisModal, + fagsak, + hentTilbakekrevinger, + hentKlageBehandlinger, + harÅpenKlage, +}) => { + const [feilmelding, settFeilmelding] = useState(''); + const [valgtBehandlingstype, settValgtBehandlingstype] = useState(); + + const [senderInnBehandling, settSenderInnBehandling] = useState(false); + const { axiosRequest, settToast } = useApp(); + const navigate = useNavigate(); + const { harKunHenlagteBehandlinger, kanOppretteRevurdering } = + utledKanOppretteRevurdering(fagsak); + + const opprettTilbakekreving = () => { + if (valgtBehandlingstype === Behandlingstype.TILBAKEKREVING && !senderInnBehandling) { + settSenderInnBehandling(true); + axiosRequest, null>({ + method: 'POST', + url: `/familie-ef-sak/api/tilbakekreving/fagsak/${fagsak.id}/opprett-tilbakekreving`, + }) + .then((response) => { + if (response.status === RessursStatus.SUKSESS) { + hentTilbakekrevinger(); + settVisModal(false); + settToast(EToast.TILBAKEKREVING_OPPRETTET); + } else { + settFeilmelding(response.frontendFeilmelding || response.melding); + } + }) + .finally(() => { + settSenderInnBehandling(false); + }); + } + }; + + const opprettRevurdering = (revurderingInnhold: RevurderingInnhold) => { + settFeilmelding(''); + + if (!senderInnBehandling) { + settSenderInnBehandling(true); + axiosRequest, RevurderingInnhold>({ + method: 'POST', + url: `/familie-ef-sak/api/revurdering/${fagsak.id}`, + data: revurderingInnhold, + }) + .then((response) => { + if (response.status === RessursStatus.SUKSESS) { + navigate(`/behandling/${response.data}`); + } else { + settFeilmelding(response.frontendFeilmelding || response.melding); + } + }) + .finally(() => { + settSenderInnBehandling(false); + }); + } + }; + + const opprettKlagebehandling = (data: OpprettKlageRequest) => { + settFeilmelding(''); + + if (!senderInnBehandling) { + settSenderInnBehandling(true); + axiosRequest, OpprettKlageRequest>({ + method: 'POST', + url: `/familie-ef-sak/api/klage/fagsak/${fagsak.id}`, + data: data, + }) + .then((response) => { + if (response.status === RessursStatus.SUKSESS) { + hentKlageBehandlinger(); + settVisModal(false); + settToast(EToast.KLAGE_OPPRETTET); + } else { + settFeilmelding(response.frontendFeilmelding || response.melding); + } + }) + .finally(() => { + settSenderInnBehandling(false); + }); + } + }; + + return ( + settVisModal(false)} + > + + + + + {feilmelding && {feilmelding}} + + + ); +}; diff --git a/src/frontend/Komponenter/Personoversikt/Klage/OpprettKlage.tsx b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettKlagebehandling.tsx similarity index 56% rename from src/frontend/Komponenter/Personoversikt/Klage/OpprettKlage.tsx rename to src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettKlagebehandling.tsx index 05429eac8..16d4070d6 100644 --- a/src/frontend/Komponenter/Personoversikt/Klage/OpprettKlage.tsx +++ b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettKlagebehandling.tsx @@ -1,30 +1,17 @@ import React, { useState } from 'react'; import styled from 'styled-components'; import { erFørEllerLikDagensDato, erGyldigDato } from '../../../App/utils/dato'; -import { Alert, Button } from '@navikt/ds-react'; -import KlageGjelderTilbakekreving from './KlageGjelderTilbakekreving'; +import { Alert, Button, HStack } from '@navikt/ds-react'; +import { KlageGjelderTilbakekreving } from '../Klage/KlageGjelderTilbakekreving'; import { Datovelger } from '../../../Felles/Datovelger/Datovelger'; const AlertStripe = styled(Alert)` margin-top: 1rem; `; -const DatoContainer = styled.div` - margin-top: 2rem; - margin-bottom: 18rem; -`; - -const ButtonContainer = styled.div` - display: flex; - margin-top: 1rem; - justify-content: flex-end; - margin-bottom: 0.5rem; -`; - const ModalKnapp = styled(Button)` padding-right: 1.5rem; padding-left: 1.5rem; - margin-left: 1rem; `; export interface OpprettKlageRequest { @@ -32,20 +19,23 @@ export interface OpprettKlageRequest { klageGjelderTilbakekreving: boolean; } -interface IProps { +interface Props { settVisModal: (bool: boolean) => void; - opprettKlage: (data: OpprettKlageRequest) => void; + opprettKlagebehandling: (data: OpprettKlageRequest) => void; } -export const OpprettKlage: React.FunctionComponent = ({ settVisModal, opprettKlage }) => { +export const OpprettKlagebehandling: React.FunctionComponent = ({ + settVisModal, + opprettKlagebehandling, +}) => { const [feilmelding, settFeilmelding] = useState(''); const [valgtDato, settValgtDato] = useState(); const [klageGjelderTilbakekreving, settKlageGjelderTilbakekreving] = useState(false); - const validerValgtDato = (valgtDato: string | undefined) => { + const validerOgOpprettKlagebehandling = (valgtDato: string | undefined) => { settFeilmelding(''); if (valgtDato && erGyldigDato(valgtDato) && erFørEllerLikDagensDato(valgtDato)) { - opprettKlage({ + opprettKlagebehandling({ mottattDato: valgtDato, klageGjelderTilbakekreving: klageGjelderTilbakekreving, }); @@ -58,24 +48,22 @@ export const OpprettKlage: React.FunctionComponent = ({ settVisModal, op return ( <> + { + settValgtDato(dato as string); + }} + verdi={valgtDato} + feil={valgtDato && !erGyldigDato(valgtDato) ? 'Ugyldig dato' : undefined} + maksDato={new Date()} + /> - - { - settValgtDato(dato as string); - }} - verdi={valgtDato} - feil={valgtDato && !erGyldigDato(valgtDato) ? 'Ugyldig dato' : undefined} - maksDato={new Date()} - /> - {feilmelding && {feilmelding}} - - + {feilmelding && {feilmelding}} + { @@ -84,12 +72,13 @@ export const OpprettKlage: React.FunctionComponent = ({ settVisModal, op > Avbryt - validerValgtDato(valgtDato)}> + validerOgOpprettKlagebehandling(valgtDato)} + > Opprett - + ); }; - -export default OpprettKlage; diff --git a/src/frontend/Komponenter/Personoversikt/Revurdering/LagRevurdering.tsx b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettRevurdering.tsx similarity index 88% rename from src/frontend/Komponenter/Personoversikt/Revurdering/LagRevurdering.tsx rename to src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettRevurdering.tsx index 577f625ba..4b9a56e5d 100644 --- a/src/frontend/Komponenter/Personoversikt/Revurdering/LagRevurdering.tsx +++ b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettRevurdering.tsx @@ -4,7 +4,6 @@ import { behandlingsårsakerForRevurdering, behandlingsårsakTilTekst, } from '../../../App/typer/Behandlingsårsak'; -import { Behandlingstype } from '../../../App/typer/behandlingstype'; import DataViewer from '../../../Felles/DataViewer/DataViewer'; import styled from 'styled-components'; import { @@ -32,21 +31,15 @@ import LeggTilBarnSomSkalFødes from '../../Behandling/Førstegangsbehandling/Le import { BarnSomSkalFødes } from '../../../App/hooks/useJournalføringState'; const DatoContainer = styled.div` - margin-top: 2rem; min-height: 20rem; `; -const StyledSelect = styled(Select)` - margin-top: 2rem; -`; - const AlertStripe = styled(Alert)` margin-top: 1rem; `; const ButtonContainer = styled.div` display: flex; - margin-top: 1rem; justify-content: flex-end; margin-bottom: 0.5rem; `; @@ -65,17 +58,15 @@ const inneholderBarnSomErUgyldige = (barnSomSkalFødes: BarnSomSkalFødes[]) => !erGyldigDato(barn.fødselTerminDato) ); -interface IProps { +interface Props { fagsak: Fagsak; - valgtBehandlingstype: Behandlingstype; - lagRevurdering: (revurderingInnhold: RevurderingInnhold) => void; + opprettRevurdering: (revurderingInnhold: RevurderingInnhold) => void; settVisModal: (bool: boolean) => void; } -export const LagRevurdering: React.FunctionComponent = ({ +export const OpprettRevurdering: React.FunctionComponent = ({ fagsak, - valgtBehandlingstype, - lagRevurdering, + opprettRevurdering, settVisModal, }) => { const { toggles } = useToggles(); @@ -132,7 +123,7 @@ export const LagRevurdering: React.FunctionComponent = ({ } }; - const opprettRevurdering = (måTaStillingTilBarn: boolean) => { + const validerOgOpprettRevurdering = (måTaStillingTilBarn: boolean) => { if (!valgtBehandlingsårsak) { settFeilmeldingModal('Vennligst velg en årsak'); } else if (!valgtDato || !erGyldigDato(valgtDato)) { @@ -147,7 +138,7 @@ export const LagRevurdering: React.FunctionComponent = ({ } else if (inneholderBarnSomErUgyldige(barnSomSkalFødes)) { settFeilmeldingModal('Et eller flere barn mangler gyldig dato'); } else { - lagRevurdering({ + opprettRevurdering({ fagsakId: fagsak.id, behandlingsårsak: valgtBehandlingsårsak, kravMottatt: valgtDato, @@ -171,7 +162,7 @@ export const LagRevurdering: React.FunctionComponent = ({ return ( <> - { @@ -179,15 +170,14 @@ export const LagRevurdering: React.FunctionComponent = ({ }} > - {valgtBehandlingstype === Behandlingstype.REVURDERING && - behandlingsårsakerForRevurdering - .filter(skalViseÅrsak) - .map((behandlingsårsak: Behandlingsårsak, index: number) => ( - - ))} - + {behandlingsårsakerForRevurdering + .filter(skalViseÅrsak) + .map((behandlingsårsak: Behandlingsårsak, index: number) => ( + + ))} + = ({ opprettRevurdering(måTaStillingTilBarn)} + onClick={() => validerOgOpprettRevurdering(måTaStillingTilBarn)} > Opprett diff --git a/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettTilbakekreving.tsx b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettTilbakekreving.tsx new file mode 100644 index 000000000..d96259006 --- /dev/null +++ b/src/frontend/Komponenter/Personoversikt/OpprettBehandling/OpprettTilbakekreving.tsx @@ -0,0 +1,29 @@ +import React from 'react'; +import styled from 'styled-components'; +import { Button, HStack } from '@navikt/ds-react'; + +const ModalKnapp = styled(Button)` + padding-right: 1.5rem; + padding-left: 1.5rem; +`; + +interface Props { + settVisModal: (bool: boolean) => void; + opprettTilbakekreving: () => void; +} + +export const OpprettTilbakekreving: React.FC = ({ settVisModal, opprettTilbakekreving }) => ( + + { + settVisModal(false); + }} + > + Avbryt + + opprettTilbakekreving()}> + Opprett + + +); diff --git a/src/frontend/Komponenter/Personoversikt/utils.ts b/src/frontend/Komponenter/Personoversikt/utils.ts index 32fc68e45..604ca5174 100644 --- a/src/frontend/Komponenter/Personoversikt/utils.ts +++ b/src/frontend/Komponenter/Personoversikt/utils.ts @@ -12,7 +12,7 @@ export const alleBehandlingerErFerdigstiltEllerSattPåVent = (fagsak: Fagsak) => behandling.type === Behandlingstype.REVURDERING) ); -export function kanOppretteRevurdering(fagsak: Fagsak) { +export function utledKanOppretteRevurdering(fagsak: Fagsak) { const harMinstEnBehandlingSomIkkeErHenlagt = fagsak.behandlinger.some( (behandling) => behandling.resultat !== BehandlingResultat.HENLAGT ); @@ -25,7 +25,7 @@ export function kanOppretteRevurdering(fagsak: Fagsak) { return { harKunHenlagteBehandlinger: !harMinstEnBehandlingSomIkkeErHenlagt, - kanStarteRevurdering: + kanOppretteRevurdering: harMinstEnBehandlingSomIkkeErHenlagt && alleBehandlingerErFerdigstiltEllerSattPåVent(fagsak) && harBehandlingMedTypeFørstegangsbehandlingEllerRevurdering,