Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.

Commit

Permalink
r legger til beregning av visEndreSituasjon basert på opplysninger om…
Browse files Browse the repository at this point in the history
… arbeidssøker apiet
  • Loading branch information
zrrrzzt committed Feb 27, 2024
1 parent c80677b commit b2208eb
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 10 deletions.
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"@grafana/faro-web-tracing": "1.3.5",
"@navikt/aksel-icons": "5.13.0",
"@navikt/ds-react": "5.13.0",
"@navikt/arbeidssokerregisteret-utils": "0.10.0",
"@navikt/arbeidssokerregisteret-utils": "0.12.0",
"classnames": "2.5.1",
"core-js": "3.35.0",
"intersection-observer": "0.12.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,19 @@ import {
Utdanningsnivaa,
} from '@navikt/arbeidssokerregisteret-utils';
import { BodyShort } from '@navikt/ds-react';
import spacing from '../../spacing.module.css';
import flexStyles from '../../flex.module.css';
import lagHentTekstForSprak from '../../lib/lag-hent-tekst-for-sprak';

import { useSprakValg } from '../../contexts/sprak';

import lagHentTekstForSprak from '../../lib/lag-hent-tekst-for-sprak';
import prettyPrintDato from '../../utils/pretty-print-dato';
import Feedback from '../feedback/feedback';
import Oppfolging from './oppfolging';

type OpplysningProps = { sporsmal: string; svar: Svar };
import spacing from '../../spacing.module.css';
import flexStyles from '../../flex.module.css';

type OpplysningProps = { sporsmal: string; svar: Svar | string };

