Skip to content

Commit

Permalink
Gjenbruk barnetilsynsøknad steg 1 (#1533)
Browse files Browse the repository at this point in the history
Work in progress. Featuretoggle av i prod.
  • Loading branch information
olekvernberg authored Nov 30, 2023
1 parent 5b2e317 commit b1c4699
Show file tree
Hide file tree
Showing 19 changed files with 279 additions and 211 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ Frontend - søknad for enslig forsørger.
2. `npm run start`

* Hvis man ønsker å kjøre med mock-api
1. `npm run start:mock`
2. `node mock/mock-server.js`
1. `node mock/mock-server.js`
2. `npm run start:mock`

Med api må du sette cookie første gang:
`http://localhost:8091/local/cookie?redirect=http://localhost:3000/familie/alene-med-barn/soknad&issuerId=tokenx&audience=familie-app`
Expand Down
7 changes: 5 additions & 2 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const App = () => {
EAlvorlighetsgrad | undefined
>(undefined);
const { settPerson } = usePersonContext();
const { søknad, settSøknad, hentMellomlagretOvergangsstønad } = useSøknad();
const { settSøknad, hentMellomlagretOvergangsstønad } = useSøknad();
const { settToggles, toggles } = useToggles();

const intl = useLokalIntlContext();
Expand Down Expand Up @@ -72,7 +72,10 @@ const App = () => {
const oppdaterSøknadMedBarn = (person: IPerson, barneliste: IBarn[]) => {
const barnMedLabels = oppdaterBarnMedLabel(barneliste, intl);

settSøknad({ ...søknad, person: { ...person, barn: barnMedLabels } });
settSøknad((prevSøknad) => ({
...prevSøknad,
person: { ...person, barn: barnMedLabels },
}));
};

const fetchToggles = () => {
Expand Down
25 changes: 19 additions & 6 deletions src/barnetilsyn/BarnetilsynApp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { ESkjemanavn } from '../utils/skjemanavn';
import { useLokalIntlContext } from '../context/LokalIntlContext';
import { Loader } from '@navikt/ds-react';
import { IBarn } from '../models/steg/barn';
import { ToggleName } from '../models/søknad/toggles';

const BarnetilsynApp = () => {
const [autentisert, settAutentisering] = useState<boolean>(false);
Expand All @@ -27,10 +28,12 @@ const BarnetilsynApp = () => {
const [alvorlighetsgrad, settAlvorlighetsgrad] =
useState<EAlvorlighetsgrad>();
const { settPerson } = usePersonContext();
const { søknad, settSøknad, hentMellomlagretBarnetilsyn } =
useBarnetilsynSøknad();
const { settToggles } = useToggles();

const {
settSøknad,
hentMellomlagretBarnetilsyn,
hentForrigeSøknadBarnetilsyn,
} = useBarnetilsynSøknad();
const { toggles, settToggles } = useToggles();
const intl = useLokalIntlContext();

autentiseringsInterceptor();
Expand Down Expand Up @@ -69,8 +72,12 @@ const BarnetilsynApp = () => {

const oppdaterSøknadMedBarn = (person: IPerson, barneliste: IBarn[]) => {
const barnMedLabels = oppdaterBarnMedLabel(barneliste, intl);

settSøknad &&
settSøknad({ ...søknad, person: { ...person, barn: barnMedLabels } });
settSøknad((prevSøknad) => ({
...prevSøknad,
person: { ...person, barn: barnMedLabels },
}));
};

const fetchToggles = () => {
Expand All @@ -86,10 +93,16 @@ const BarnetilsynApp = () => {
hentMellomlagretBarnetilsyn(),
])
.then(() => settFetching(false))
.catch(() => settFetching(false));
.catch(() => settFetching(false))
// eslint-disable-next-line
}, []);

useEffect(() => {
if (toggles[ToggleName.hentBarnetilsynSøknad]) {
hentForrigeSøknadBarnetilsyn()
}
}, [fetching]);

if (!fetching && autentisert) {
if (!error) {
return (
Expand Down
17 changes: 16 additions & 1 deletion src/barnetilsyn/BarnetilsynContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import createUseContext from 'constate';
import tomPerson from '../mock/initialState.json';
import { EBosituasjon } from '../models/steg/bosituasjon';
import { ISpørsmål, ISvar } from '../models/felles/spørsmålogsvar';
import { ISøknad } from './models/søknad';
import { ISøknad, ForrigeSøknad } from './models/søknad';
import {
hentDokumentasjonTilFlersvarSpørsmål,
oppdaterDokumentasjonTilEtSvarSpørsmål,
Expand All @@ -13,6 +13,7 @@ import { IMellomlagretBarnetilsynSøknad } from './models/mellomlagretSøknad';
import Environment from '../Environment';
import { EArbeidssituasjon } from '../models/steg/aktivitet/aktivitet';
import {
hentDataFraForrigeBarnetilsynSøknad,
hentMellomlagretSøknadFraDokument,
mellomlagreSøknadTilDokument,
nullstillMellomlagretSøknadTilDokument,
Expand Down Expand Up @@ -91,6 +92,19 @@ const [BarnetilsynSøknadProvider, useBarnetilsynSøknad] = createUseContext(
}
};

const hentForrigeSøknadBarnetilsyn = async (): Promise<void> => {
return hentDataFraForrigeBarnetilsynSøknad().then(
(tidligereVersjon?: ForrigeSøknad) => {
if (tidligereVersjon) {
settSøknad((prevSøknad) => ({
...prevSøknad,
...tidligereVersjon,
}));
}
}
);
};

const mellomlagreBarnetilsyn = (steg: string) => {
const utfyltSøknad = {
søknad: søknad,
Expand Down Expand Up @@ -211,6 +225,7 @@ const [BarnetilsynSøknadProvider, useBarnetilsynSøknad] = createUseContext(
hentMellomlagretBarnetilsyn,
mellomlagreBarnetilsyn,
brukMellomlagretBarnetilsyn,
hentForrigeSøknadBarnetilsyn,
nullstillMellomlagretBarnetilsyn,
nullstillSøknadBarnetilsyn,
oppdaterBarnISøknaden,
Expand Down
9 changes: 5 additions & 4 deletions src/barnetilsyn/Forside.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React from 'react';
import React, { useEffect } from 'react';

Check warning on line 1 in src/barnetilsyn/Forside.tsx

View workflow job for this annotation

GitHub Actions / Build and push Docker container

'useEffect' is defined but never used
import { usePersonContext } from '../context/PersonContext';
import { useBarnetilsynSøknad } from './BarnetilsynContext';
import Environment from '../Environment';
Expand Down Expand Up @@ -42,11 +42,12 @@ const Forside: React.FC = () => {
søknad,
settSøknad,
} = useBarnetilsynSøknad();

const settBekreftelse = (bekreftelse: boolean) => {
settSøknad({
...søknad,
settSøknad((prevSøknad) => ({
...prevSøknad,
harBekreftet: bekreftelse,
});
}));
};

const alder = FnrOgDnrTilAlder(person.søker.fnr);
Expand Down
5 changes: 5 additions & 0 deletions src/barnetilsyn/models/søknad.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,8 @@ export interface ISøknad {
dokumentasjonsbehov: IDokumentasjon[];
harBekreftet: boolean;
}

export interface ForrigeSøknad {
sivilstatus: ISivilstatus;
medlemskap: IMedlemskap;
}
48 changes: 20 additions & 28 deletions src/barnetilsyn/steg/1-omdeg/OmDeg.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import React, { FC } from 'react';
import { useLocation } from 'react-router-dom';
import {
erSivilstandSpørsmålBesvart,
erStegFerdigUtfylt,
erSøknadsBegrunnelseBesvart,
erÅrsakEnsligBesvart,
} from '../../../helpers/steg/omdeg';
import { useBarnetilsynSøknad } from '../../BarnetilsynContext';
import { IMedlemskap } from '../../../models/steg/omDeg/medlemskap';
Expand All @@ -20,7 +21,6 @@ import Show from '../../../utils/showIf';
import { logSidevisningBarnetilsyn } from '../../../utils/amplitude';
import { useMount } from '../../../utils/hooks';
import { ISøknad } from '../../models/søknad';
import { erGyldigDato } from '../../../utils/dato';
import { kommerFraOppsummeringen } from '../../../utils/locationState';
import { useLokalIntlContext } from '../../../context/LokalIntlContext';

Expand All @@ -38,15 +38,17 @@ const OmDeg: FC = () => {
settSøknad,
settDokumentasjonsbehov,
} = useBarnetilsynSøknad();

const { harSøktSeparasjon, datoSøktSeparasjon, datoFlyttetFraHverandre } =
søknad.sivilstatus;
const { sivilstatus, medlemskap } = søknad;
const { søker } = søknad.person;

const settMedlemskap = (medlemskap: IMedlemskap) => {
settSøknad((prevSoknad: ISøknad) => {
return {
...prevSoknad,
medlemskap: medlemskap,
medlemskap:
Object.keys(medlemskap).length !== 0
? medlemskap
: prevSoknad.medlemskap,
};
});
};
Expand All @@ -68,11 +70,10 @@ const OmDeg: FC = () => {
...prevSoknad,
adresseopplysninger: undefined,
søkerBorPåRegistrertAdresse: søkerBorPåRegistrertAdresse,
sivilstatus: {},
medlemskap: {},
};
});
};

const settHarMeldtAdresseendring = (
harMeldtAdresseendring: ISpørsmålBooleanFelt
) => {
Expand All @@ -94,23 +95,17 @@ const OmDeg: FC = () => {
});
};

const erAlleSpørsmålBesvart = erStegFerdigUtfylt(
søknad.sivilstatus,
søknad.medlemskap
);

const søkerBorPåRegistrertAdresseEllerHarMeldtAdresseendring =
søknad.person.søker.erStrengtFortrolig ||
søker.erStrengtFortrolig ||
søknad.søkerBorPåRegistrertAdresse?.verdi === true ||
søknad.adresseopplysninger?.harMeldtAdresseendring?.verdi === true;

const harFyltUtSeparasjonSpørsmålet =
harSøktSeparasjon !== undefined
? harSøktSeparasjon.verdi
? erGyldigDato(datoSøktSeparasjon?.verdi) &&
erGyldigDato(datoFlyttetFraHverandre?.verdi)
: true
: false;
const erAlleSpørsmålBesvart = erStegFerdigUtfylt(
sivilstatus,
søker.sivilstand,
medlemskap,
søkerBorPåRegistrertAdresseEllerHarMeldtAdresseendring
);

return (
<Side
Expand All @@ -123,7 +118,7 @@ const OmDeg: FC = () => {
tilbakeTilOppsummeringPath={hentPathBarnetilsynOppsummering}
>
<Personopplysninger
søker={søknad.person.søker}
søker={søker}
settSøker={settSøker}
settDokumentasjonsbehov={settDokumentasjonsbehov}
søkerBorPåRegistrertAdresse={søknad.søkerBorPåRegistrertAdresse}
Expand All @@ -145,14 +140,11 @@ const OmDeg: FC = () => {

<Show
if={
harFyltUtSeparasjonSpørsmålet ||
erSøknadsBegrunnelseBesvart(søknad.sivilstatus)
erSivilstandSpørsmålBesvart(søker.sivilstand, sivilstatus) &&
erÅrsakEnsligBesvart(sivilstatus)
}
>
<Medlemskap
medlemskap={søknad.medlemskap}
settMedlemskap={settMedlemskap}
/>
<Medlemskap medlemskap={medlemskap} settMedlemskap={settMedlemskap} />
</Show>
</Show>
</Side>
Expand Down
Loading

0 comments on commit b1c4699

Please sign in to comment.