- {props.perioder.map((periode, index) => (
+ {props.ferier.map((periode, index) => (
void;
+}
+
+export default function Naturalytelser({ setIsDirtyForm }: Readonly) {
const naturalytelser = useBoundStore((state) => state.naturalytelser);
const leggTilNaturalytelse = useBoundStore((state) => state.leggTilNaturalytelse);
const setNaturalytelseType = useBoundStore((state) => state.setNaturalytelseType);
@@ -21,14 +25,17 @@ export default function Naturalytelser() {
const visNaturalytelser = (event: React.MouseEvent) => {
if (event.currentTarget.checked === true) {
+ setIsDirtyForm(true);
leggTilNaturalytelse();
} else {
+ setIsDirtyForm(true);
slettAlleNaturalytelser();
}
};
const leggTilNaturalytelseHandler = (event: React.MouseEvent) => {
event.preventDefault();
+ setIsDirtyForm(true);
leggTilNaturalytelse();
};
diff --git a/components/RefusjonArbeidsgiver/RefusjonArbeidsgiverBelop.tsx b/components/RefusjonArbeidsgiver/RefusjonArbeidsgiverBelop.tsx
index 08c3485e..0cc8cdb6 100644
--- a/components/RefusjonArbeidsgiver/RefusjonArbeidsgiverBelop.tsx
+++ b/components/RefusjonArbeidsgiver/RefusjonArbeidsgiverBelop.tsx
@@ -54,8 +54,8 @@ export default function RefusjonArbeidsgiverBelop({
label='Oppgi refusjonsbeløpet per måned'
value={bruttoinntekt}
onChange={(event) => onOppdaterBelop(event.target.value)}
- id={'lus-input'}
- error={visFeilmeldingsTekst('lus-input')}
+ id={'refusjon.beloepPerMaaned'}
+ error={visFeilmeldingsTekst('refusjon.beloepPerMaaned')}
data-cy='refusjon-arbeidsgiver-beloep-input'
/>
diff --git a/components/VelgAarsak/VelgAarsak.tsx b/components/VelgAarsak/VelgAarsak.tsx
index e572b1e5..8514dd4c 100644
--- a/components/VelgAarsak/VelgAarsak.tsx
+++ b/components/VelgAarsak/VelgAarsak.tsx
@@ -94,15 +94,15 @@ export default function VelgAarsak({
)}
@@ -120,11 +120,11 @@ export default function VelgAarsak({
{endringAarsak === begrunnelseEndringBruttoinntekt.Permisjon && (
@@ -180,15 +180,15 @@ export default function VelgAarsak({
)}
diff --git a/cypress/e2e/delvis-inngang-fra-kvittering.cy.js b/cypress/e2e/delvis-inngang-fra-kvittering.cy.js
index d3a8e08b..af3ec297 100644
--- a/cypress/e2e/delvis-inngang-fra-kvittering.cy.js
+++ b/cypress/e2e/delvis-inngang-fra-kvittering.cy.js
@@ -110,39 +110,20 @@ describe('Delvis skjema - Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007842',
- identitetsnummer: '10486535275',
- egenmeldingsperioder: [],
- fraværsperioder: [
- {
- fom: '2023-01-02',
- tom: '2023-01-29'
- },
- {
- fom: '2023-01-31',
- tom: '2023-02-08'
- }
- ],
- arbeidsgiverperioder: [],
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: null,
inntekt: {
- bekreftet: true,
- beregnetInntekt: 50000,
- manueltKorrigert: true,
- endringÅrsak: {
- typpe: 'Bonus'
- }
+ beloep: 50000,
+ inntektsdato: '2023-01-02',
+ naturalytelser: [],
+ endringAarsak: { aarsak: 'Bonus' }
},
- bestemmendeFraværsdag: '2023-01-02',
refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 50000,
- refusjonOpphører: '2023-09-30'
+ beloepPerMaaned: 50000,
+ sluttdato: '2023-09-30',
+ endringer: []
},
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Endring',
- telefonnummer: '12345678',
- forespurtData: ['inntekt', 'refusjon']
+ avsenderTlf: '12345678'
});
// cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
diff --git a/cypress/e2e/delvis-refusjon-skjaeringstidspunkt.cy.js b/cypress/e2e/delvis-refusjon-skjaeringstidspunkt.cy.js
index 04b8707b..a80ef60e 100644
--- a/cypress/e2e/delvis-refusjon-skjaeringstidspunkt.cy.js
+++ b/cypress/e2e/delvis-refusjon-skjaeringstidspunkt.cy.js
@@ -57,31 +57,16 @@ describe('Delvis skjema - Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007842',
- identitetsnummer: '19496806711',
- egenmeldingsperioder: [],
- fraværsperioder: [
- {
- fom: '2024-01-07',
- tom: '2024-02-02'
- }
- ],
- arbeidsgiverperioder: [],
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: null,
inntekt: {
- bekreftet: true,
- beregnetInntekt: 55000,
- manueltKorrigert: false
+ beloep: 55000,
+ inntektsdato: '2024-01-07',
+ naturalytelser: [],
+ endringAarsak: null
},
- bestemmendeFraværsdag: '2024-01-07',
- refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 55000
- },
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['inntekt', 'refusjon']
+ refusjon: { beloepPerMaaned: 55000, sluttdato: null, endringer: [] },
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
@@ -149,34 +134,16 @@ describe('Delvis skjema - Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007842',
- identitetsnummer: '19496806711',
- egenmeldingsperioder: [],
- fraværsperioder: [
- {
- fom: '2024-01-07',
- tom: '2024-02-02'
- }
- ],
- arbeidsgiverperioder: [],
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: null,
inntekt: {
- bekreftet: true,
- beregnetInntekt: 60000,
- manueltKorrigert: true,
- endringÅrsak: {
- typpe: 'Bonus'
- }
- },
- bestemmendeFraværsdag: '2024-01-07',
- refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 55000
+ beloep: 60000,
+ inntektsdato: '2024-01-07',
+ naturalytelser: [],
+ endringAarsak: { aarsak: 'Bonus' }
},
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['inntekt', 'refusjon']
+ refusjon: { beloepPerMaaned: 55000, sluttdato: null, endringer: [] },
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
diff --git a/cypress/e2e/delvis-refusjon.cy.js b/cypress/e2e/delvis-refusjon.cy.js
index 6ddcee59..28ae7263 100644
--- a/cypress/e2e/delvis-refusjon.cy.js
+++ b/cypress/e2e/delvis-refusjon.cy.js
@@ -57,31 +57,16 @@ describe('Delvis skjema - Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007982',
- identitetsnummer: '18468037250',
- egenmeldingsperioder: [],
- fraværsperioder: [
- {
- fom: '2023-08-08',
- tom: '2023-08-31'
- }
- ],
- arbeidsgiverperioder: [],
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: null,
inntekt: {
- bekreftet: true,
- beregnetInntekt: 26000,
- manueltKorrigert: false
+ beloep: 26000,
+ inntektsdato: '2023-08-08',
+ naturalytelser: [],
+ endringAarsak: null
},
- bestemmendeFraværsdag: '2023-08-08',
- refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 10000
- },
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['inntekt', 'refusjon']
+ refusjon: { beloepPerMaaned: 10000, sluttdato: null, endringer: [] },
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
@@ -149,34 +134,16 @@ describe('Delvis skjema - Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007982',
- identitetsnummer: '18468037250',
- egenmeldingsperioder: [],
- fraværsperioder: [
- {
- fom: '2023-08-08',
- tom: '2023-08-31'
- }
- ],
- arbeidsgiverperioder: [],
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: null,
inntekt: {
- bekreftet: true,
- beregnetInntekt: 50000,
- manueltKorrigert: true,
- endringÅrsak: {
- typpe: 'Bonus'
- }
- },
- bestemmendeFraværsdag: '2023-08-08',
- refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 10000
+ beloep: 50000,
+ inntektsdato: '2023-08-08',
+ naturalytelser: [],
+ endringAarsak: { aarsak: 'Bonus' }
},
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['inntekt', 'refusjon']
+ refusjon: { beloepPerMaaned: 10000, sluttdato: null, endringer: [] },
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
diff --git a/cypress/e2e/delvis.cy.js b/cypress/e2e/delvis.cy.js
index c910b737..81a7408d 100644
--- a/cypress/e2e/delvis.cy.js
+++ b/cypress/e2e/delvis.cy.js
@@ -54,31 +54,25 @@ describe('Delvis skjema - Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007842',
- identitetsnummer: '10486535275',
- egenmeldingsperioder: [],
- fraværsperioder: [
- { fom: '2023-02-02', tom: '2023-02-20' },
- { fom: '2023-02-24', tom: '2023-02-28' }
- ],
- arbeidsgiverperioder: [],
- inntekt: { bekreftet: true, beregnetInntekt: 46000, manueltKorrigert: false },
- bestemmendeFraværsdag: '2023-02-25',
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: null,
+ inntekt: {
+ beloep: 46000,
+ inntektsdato: '2023-02-25',
+ naturalytelser: [],
+ endringAarsak: null
+ },
refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 46000,
- refusjonEndringer: [
+ beloepPerMaaned: 46000,
+ sluttdato: null,
+ endringer: [
{
- beløp: 0,
- dato: '2023-09-30'
+ beloep: 0,
+ startdato: '2023-09-30'
}
]
},
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['inntekt', 'refusjon']
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
@@ -146,31 +140,25 @@ describe('Delvis skjema - Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007842',
- identitetsnummer: '10486535275',
- egenmeldingsperioder: [],
- fraværsperioder: [
- { fom: '2023-02-02', tom: '2023-02-20' },
- { fom: '2023-02-24', tom: '2023-02-28' }
- ],
- arbeidsgiverperioder: [],
- inntekt: { bekreftet: true, beregnetInntekt: 50000, manueltKorrigert: true, endringÅrsak: { typpe: 'Bonus' } },
- bestemmendeFraværsdag: '2023-02-25',
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: null,
+ inntekt: {
+ beloep: 50000,
+ inntektsdato: '2023-02-25',
+ naturalytelser: [],
+ endringAarsak: { aarsak: 'Bonus' }
+ },
refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 46000,
- refusjonEndringer: [
+ beloepPerMaaned: 46000,
+ sluttdato: null,
+ endringer: [
{
- beløp: 0,
- dato: '2023-09-30'
+ beloep: 0,
+ startdato: '2023-09-30'
}
]
},
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['inntekt', 'refusjon']
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
diff --git a/cypress/e2e/endrelonnogrefusjon.cy.js b/cypress/e2e/endrelonnogrefusjon.cy.js
index 94a5bdd1..dbaca845 100644
--- a/cypress/e2e/endrelonnogrefusjon.cy.js
+++ b/cypress/e2e/endrelonnogrefusjon.cy.js
@@ -96,53 +96,34 @@ describe('Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '911206722',
- identitetsnummer: '10486535275',
- egenmeldingsperioder: [
- {
- fom: '2023-02-02',
- tom: '2023-02-02'
- },
- {
- fom: '2023-01-30',
- tom: '2023-02-01'
- }
- ],
- fraværsperioder: [
- {
- fom: '2023-02-03',
- tom: '2023-02-24'
- }
- ],
- arbeidsgiverperioder: [
- {
- fom: '2023-01-30',
- tom: '2023-02-14'
- }
- ],
- inntekt: {
- bekreftet: true,
- beregnetInntekt: 75000,
- manueltKorrigert: true,
- endringÅrsak: {
- typpe: 'Bonus'
- }
- },
- bestemmendeFraværsdag: '2023-01-30',
- fullLønnIArbeidsgiverPerioden: {
- utbetalerFullLønn: true,
- begrunnelse: null,
- utbetalt: null
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: {
+ perioder: [
+ {
+ fom: '2023-01-30',
+ tom: '2023-02-14'
+ }
+ ],
+ egenmeldinger: [
+ {
+ fom: '2023-02-02',
+ tom: '2023-02-02'
+ },
+ {
+ fom: '2023-01-30',
+ tom: '2023-02-01'
+ }
+ ],
+ redusertLoennIAgp: null
},
- refusjon: {
- utbetalerHeleEllerDeler: true,
- refusjonPrMnd: 75000
+ inntekt: {
+ beloep: 75000,
+ inntektsdato: '2023-01-30',
+ naturalytelser: [],
+ endringAarsak: { aarsak: 'Bonus' }
},
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['arbeidsgiverperiode', 'inntekt', 'refusjon']
+ refusjon: { beloepPerMaaned: 75000, sluttdato: null, endringer: [] },
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
diff --git a/cypress/e2e/kort-agp.cy.js b/cypress/e2e/kort-agp.cy.js
index 4ae52ece..8be094b5 100644
--- a/cypress/e2e/kort-agp.cy.js
+++ b/cypress/e2e/kort-agp.cy.js
@@ -47,7 +47,7 @@ describe('Utfylling og innsending av skjema', () => {
cy.findAllByRole('button', { name: /Endre/ }).first().click();
- cy.findAllByLabelText('Til').last().clear().type('116.03.23');
+ cy.findAllByLabelText('Til').last().clear().type('16.03.23');
cy.realPress('Escape');
cy.findByLabelText('Utbetalt under arbeidsgiverperiode').clear().type('50000');
@@ -64,48 +64,29 @@ describe('Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '911206722',
- identitetsnummer: '25087327879',
- egenmeldingsperioder: [],
- fraværsperioder: [
- {
- fom: '2023-02-20',
- tom: '2023-03-04'
- },
- {
- fom: '2023-03-15',
- tom: '2023-03-17'
- }
- ],
- arbeidsgiverperioder: [
- {
- fom: '2023-02-20',
- tom: '2023-03-04'
- },
- {
- fom: '2023-03-15',
- tom: '2023-03-16'
- }
- ],
- inntekt: {
- bekreftet: true,
- beregnetInntekt: 77000,
- manueltKorrigert: false
- },
- bestemmendeFraværsdag: '2023-03-15',
- fullLønnIArbeidsgiverPerioden: {
- utbetalerFullLønn: false,
- begrunnelse: 'ArbeidOpphoert',
- utbetalt: 50000
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: {
+ perioder: [
+ {
+ fom: '2023-02-20',
+ tom: '2023-03-04'
+ },
+ {
+ fom: '2023-03-15',
+ tom: '2023-03-16'
+ }
+ ],
+ egenmeldinger: [],
+ redusertLoennIAgp: { beloep: 50000, begrunnelse: 'ArbeidOpphoert' }
},
- refusjon: {
- utbetalerHeleEllerDeler: false
+ inntekt: {
+ beloep: 77000,
+ inntektsdato: '2023-03-15',
+ naturalytelser: [],
+ endringAarsak: null
},
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['arbeidsgiverperiode', 'inntekt', 'refusjon']
+ refusjon: null,
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
diff --git a/cypress/e2e/refusjon.cy.js b/cypress/e2e/refusjon.cy.js
index 37b76d7d..5051bed9 100644
--- a/cypress/e2e/refusjon.cy.js
+++ b/cypress/e2e/refusjon.cy.js
@@ -62,23 +62,21 @@ describe('Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '911206722',
- identitetsnummer: '25087327879',
- egenmeldingsperioder: [{ fom: '2023-02-17', tom: '2023-02-19' }],
- fraværsperioder: [
- { fom: '2023-02-20', tom: '2023-03-04' },
- { fom: '2023-03-15', tom: '2023-03-16' }
- ],
- arbeidsgiverperioder: [{ fom: '2023-02-17', tom: '2023-03-04' }],
- inntekt: { bekreftet: true, beregnetInntekt: 77000, manueltKorrigert: false },
- bestemmendeFraværsdag: '2023-03-15',
- fullLønnIArbeidsgiverPerioden: { utbetalerFullLønn: true, begrunnelse: null, utbetalt: null },
- refusjon: { utbetalerHeleEllerDeler: true, refusjonPrMnd: 77000 },
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['arbeidsgiverperiode', 'inntekt', 'refusjon']
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: {
+ perioder: [{ fom: '2023-02-17', tom: '2023-03-04' }],
+ egenmeldinger: [{ fom: '2023-02-17', tom: '2023-02-19' }],
+ redusertLoennIAgp: null
+ },
+
+ inntekt: {
+ beloep: 77000,
+ inntektsdato: '2023-03-15',
+ naturalytelser: [],
+ endringAarsak: null
+ },
+ refusjon: { beloepPerMaaned: 77000, sluttdato: null, endringer: [] },
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
cy.findAllByText('Kvittering - innsendt inntektsmelding').should('be.visible');
diff --git a/cypress/e2e/to-arbeidsforhold.cy.js b/cypress/e2e/to-arbeidsforhold.cy.js
index e230b65e..9512d196 100644
--- a/cypress/e2e/to-arbeidsforhold.cy.js
+++ b/cypress/e2e/to-arbeidsforhold.cy.js
@@ -37,23 +37,21 @@ describe('Utfylling og innsending av skjema', () => {
cy.wait('@innsendingInntektsmelding')
.its('request.body')
.should('deep.equal', {
- orgnrUnderenhet: '810007842',
- identitetsnummer: '10486535275',
- egenmeldingsperioder: [],
- fraværsperioder: [
- { fom: '2023-09-04', tom: '2023-09-10' },
- { fom: '2023-09-11', tom: '2023-09-24' }
- ],
- arbeidsgiverperioder: [{ fom: '2023-09-04', tom: '2023-09-19' }],
- inntekt: { bekreftet: true, beregnetInntekt: 45000, manueltKorrigert: false },
- bestemmendeFraværsdag: '2023-08-23',
- fullLønnIArbeidsgiverPerioden: { utbetalerFullLønn: true, begrunnelse: null, utbetalt: null },
- refusjon: { utbetalerHeleEllerDeler: false },
- bekreftOpplysninger: true,
- behandlingsdager: [],
- årsakInnsending: 'Ny',
- telefonnummer: '12345678',
- forespurtData: ['arbeidsgiverperiode', 'inntekt', 'refusjon']
+ forespoerselId: '12345678-3456-5678-2457-123456789012',
+ agp: {
+ perioder: [{ fom: '2023-09-04', tom: '2023-09-19' }],
+ egenmeldinger: [],
+ redusertLoennIAgp: null
+ },
+
+ inntekt: {
+ beloep: 45000,
+ inntektsdato: '2023-08-23',
+ naturalytelser: [],
+ endringAarsak: null
+ },
+ refusjon: null,
+ avsenderTlf: '12345678'
});
cy.location('pathname').should('equal', '/im-dialog/kvittering/12345678-3456-5678-2457-123456789012');
cy.findAllByText('Kvittering - innsendt inntektsmelding').should('be.visible');
diff --git a/package.json b/package.json
index c0ba9d9f..396f2c22 100644
--- a/package.json
+++ b/package.json
@@ -71,7 +71,7 @@
"lint-staged": "15.2.7",
"msw": "^2.3.1",
"next-router-mock": "0.9.13",
- "pino-pretty": "11.2.2",
+ "pino-pretty": "^11.2.2",
"prettier": "^3.3.3",
"timezone-mock": "^1.3.6",
"typescript": "5.5.2",
diff --git a/pages/[slug].tsx b/pages/[slug].tsx
index 8e5b70cf..05b75722 100644
--- a/pages/[slug].tsx
+++ b/pages/[slug].tsx
@@ -248,7 +248,7 @@ const Home: NextPage> = (
-
+
>
]
);
- const endringAarsak: EndringAarsak = useBoundStore((state) => state.bruttoinntekt.endringAarsak);
+ const endringAarsak: EndringAarsak | undefined = useBoundStore((state) => state.bruttoinntekt.endringAarsak);
const [senderInn, setSenderInn] = useState(false);
const [ingenTilgangOpen, setIngenTilgangOpen] = useState(false);
@@ -129,11 +129,11 @@ const Endring: NextPage>
: refusjonEndringer;
const refusjonPrMnd = !nyInnsending
- ? lonnISykefravaeret!.beloep ?? bruttoinntekt?.bruttoInntekt
+ ? (lonnISykefravaeret!.beloep ?? bruttoinntekt?.bruttoInntekt)
: refusjonEndringer
?.filter((endring) => {
if (!endring.dato) return false;
- return !isAfter(endring.dato, foersteDatoForRefusjon);
+ return !isAfter(endring.dato, foersteDatoForRefusjon!);
})
.map((endring) => {
return {
@@ -145,11 +145,15 @@ const Endring: NextPage>
return a.dato && b.dato ? (a.dato < b.dato ? 1 : -1) : 0;
})[0]?.beloep;
- const aktiveRefusjonEndringer = nyInnsending
- ? refusjonEndringerUtenSkjaeringstidspunkt && refusjonEndringerUtenSkjaeringstidspunkt.length > 0
- ? refusjonEndringerUtenSkjaeringstidspunkt
- : [{ beloep: undefined, dato: undefined }]
- : refusjonEndringer;
+ let aktiveRefusjonEndringer;
+ if (nyInnsending) {
+ aktiveRefusjonEndringer =
+ refusjonEndringerUtenSkjaeringstidspunkt && refusjonEndringerUtenSkjaeringstidspunkt.length > 0
+ ? refusjonEndringerUtenSkjaeringstidspunkt
+ : [{ beloep: undefined, dato: undefined }];
+ } else {
+ aktiveRefusjonEndringer = refusjonEndringer;
+ }
const opprinneligRefusjonskravetOpphoererStatus = opprinneligRefusjonskravetOpphoerer?.status;
const opprinneligRefusjonskravetOpphoererDato = opprinneligRefusjonskravetOpphoerer?.opphoersdato;
@@ -347,7 +351,7 @@ const Endring: NextPage>
unregister('inntekt.endringAarsak');
setValue('inntekt.beloep', bruttoinntekt.bruttoInntekt);
}
- }, [harEndringBruttoloenn, unregister, register, setValue, bruttoinntekt.bruttoInntekt]);
+ }, [harEndringBruttoloenn, unregister, setValue, bruttoinntekt.bruttoInntekt]);
return (
@@ -556,14 +560,6 @@ const Endring: NextPage
>
export default Endring;
-function mapEndringsAarsakPeriodeTilPeriode(skjemaData: z.infer): Periode[] {
- return skjemaData.inntekt.endringAarsak.perioder.map((periode) => ({
- fom: parseIsoDate(periode.fom),
- tom: parseIsoDate(periode.tom),
- id: periode.fom + '-' + periode.tom
- }));
-}
-
export function finnFoersteFravaersdag(
foreslaattBestemmendeFravaersdag: Date,
mottattBestemmendeFravaersdag?: TDateISODate,
diff --git a/pages/initiering2/index.tsx b/pages/initiering2/index.tsx
index ad34011b..e9f38e6f 100644
--- a/pages/initiering2/index.tsx
+++ b/pages/initiering2/index.tsx
@@ -12,7 +12,7 @@ import lokalStyles from './initiering.module.css';
import TextLabel from '../../components/TextLabel';
import BannerUtenVelger from '../../components/BannerUtenVelger/BannerUtenVelger';
-import { useRef } from 'react';
+import { useRef, useState } from 'react';
import SelectArbeidsgiver, { ArbeidsgiverSelect } from '../../components/SelectArbeidsgiver/SelectArbeidsgiver';
import FeilListe, { Feilmelding } from '../../components/Feilsammendrag/FeilListe';
import useBoundStore from '../../state/useBoundStore';
@@ -25,9 +25,7 @@ import { SkjemaStatus } from '../../state/useSkjemadataStore';
import { PersonnummerSchema } from '../../validators/validerAapenInnsending';
import formatRHFFeilmeldinger from '../../utils/formatRHFFeilmeldinger';
import PeriodeVelger from '../../components/PeriodeVelger/PeriodeVelger';
-import { PeriodeSchema } from '../../validators/validerFulltSkjema';
import { MottattPeriode } from '../../state/MottattData';
-import parseIsoDate from '../../utils/parseIsoDate';
import { differenceInDays } from 'date-fns';
import isMod11Number from '../../utils/isMod10Number';
import numberOfDaysInRanges from '../../utils/numberOfDaysInRanges';
@@ -42,6 +40,7 @@ const Initiering2: NextPage = () => {
const initFravaersperiode = useBoundStore((state) => state.initFravaersperiode);
const tilbakestillArbeidsgiverperiode = useBoundStore((state) => state.tilbakestillArbeidsgiverperiode);
const router = useRouter();
+ const [isLoading, setIsLoading] = useState(false);
let arbeidsforhold: ArbeidsgiverSelect[] = [];
let perioder: { fom: Date; tom: Date; id: string }[] = [];
@@ -49,6 +48,19 @@ const Initiering2: NextPage = () => {
let fulltNavn = '';
const backendFeil = useRef([] as Feilmelding[]);
+ const PeriodeSchema = z
+ .object({
+ fom: z.date({
+ required_error: 'Vennligst fyll inn fra dato',
+ invalid_type_error: 'Dette er ikke en dato'
+ }),
+ tom: z.date({
+ required_error: 'Vennligst fyll inn til dato',
+ invalid_type_error: 'Dette er ikke en dato'
+ })
+ })
+ .refine((val) => val.fom <= val.tom, { message: 'Fra dato må være før til dato', path: ['fom'] });
+
const skjemaSchema = z
.object({
organisasjonsnummer: z
@@ -98,10 +110,7 @@ const Initiering2: NextPage = () => {
}
for (let i = 0; i < sortedPerioder.length - 1; i++) {
- if (
- Math.abs(differenceInDays(parseIsoDate(sortedPerioder[i].tom), parseIsoDate(sortedPerioder[i + 1].fom))) >
- 16
- ) {
+ if (Math.abs(differenceInDays(sortedPerioder[i].tom, sortedPerioder[i + 1].fom)) > 16) {
ctx.addIssue({
code: z.ZodIssueCode.custom,
message: 'Det kan ikke være mer enn 16 dager mellom periodene',
@@ -137,24 +146,27 @@ const Initiering2: NextPage = () => {
organisasjonsnummer: formData.organisasjonsnummer,
fulltNavn: mottatteData.data.fulltNavn,
personnummer: identitetsnummer,
- perioder: formData.perioder.map((periode) => {
- return {
- fom: parseIsoDate(periode.fom),
- tom: parseIsoDate(periode.tom)
- };
- })
+ perioder: formData.perioder
+ ? formData.perioder.map((periode) => {
+ return {
+ fom: periode.fom,
+ tom: periode.tom
+ };
+ })
+ : []
};
const validationResult = skjema.safeParse(skjemaData);
if (validationResult.success) {
- const validert = validationResult.data;
+ setIsLoading(true);
+ const validerteData = validationResult.data;
const orgNavn = arbeidsforhold.find(
- (arbeidsgiver) => arbeidsgiver.orgnrUnderenhet === validert.organisasjonsnummer
+ (arbeidsgiver) => arbeidsgiver.orgnrUnderenhet === validerteData.organisasjonsnummer
)?.virksomhetsnavn!;
- initPerson(validert.fulltNavn, validert.personnummer, validert.organisasjonsnummer, orgNavn);
+ initPerson(validerteData.fulltNavn, validerteData.personnummer, validerteData.organisasjonsnummer, orgNavn);
setSkjemaStatus(SkjemaStatus.SELVBESTEMT);
- initFravaersperiode(validert.perioder as MottattPeriode[]);
+ initFravaersperiode(validerteData.perioder as MottattPeriode[]);
tilbakestillArbeidsgiverperiode();
router.push('/arbeidsgiverInitiertInnsending');
}
@@ -274,7 +286,12 @@ const Initiering2: NextPage = () => {
-
diff --git a/pages/kvittering/[kvittid].tsx b/pages/kvittering/[kvittid].tsx
index 3580e146..b88983c3 100644
--- a/pages/kvittering/[kvittid].tsx
+++ b/pages/kvittering/[kvittid].tsx
@@ -147,11 +147,11 @@ const Kvittering: NextPage
@@ -226,12 +226,7 @@ const Kvittering: NextPageEndret med årsak
{formatBegrunnelseEndringBruttoinntekt(bruttoinntekt.endringAarsak.aarsak as string)}
-