import React from 'react'; import { Alternativ, ARBEIDSTIDER, garanterListe, getRelevanteTiltak, GyldighetsRegistrerer, ledetekst, navngiTiltak, OppsummeringBlokk, OppsummeringFiler, useOppsummering, utledTiltaksskissefeilmelding, } from '..'; import { validerVarslingsplan } from '../validering/VarslingsplanValidering'; import { TilbakemeldingForSteg } from './tilbakemelding/TilbakemeldingForSteg'; import { OppsummeringPunkt } from '../pynt/OppsummeringPunkt'; import { SlettetInformasjonsboks } from './SlettetInformasjonsboks'; import { Tiltak } from '../domene/Soknad'; export function VarslingsplanOppsummering() { const { id: soknadId, kunLesbar, vegarbeid, lastNedVedleggUrl, lastNedVedlegg, gyldighet, soknad, forrigeSoknad, } = useOppsummering(); const redigeringsLenke = !kunLesbar && `#/${soknadId}/varslingsplan`; const filer = vegarbeid.varslingsplan?.vedlegg || []; const plantype = vegarbeid?.plantype; const [relevanteTiltak] = getRelevanteTiltak( plantype, vegarbeid?.vegarbeidsbeskrivelse ); //til bruk i sammenligning for saksbehandler const [forrigeRelevanteTiltak] = getRelevanteTiltak( forrigeSoknad?.vegarbeid?.plantype, forrigeSoknad?.vegarbeid?.vegarbeidsbeskrivelse ) || []; const valideringsfeil = validerVarslingsplan(soknad) || utledTiltaksskissefeilmelding(filer, vegarbeid); const forrigeVedlegg = forrigeSoknad?.vegarbeid?.varslingsplan?.vedlegg || []; return ( <> {!valideringsfeil && ( { return ( ); }} skisseprefiks={ledetekst.getTekst( 'arbeidsvarsling.soknad.Varslingsplan.skisseprefiks' )} /> )} ); } function Skissetiltak({ plantype, relevanteTiltak, forrigeRelevanteTiltak, skisse, }) { return ( <> ); } function harSlettetTiltakFraSkisse( relevanteTiltak: Tiltak[], forrigeRelevanteTiltak: Tiltak[], skisseId: string ) { const filterTiltakForSkisser = (tiltak: Tiltak[], skisseId: string) => tiltak ? Object.values(tiltak) .flatMap((value: any) => value.alternativer) .filter((it) => Object.values(it.vedlagteSkisserIder) .flat() .includes(skisseId) ) : []; const antallTiltakForSkisserForrigeSoknad = filterTiltakForSkisser( forrigeRelevanteTiltak, skisseId ); const antallTiltakForSkisserDenneSoknad = filterTiltakForSkisser( relevanteTiltak, skisseId ); return ( forrigeRelevanteTiltak && antallTiltakForSkisserForrigeSoknad > antallTiltakForSkisserDenneSoknad ); }