diff --git a/package-lock.json b/package-lock.json
index 156163f9..79c37d4e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,6 +20,7 @@
"axios": "1.7.7",
"axios-retry": "4.5.0",
"classnames": "^2.5.1",
+ "date-fns": "^3.6.0",
"lodash.debounce": "^4.0.8",
"lodash.isequal": "^4.5.0",
"lodash.sortby": "^4.7.0",
@@ -4447,6 +4448,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
"integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/kossnocorp"
@@ -7562,6 +7564,7 @@
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.0.tgz",
"integrity": "sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==",
+ "license": "MIT",
"funding": {
"type": "individual",
"url": "https://github.com/sponsors/gpbl"
diff --git a/package.json b/package.json
index bd9a5e06..ff67aafb 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"axios": "1.7.7",
"axios-retry": "4.5.0",
"classnames": "^2.5.1",
+ "date-fns": "^3.6.0",
"lodash.debounce": "^4.0.8",
"lodash.isequal": "^4.5.0",
"lodash.sortby": "^4.7.0",
diff --git a/src/AvtaleSide/steg/BeregningTilskudd/BeregningVTAOTilskuddSteg.tsx b/src/AvtaleSide/steg/BeregningTilskudd/BeregningVTAOTilskuddSteg.tsx
index eb6494c1..7ae737ad 100644
--- a/src/AvtaleSide/steg/BeregningTilskudd/BeregningVTAOTilskuddSteg.tsx
+++ b/src/AvtaleSide/steg/BeregningTilskudd/BeregningVTAOTilskuddSteg.tsx
@@ -1,27 +1,37 @@
import { AvtaleContext } from '@/AvtaleProvider';
-import { InnloggetBrukerContext } from '@/InnloggingBoundary/InnloggingBoundary';
import SkjemaTittel from '@/komponenter/form/SkjemaTittel';
import Innholdsboks from '@/komponenter/Innholdsboks/Innholdsboks';
import LagreKnapp from '@/komponenter/LagreKnapp/LagreKnapp';
import VerticalSpacer from '@/komponenter/layout/VerticalSpacer';
import BEMHelper from '@/utils/bem';
import { Column, Row } from '@/komponenter/NavGrid/Grid';
-import { BodyShort, Heading, TextField } from '@navikt/ds-react';
-import { FunctionComponent, useContext } from 'react';
-import VisningTilskuddsperioder from '@/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioder';
+import { BodyShort, Heading } from '@navikt/ds-react';
+import { FunctionComponent, useContext, useEffect, useState } from 'react';
import HenteKontonummer from '@/komponenter/form/henteKontornummer/HenteKontonummer';
import './BeregningTilskuddSteg.less';
import AvtaleStatus from '@/AvtaleSide/AvtaleStatus/AvtaleStatus';
import VisueltDisabledInputFelt from '@/komponenter/VisueltDisabledInputFelt/VisueltDisabledInputFelt';
import VisningTilskuddsperioderVtao from './visningTilskuddsperioder/VisningTilskuddsperioderVtao';
+import { hentVtaoSats } from '@/services/rest-service';
+import { formaterPenger } from '@/utils/PengeUtils';
+import { format } from 'date-fns';
const cls = BEMHelper('beregningTilskuddSteg');
-const BeregningTilskuddSteg: FunctionComponent = () => {
- const innloggetBruker = useContext(InnloggetBrukerContext);
-
+const BeregningVTAOTilskuddSteg: FunctionComponent = () => {
const { avtale, lagreAvtale } = useContext(AvtaleContext);
+ const [sats, setSats] = useState<{ aar: number; belop: number }>({ aar: NaN, belop: NaN });
+
+ const satsBelop = isNaN(sats.belop) ? '...' : formaterPenger(sats.belop);
+ const satsAar = isNaN(sats.aar) ? '...' : sats.aar;
+
+ useEffect(() => {
+ hentVtaoSats(format(new Date(avtale.opprettetTidspunkt), 'yyyy-MM-dd')).then((data) => {
+ setSats(data);
+ });
+ }, [avtale]);
+
return (
<>
@@ -31,19 +41,19 @@ const BeregningTilskuddSteg: FunctionComponent = () => {
Hvor mye dekker tilskuddet?
- Arbeidsgiveren får et tilskudd fra NAV for varig tilrettelagt arbeid. Tilskuddssatsen er 6 808
- kroner per måned. Satsen settes årlig av departementet og avtale- og refusjonsløsningen vil
- automatisk oppdateres når det kommer nye satser.
+ Arbeidsgiveren får et tilskudd fra NAV for varig tilrettelagt arbeid. Tilskuddssatsen er {satsBelop}{' '}
+ per måned. Satsen settes årlig av departementet og avtale- og refusjonsløsningen vil automatisk
+ oppdateres når det kommer nye satser.
-
+
@@ -58,4 +68,4 @@ const BeregningTilskuddSteg: FunctionComponent = () => {
);
};
-export default BeregningTilskuddSteg;
+export default BeregningVTAOTilskuddSteg;
diff --git a/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderTabellVtao.tsx b/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderTabellVtao.tsx
index c00f6d36..cedb5fb7 100644
--- a/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderTabellVtao.tsx
+++ b/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderTabellVtao.tsx
@@ -1,4 +1,4 @@
-import React, { useContext, useState } from 'react';
+import React, { useContext, useEffect, useState } from 'react';
import { BodyShort, Label } from '@navikt/ds-react';
import { TilskuddsPeriode } from '@/types/avtale';
import { formatterDato, NORSK_DATO_FORMAT } from '@/utils/datoUtils';
@@ -25,6 +25,10 @@ const VisningTilskuddsperioderTabellVtao: React.FC = ({ className }:
const { startIndexVisning, sluttIndexVisning } = getIndexVisningForTilskuddsperiode(avtale, visAllePerioder);
const cls = BEMHelper(className);
const sistePeriode = avtale.tilskuddPeriode.at(antallAktiveTilskuddsperioder(avtale) - 1);
+ const sistePeriodeAar = sistePeriode ? moment(sistePeriode?.startDato).year() : undefined;
+ const sistePeriodeErITidligereAar = sistePeriodeAar
+ ? sistePeriodeAar < moment(avtale.opprettetTidspunkt).year()
+ : false;
return (
@@ -38,13 +42,22 @@ const VisningTilskuddsperioderTabellVtao: React.FC
= ({ className }:
.filter((p: TilskuddsPeriode) => p.aktiv)
.slice(startIndexVisning, sluttIndexVisning)
.map((periode: TilskuddsPeriode, index: number) => {
+ const periodeAar = moment(periode.startDato).year();
+ const erITidligereAar = periodeAar < moment(avtale.opprettetTidspunkt).year();
return (
-
- {formatterDato(periode.startDato, NORSK_DATO_FORMAT)} -{' '}
- {formatterDato(periode.sluttDato, NORSK_DATO_FORMAT)}
-
+
+
+ {formatterDato(periode.startDato, NORSK_DATO_FORMAT)} -{' '}
+ {formatterDato(periode.sluttDato, NORSK_DATO_FORMAT)}
+
+ {erITidligereAar && (
+
+ Sats for {periodeAar}
+
+ )}
+
{innloggetBruker.erNavAnsatt && (
@@ -66,10 +79,17 @@ const VisningTilskuddsperioderTabellVtao: React.FC = ({ className }:
...
-
- {formatterDato(sistePeriode.startDato, NORSK_DATO_FORMAT)} -{' '}
- {formatterDato(sistePeriode.sluttDato, NORSK_DATO_FORMAT)}
-
+
+
+ {formatterDato(sistePeriode.startDato, NORSK_DATO_FORMAT)} -{' '}
+ {formatterDato(sistePeriode.sluttDato, NORSK_DATO_FORMAT)}
+
+ {sistePeriodeErITidligereAar && (
+
+ Sats for {sistePeriodeAar}
+
+ )}
+
{innloggetBruker.erNavAnsatt && (
diff --git a/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderVtao.tsx b/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderVtao.tsx
index a4d6d31a..a94f26a7 100644
--- a/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderVtao.tsx
+++ b/src/AvtaleSide/steg/BeregningTilskudd/visningTilskuddsperioder/VisningTilskuddsperioderVtao.tsx
@@ -1,6 +1,6 @@
import { AvtaleContext } from '@/AvtaleProvider';
import BEMHelper from '@/utils/bem';
-import { BodyShort, Label } from '@navikt/ds-react';
+import { Label } from '@navikt/ds-react';
import { FunctionComponent, useContext } from 'react';
import './visningTilskuddsperioder.less';
import VerticalSpacer from '@/komponenter/layout/VerticalSpacer';
@@ -15,7 +15,6 @@ const VisningTilskuddsperioderVtao: FunctionComponent = () => {
- (2024 - satser)
diff --git a/src/services/rest-service.ts b/src/services/rest-service.ts
index d82f2a10..06742b6d 100644
--- a/src/services/rest-service.ts
+++ b/src/services/rest-service.ts
@@ -579,3 +579,8 @@ export const justerArenaMigreringsdatoDryRun = async (avtale: Avtale, migrerings
const response = await api.post(`/avtaler/${avtale.id}/juster-arena-migreringsdato/dry-run`, { migreringsdato });
return response.data;
};
+export const hentVtaoSats = async (forDato?: string): Promise<{ aar: number; belop: number }> => {
+ const queryParams = new URLSearchParams(removeEmpty({ forDato }));
+ const response = await api.get(`/satser/vtao?${queryParams}`);
+ return response.data;
+};