const Opplysning = (props: OpplysningProps) => {
const tekst = lagHentTekstForSprak(SPORSMAL_TEKSTER, useSprakValg().sprak);
const { sporsmal, svar } = props;
Expand Down
25 changes: 24 additions & 1 deletion src/komponenter/min-situasjon/min-situasjon.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
import { Box, Detail, Heading } from '@navikt/ds-react';

import { useFeatureToggleData } from '../../contexts/feature-toggles';
import { useFeatureToggleData, FeatureToggles } from '../../contexts/feature-toggles';
import { useAmplitudeData } from '../hent-initial-data/amplitude-provider';
import { useBesvarelse } from '../../contexts/besvarelse';
import { useArbeidssokerPerioder } from '../../contexts/arbeidssoker';
import { useArbeidssokerperioder } from '../../contexts/arbeidssokerperioder';
import { useOpplysningerOmArbeidssoker } from '../../contexts/opplysninger-om-arbeidssoker';
import { InnloggingsNiva, useAutentiseringData } from '../../contexts/autentisering';

import Sammendrag from './sammendrag';
import InnsynLesMer from '../innsyn/innsyn-les-mer';
import beregnArbeidssokerperioder from '../../lib/beregn-arbeidssokerperioder';
import EndreSituasjon from '../endre-situasjon/min-situasjon';
import EndreSituasjonNyttApi from '../endre-situasjon-nytt-api/min-situasjon';
import { visBesvarelser } from '../../lib/vis-besvarelse';
import { visBesvarelserNyttApi } from '../../lib/vis-besvarelse-nytt-api';
import spacingStyles from '../../spacing.module.css';
import { svarMap } from '../../models/sporsmal-og-svar';
import useErStandardInnsats from '../../hooks/use-er-standard-innsats';
Expand All @@ -21,9 +25,12 @@ import useSkalBrukeTabs from '../../hooks/use-skal-bruke-tabs';

function MinSituasjon() {
const arbeidssokerperiodeData = useArbeidssokerPerioder();
const arbeidssoekerPerioder = useArbeidssokerperioder().arbeidssokerperioder;
const opplysningerOmArbeidssoeker = useOpplysningerOmArbeidssoker().opplysningerOmArbeidssoker;
const { amplitudeData } = useAmplitudeData();
const autentiseringData = useAutentiseringData();
const featuretoggleData = useFeatureToggleData();
const brukOpplysningerApi = featuretoggleData[FeatureToggles.BRUK_OPPLYSNINGER_API] || false;

const registreringData = useBrukerregistreringData();
const brukerInfoData = useBrukerInfoData();
Expand All @@ -39,6 +46,18 @@ function MinSituasjon() {
const kanViseKomponent = autentiseringData.securityLevel === InnloggingsNiva.LEVEL_4 && harRegistreringData;
const skalVisesITabs = useSkalBrukeTabs();

const visEndreSituasjonNyttApi = brukOpplysningerApi
? visBesvarelserNyttApi({
brukerInfoData,
oppfolgingData,
featuretoggleData,
besvarelseData: besvarelse,
arbeidssoekerPerioder,
opplysningerOmArbeidssoeker,
erStandardInnsats,
})
: false;

const visEndreSituasjon = visBesvarelser({
brukerInfoData,
oppfolgingData,
Expand All @@ -51,6 +70,10 @@ function MinSituasjon() {

if (!kanViseKomponent) return null;

if (visEndreSituasjonNyttApi) {
return <EndreSituasjonNyttApi />;
}

if (visEndreSituasjon) {
return <EndreSituasjon />;
}
Expand Down
70 changes: 70 additions & 0 deletions src/lib/vis-besvarelse-nytt-api.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import {
hentSisteArbeidssokerPeriode,
hentSisteOpplysningerOmArbeidssoker,
ArbeidssokerperioderResponse,
OpplysningerOmArbeidssokerResponse,
} from '@navikt/arbeidssokerregisteret-utils';

import * as Brukerregistrering from '../hooks/use-brukerregistrering-data';
import * as Oppfolging from '../hooks/use-oppfolging-data';
import * as BrukerInfo from '../hooks/use-brukerinfo-data';
import * as FeatureToggles from '../contexts/feature-toggles';
import { BesvarelseResponse } from '../contexts/besvarelse';

const DATO_FOR_LANSERING = new Date('2023-02-01');

export function visBesvarelserNyttApi({
brukerInfoData,
oppfolgingData,
featuretoggleData,
besvarelseData,
arbeidssoekerPerioder,
opplysningerOmArbeidssoeker,
erStandardInnsats,
}: {
brukerInfoData: BrukerInfo.Data;
oppfolgingData: Oppfolging.Data;
featuretoggleData: FeatureToggles.FeatureToggleData;
besvarelseData: BesvarelseResponse | null;
arbeidssoekerPerioder: ArbeidssokerperioderResponse;
opplysningerOmArbeidssoeker: OpplysningerOmArbeidssokerResponse;
erStandardInnsats: boolean | undefined;
}): boolean {
const brukEndringAvSituasjon = featuretoggleData[FeatureToggles.FeatureToggles.BRUK_ENDRING_AV_SITUASJON] || false;
const brukOpplysningerApi = featuretoggleData[FeatureToggles.FeatureToggles.BRUK_OPPLYSNINGER_API] || false;
const toggleErAktiv = brukEndringAvSituasjon && brukOpplysningerApi;
const erAAP = brukerInfoData.rettighetsgruppe === 'AAP';
const sisteArbeidssoekerPeriode = hentSisteArbeidssokerPeriode(arbeidssoekerPerioder);
const datoForRegistrering = sisteArbeidssoekerPeriode
? new Date(sisteArbeidssoekerPeriode.startet.tidspunkt)
: new Date('2019-07-01');
const sisteOpplysninger = hentSisteOpplysningerOmArbeidssoker(opplysningerOmArbeidssoeker);

const erPermittert =
(sisteOpplysninger &&
sisteOpplysninger.jobbsituasjon &&
sisteOpplysninger.jobbsituasjon[0].beskrivelse === Brukerregistrering.DinSituasjonSvar.ER_PERMITTERT) ||
false;

const aldersgruppeUtenForsterketInnsats = brukerInfoData.alder >= 30 && brukerInfoData.alder <= 59;

const harEndretBesvarelse = besvarelseData && besvarelseData.erBesvarelsenEndret;

const erRegistrertEtterLansering = datoForRegistrering > DATO_FOR_LANSERING;

const harAktivArbeidssokerperiode = sisteArbeidssoekerPeriode
? sisteArbeidssoekerPeriode.avsluttet === null
: false;

return (
(harEndretBesvarelse && toggleErAktiv && harAktivArbeidssokerperiode) ||
(toggleErAktiv &&
harAktivArbeidssokerperiode &&
erRegistrertEtterLansering &&
erPermittert &&
aldersgruppeUtenForsterketInnsats &&
!erAAP &&
Boolean(erStandardInnsats) &&
!oppfolgingData.kanReaktiveres)
);
}

0 comments on commit b2208eb

Please sign in to comment.