From 15d28986f12784e3dfc46ef4ce856c170d394049 Mon Sep 17 00:00:00 2001 From: Siri Mykland Date: Tue, 11 Nov 2025 18:50:09 +0100 Subject: [PATCH 1/5] TFP-6042: rydd i prosess-panel part 1 --- .../src/vilkar/ProsessPanelTemplate.tsx | 78 ++++--- .../felles/src/vilkar/VilkarResultPicker.tsx | 46 ++-- .../vilkar/prosessPanelTemplate.module.css | 9 +- .../src/vilkar/vilkarResultPicker.module.css | 18 +- .../src/components/FodselVilkarForm.tsx | 12 +- .../OpptjeningVilkarAksjonspunktPanel.tsx | 42 ++-- .../vilkar-overstyring/i18n/nb_NO.json | 1 + .../VilkarresultatMedOverstyringForm.tsx | 1 + .../i18n/nb_NO.json | 4 +- ...pplysningspliktVilkarProsessIndex.spec.tsx | 5 +- .../src/components/MangledeVedlegg.tsx | 23 +- .../components/SokersOpplysningspliktForm.tsx | 15 +- .../vilkar-soknadsfrist/i18n/nb_NO.json | 11 +- .../prosess/vilkar-soknadsfrist/package.json | 2 - .../SoknadsfristVilkarProsessIndex.spec.tsx | 14 +- ...SoknadsfristVilkarProsessIndex.stories.tsx | 11 +- .../ErSoknadsfristVilkaretOppfyltForm.tsx | 202 ++++++------------ .../S\303\270knadsfristDetaljer.tsx" | 63 ++++++ ...SoknadsfristVilkaretOppfyltForm.module.css | 19 -- .../src/components/SvangerskapVilkarForm.tsx | 23 +- yarn.lock | 1 - 21 files changed, 294 insertions(+), 306 deletions(-) create mode 100644 "packages/prosess/vilkar-soknadsfrist/src/components/S\303\270knadsfristDetaljer.tsx" delete mode 100644 packages/prosess/vilkar-soknadsfrist/src/components/erSoknadsfristVilkaretOppfyltForm.module.css diff --git a/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx b/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx index 0b61f8ea51a..60251aa635f 100644 --- a/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx +++ b/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx @@ -14,15 +14,15 @@ import messages from '../../i18n/nb_NO.json'; const intl = createIntl(messages); interface Props { - title: string; - lovReferanse?: string; + title: ReactNode; + lovReferanse: string | undefined; harÅpentAksjonspunkt: boolean; isSubmittable: boolean; - originalErVilkårOk?: boolean; + originalErVilkårOk: boolean | undefined; erIkkeGodkjentAvBeslutter: boolean; - rendreFakta?: () => ReactNode; + rendreFakta?: ReactNode; isReadOnly: boolean; - isDirty?: boolean; + isDirty: boolean; isSubmitting: boolean; children: ReactNode | ReactNode[]; } @@ -40,7 +40,6 @@ export const ProsessPanelTemplate = ({ isSubmitting, children, }: Props) => ( - {originalErVilkårOk !== undefined && ( <> @@ -48,35 +47,44 @@ export const ProsessPanelTemplate = ({ {!originalErVilkårOk && } )} - - {title} - - {lovReferanse && {lovReferanse}} - - - {originalErVilkårOk && } - {originalErVilkårOk === false && ( - - )} - {!harÅpentAksjonspunkt && originalErVilkårOk === undefined && ( - {intl.formatMessage({ id: 'ProsessPanelTemplate.IkkeBehandlet' })} - )} - - -
{children}
- + + + {title} + + {lovReferanse && {lovReferanse}} + + + {!harÅpentAksjonspunkt && ( + + {originalErVilkårOk && ( + + )} + {originalErVilkårOk === false && ( + + )} + {originalErVilkårOk === undefined && ( + {intl.formatMessage({ id: 'ProsessPanelTemplate.IkkeBehandlet' })} + )} + + )} + + + +
{children}
+ +
+
+ {rendreFakta}
-
- {rendreFakta?.()} -
+ ); diff --git a/packages/prosess/felles/src/vilkar/VilkarResultPicker.tsx b/packages/prosess/felles/src/vilkar/VilkarResultPicker.tsx index 1d1492c189b..94f7c3d72b6 100644 --- a/packages/prosess/felles/src/vilkar/VilkarResultPicker.tsx +++ b/packages/prosess/felles/src/vilkar/VilkarResultPicker.tsx @@ -1,9 +1,9 @@ -import { type ReactElement } from 'react'; +import { type ReactElement, type ReactNode } from 'react'; import { useFormContext } from 'react-hook-form'; import { CheckmarkIcon, XMarkOctagonIcon } from '@navikt/aksel-icons'; -import { BodyShort, HStack, Radio, VStack } from '@navikt/ds-react'; -import { RhfRadioGroup, RhfSelect } from '@navikt/ft-form-hooks'; +import { BodyShort, Radio, VStack } from '@navikt/ds-react'; +import { ReadOnlyField, RhfRadioGroup, RhfSelect } from '@navikt/ft-form-hooks'; import { required, requiredIfCustomFunctionIsTrueNew } from '@navikt/ft-form-validators'; import { createIntl } from '@navikt/ft-utils'; @@ -23,6 +23,7 @@ export type VilkarResultPickerFormValues = { interface Props { vilkår: Vilkar | undefined; + legend: ReactNode; customVilkårIkkeOppfyltText: string | ReactElement; customVilkårOppfyltText: string | ReactElement; isReadOnly: boolean; @@ -32,6 +33,7 @@ interface Props { export const VilkarResultPicker = ({ vilkår, + legend, customVilkårIkkeOppfyltText, customVilkårOppfyltText, isReadOnly, @@ -50,27 +52,33 @@ export const VilkarResultPicker = ({ return ( {isReadOnly && erVilkårOk !== undefined && ( - - {erVilkårOk && ( - <> - - {customVilkårOppfyltText} - - )} - {!erVilkårOk && ( - <> - - {customVilkårIkkeOppfyltText} - - )} - + + + + {customVilkårOppfyltText} + + + ) : ( + <> + + + {customVilkårIkkeOppfyltText} + + + ) + } + /> )} {(!isReadOnly || erVilkårOk === undefined) && ( diff --git a/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css b/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css index e21266ebaa9..247f1a6470a 100644 --- a/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css +++ b/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css @@ -1,10 +1,5 @@ -.vilkar { - margin-top: 3px; -} - -.aksjonspunktMargin { +.lukketAksjonspunktMargin { margin-left: -20px; - min-width: 400px; } .godkjentImage { @@ -14,7 +9,7 @@ } .avslattImage { - color: var(--ax-danger-400); + color: var(--ax-danger-500); height: 25px; width: 25px; } diff --git a/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css b/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css index d5c28b81bdd..cac034a00c9 100644 --- a/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css +++ b/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css @@ -1,15 +1,19 @@ .godkjentImage { - color: var(--ax-bg-success-strong); - height: 20px; - width: 20px; + color: var(--ax-bg-success-strong); + margin-right: 8px; + vertical-align: text-top; + height: 20px; + width: 20px; } .avslattImage { - color: var(--ax-danger-500); - height: 20px; - width: 20px; + color: var(--ax-danger-500); + margin-right: 8px; + vertical-align: text-top; + height: 20px; + width: 20px; } .selectBredde { - width: 400px; + width: 400px; } diff --git a/packages/prosess/vilkar-fodsel/src/components/FodselVilkarForm.tsx b/packages/prosess/vilkar-fodsel/src/components/FodselVilkarForm.tsx index b34d81b8341..830dd939236 100644 --- a/packages/prosess/vilkar-fodsel/src/components/FodselVilkarForm.tsx +++ b/packages/prosess/vilkar-fodsel/src/components/FodselVilkarForm.tsx @@ -1,7 +1,7 @@ import { useForm } from 'react-hook-form'; -import { FormattedMessage, useIntl } from 'react-intl'; +import { FormattedMessage } from 'react-intl'; -import { Label, VStack } from '@navikt/ds-react'; +import { VStack } from '@navikt/ds-react'; import { RhfForm } from '@navikt/ft-form-hooks'; import { BTag } from '@navikt/ft-utils'; @@ -30,8 +30,6 @@ interface Props { * Setter opp aksjonspunktet for avklaring av Fødselsvilkåret. */ export const FodselVilkarForm = ({ status }: Props) => { - const intl = useIntl(); - const { behandling, isSubmittable, @@ -62,7 +60,7 @@ export const FodselVilkarForm = ({ status }: Props) => { setDataOnUnmount={setMellomlagretFormData} > } harÅpentAksjonspunkt={harÅpentAksjonspunkt} isSubmittable={isSubmittable} isReadOnly={isReadOnly} @@ -73,11 +71,9 @@ export const FodselVilkarForm = ({ status }: Props) => { isSubmitting={formMethods.formState.isSubmitting} > - } isReadOnly={isReadOnly} customVilkårOppfyltText={} customVilkårIkkeOppfyltText={} diff --git a/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx b/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx index c86b36042aa..72c7ffd95a9 100644 --- a/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx +++ b/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx @@ -1,7 +1,7 @@ import { useForm } from 'react-hook-form'; import { FormattedMessage, useIntl } from 'react-intl'; -import { Label, VStack } from '@navikt/ds-react'; +import { VStack } from '@navikt/ds-react'; import { RhfForm } from '@navikt/ft-form-hooks'; import { BTag } from '@navikt/ft-utils'; @@ -67,20 +67,10 @@ export const OpptjeningVilkarAksjonspunktPanel = ({ status, fastsattOpptjening, return null; }; - const rendreFakta = () => ( - - ); - return ( } harÅpentAksjonspunkt={harÅpentAksjonspunkt} isSubmittable={isSubmittable} isReadOnly={isReadOnly} @@ -89,21 +79,29 @@ export const OpptjeningVilkarAksjonspunktPanel = ({ status, fastsattOpptjening, erIkkeGodkjentAvBeslutter={erIkkeGodkjentAvBeslutter} isDirty={formMethods.formState.isDirty} isSubmitting={formMethods.formState.isSubmitting} - rendreFakta={rendreFakta} - > - + } + > + } isReadOnly={isReadOnly} customVilkårOppfyltText={ diff --git a/packages/prosess/vilkar-overstyring/i18n/nb_NO.json b/packages/prosess/vilkar-overstyring/i18n/nb_NO.json index 36f6e63469f..014e949358c 100644 --- a/packages/prosess/vilkar-overstyring/i18n/nb_NO.json +++ b/packages/prosess/vilkar-overstyring/i18n/nb_NO.json @@ -1,4 +1,5 @@ { + "VilkarresultatMedOverstyringForm.ErVilkåretOppfylt": "Er vilkåret oppfylt?", "VilkarresultatMedOverstyringForm.ErOppfylt": "Vilkåret er oppfylt", "VilkarresultatMedOverstyringForm.ErIkkeOppfylt": "Vilkåret er avslått", "VilkarresultatMedOverstyringForm.IkkeBehandlet": "Ikke behandlet", diff --git a/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx b/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx index d150b799a88..3d93e7a884b 100644 --- a/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx +++ b/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx @@ -224,6 +224,7 @@ export const VilkarresultatMedOverstyringForm = ({ ) : ( } isReadOnly={overrideReadOnly || !erOverstyrt} customVilkårOppfyltText={} customVilkårIkkeOppfyltText={ diff --git a/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json b/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json index 9754e5bb272..d26327a95d8 100644 --- a/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json +++ b/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json @@ -1,8 +1,10 @@ { "SokersOpplysningspliktForm.SokersOpplysningsplikt": "Søkers opplysningsplikt", "SokersOpplysningspliktForm.UtfyllendeOpplysninger": "Vurder om søker har oppfylt opplysningsplikten etter § 21-3", + "SokersOpplysningspliktForm.ErVilkåretOppfylt": "Er vilkåret oppfylt?", "SokersOpplysningspliktForm.VilkarOppfylt": "Vilkåret er oppfylt", "SokersOpplysningspliktForm.VilkarIkkeOppfylt": "Vilkåret er ikke oppfylt {br}Manglende opplysninger, foreslå avslag", - "MangledeVedlegg.Tittel": "Manglende dokumentasjon", + "SokersOpplysningspliktForm.AksjonspunktTittel": "Det mangler dokumentasjon", + "MangledeVedlegg.Tittel": "Dokumenter som mangler", "MangledeVedlegg.Arbeidsgiver": " fra {arbeidsgiverNavn}" } diff --git a/packages/prosess/vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.spec.tsx b/packages/prosess/vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.spec.tsx index 30429aee345..cb745b763e7 100644 --- a/packages/prosess/vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.spec.tsx +++ b/packages/prosess/vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.spec.tsx @@ -11,7 +11,7 @@ describe('SokersOpplysningspliktVilkarProsessIndex', () => { render(); expect(await screen.findByText('Søkers opplysningsplikt')).toBeInTheDocument(); - expect(screen.getAllByText( 'Vilkåret er oppfylt')).toHaveLength(2); + expect(screen.getAllByText('Vilkåret er oppfylt')).toHaveLength(2); expect(screen.queryByText(/ikke/)).not.toBeInTheDocument(); expect(screen.getByText('Dette er en begrunnelse')).toBeInTheDocument(); expect(screen.queryByText('Bekreft og fortsett')).not.toBeInTheDocument(); @@ -32,7 +32,8 @@ describe('SokersOpplysningspliktVilkarProsessIndex', () => { render(); expect(await screen.findByText('Søkers opplysningsplikt')).toBeInTheDocument(); - expect(screen.getByText('Manglende dokumentasjon')).toBeInTheDocument(); + expect(screen.getByText('Dokumenter som mangler')).toBeInTheDocument(); + expect(screen.getByText('Fødselsattest')).toBeInTheDocument(); expect(screen.getByText('Inntektsmelding fra arbeidsgiver1 (1234)...1234')).toBeInTheDocument(); const vurderingInput = screen.getByLabelText('Vurdering'); diff --git a/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/MangledeVedlegg.tsx b/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/MangledeVedlegg.tsx index cae430aea5a..49cad47f503 100644 --- a/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/MangledeVedlegg.tsx +++ b/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/MangledeVedlegg.tsx @@ -1,6 +1,6 @@ import { FormattedMessage } from 'react-intl'; -import { Alert, Heading, List } from '@navikt/ds-react'; +import { Box, Label, List } from '@navikt/ds-react'; import { formaterArbeidsgiver } from '@navikt/ft-utils'; import type { ArbeidsgiverOpplysningerPerId, ManglendeVedleggSoknad, Soknad } from '@navikt/fp-types'; @@ -12,12 +12,15 @@ interface Props { export const MangledeVedlegg = ({ søknad, arbeidsgiverOpplysningerPerId }: Props) => { const sorterteManglendeVedlegg = getSortedManglendeVedlegg(søknad); + if (søknad.manglendeVedlegg.length === 0) { + return null; + } return ( - - + + - + + {sorterteManglendeVedlegg.map(vedlegg => ( {vedlegg.dokumentTittel} @@ -32,7 +35,7 @@ export const MangledeVedlegg = ({ søknad, arbeidsgiverOpplysningerPerId }: Prop ))} - + ); }; @@ -40,13 +43,9 @@ const formatArbeidsgiver = ( arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId, arbeidsgiverReferanse: string | undefined, ): string => { - const opplysninger = arbeidsgiverReferanse - ? arbeidsgiverOpplysningerPerId[arbeidsgiverReferanse] - : undefined; + const opplysninger = arbeidsgiverReferanse ? arbeidsgiverOpplysningerPerId[arbeidsgiverReferanse] : undefined; - return opplysninger - ? formaterArbeidsgiver(opplysninger, arbeidsgiverReferanse) - : ''; + return opplysninger ? formaterArbeidsgiver(opplysninger, arbeidsgiverReferanse) : ''; }; const getSortedManglendeVedlegg = (soknad: Soknad): ManglendeVedleggSoknad[] => diff --git a/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx b/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx index fbdcc7f766f..69c735e181c 100644 --- a/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx +++ b/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx @@ -1,5 +1,5 @@ import { useForm } from 'react-hook-form'; -import { FormattedMessage, useIntl } from 'react-intl'; +import { FormattedMessage } from 'react-intl'; import { VStack } from '@navikt/ds-react'; import { RhfForm } from '@navikt/ft-form-hooks'; @@ -17,7 +17,7 @@ import type { Aksjonspunkt, ArbeidsgiverOpplysningerPerId, Behandlingsresultat, import type { OverstyringSokersOpplysingspliktAp } from '@navikt/fp-types-avklar-aksjonspunkter'; import { useMellomlagretFormData, usePanelDataContext } from '@navikt/fp-utils'; -import { MangledeVedlegg } from './MangledeVedlegg.tsx'; +import { MangledeVedlegg } from './MangledeVedlegg'; type FormValues = ProsessStegBegrunnelseTextFieldFormValues & VilkarResultPickerFormValues; @@ -33,10 +33,9 @@ interface Props { * Informasjon om søkers informasjonsplikt er godkjent eller avvist. */ export const SokersOpplysningspliktForm = ({ søknad, status, arbeidsgiverOpplysningerPerId }: Props) => { - const intl = useIntl(); - const { aksjonspunkterForPanel, + vilkårForPanel, isSubmittable, submitCallback, alleMerknaderFraBeslutter, @@ -67,21 +66,21 @@ export const SokersOpplysningspliktForm = ({ søknad, status, arbeidsgiverOpplys setDataOnUnmount={setMellomlagretFormData} > } harÅpentAksjonspunkt={harÅpentAksjonspunkt} + lovReferanse={vilkårForPanel[0]?.lovReferanse} isSubmittable={isSubmittable} isReadOnly={isReadOnly} originalErVilkårOk={originalErVilkårOk} erIkkeGodkjentAvBeslutter={erIkkeGodkjentAvBeslutter} isDirty={formMethods.formState.isDirty} isSubmitting={formMethods.formState.isSubmitting} + rendreFakta={} > - {søknad.manglendeVedlegg.length > 0 && ( - - )} } isReadOnly={isReadOnly} skalKunneInnvilge={hasSoknad} customVilkårOppfyltText={} diff --git a/packages/prosess/vilkar-soknadsfrist/i18n/nb_NO.json b/packages/prosess/vilkar-soknadsfrist/i18n/nb_NO.json index 3d513ce915a..897b42787db 100644 --- a/packages/prosess/vilkar-soknadsfrist/i18n/nb_NO.json +++ b/packages/prosess/vilkar-soknadsfrist/i18n/nb_NO.json @@ -5,16 +5,15 @@ "ErSoknadsfristVilkaretOppfyltForm.Question2": "Har Nav gitt misvisende opplysninger?", "ErSoknadsfristVilkaretOppfyltForm.Question3": "Har søker åpenbart ikke vært i stand til å sette frem krav?", "ErSoknadsfristVilkaretOppfyltForm.MottattDato": "Dato for mottatt søknad", + "ErSoknadsfristVilkaretOppfyltForm.Søknadsfrist": "Søknadsfrist", "ErSoknadsfristVilkaretOppfyltForm.Omsorgsovertakelsesdato": "Dato for omsorgsovertakelse", "ErSoknadsfristVilkaretOppfyltForm.Fodselsdato": "Fødselsdato", "ErSoknadsfristVilkaretOppfyltForm.Termindato": "Termindato", "ErSoknadsfristVilkaretOppfyltForm.ExplanationFromApplication": "Begrunnelse fra søknaden", - "ErSoknadsfristVilkaretOppfyltForm.ApplicationReceivedPart1": "Søknaden ble mottatt ", - "ErSoknadsfristVilkaretOppfyltForm.ApplicationReceivedPart2": "{numberOfDays} dager ", - "ErSoknadsfristVilkaretOppfyltForm.ApplicationReceivedPart3": "etter søknadsfristen ", + "ErSoknadsfristVilkaretOppfyltForm.FaktaKortTittel": "Detaljer om søknadsfristen", + "ErSoknadsfristVilkaretOppfyltForm.ApplicationReceivedPart": "Søknaden ble mottatt {numberOfDays} dager etter søknadsfristen", "ErSoknadsfristVilkaretOppfyltForm.SokersOpplysningsplikt": "Søkers opplysningsplikt", + "ErSoknadsfristVilkaretOppfyltForm.VilkårTittel": "Er søknadsfristvilkåret oppfylt?", "ErSoknadsfristVilkaretOppfyltForm.VilkarOppfylt": "Vilkåret er oppfylt", - "ErSoknadsfristVilkaretOppfyltForm.VilkarIkkeOppfylt": "Vilkåret er ikke oppfylt", - - "ShowVilkarStatus.Check": "Informasjonen er utfylt" + "ErSoknadsfristVilkaretOppfyltForm.VilkarIkkeOppfylt": "Vilkåret er ikke oppfylt" } diff --git a/packages/prosess/vilkar-soknadsfrist/package.json b/packages/prosess/vilkar-soknadsfrist/package.json index 43e940c57db..2deac7b0f55 100644 --- a/packages/prosess/vilkar-soknadsfrist/package.json +++ b/packages/prosess/vilkar-soknadsfrist/package.json @@ -12,7 +12,6 @@ "tsc": "tsc --pretty", "eslint": "eslint src/**/*.ts* --color", "eslint:fix": "eslint --fix src/**/*.ts* --color", - "stylelint": "stylelint src/**/*.module.css", "prettier": "prettier --write src", "clean": "rm -rf ./dist ./node_modules ./.turbo ./.storybook-static-build", "build-storybook": "storybook build -o .storybook-static-build", @@ -47,7 +46,6 @@ "@testing-library/user-event": "14.6.1", "eslint": "9.39.0", "storybook": "10.0.2", - "stylelint": "16.25.0", "typescript": "5.9.3", "vite": "7.1.12", "vitest": "4.0.6" diff --git a/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx b/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx index c25dee28f20..3a403d280cc 100644 --- a/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx +++ b/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx @@ -12,10 +12,7 @@ describe('SoknadsfristVilkarProsessIndex', () => { render(<ÅpentAksjonspunkt submitCallback={lagre} />); - expect(await screen.findByText('Søknadsfrist')).toBeInTheDocument(); - expect(screen.getByText(/Søknaden ble mottatt/)).toBeInTheDocument(); - expect(screen.getByText(/2 dager/)).toBeInTheDocument(); - expect(screen.getByText(/etter søknadsfristen/)).toBeInTheDocument(); + expect(screen.getByText(/Søknaden ble mottatt 2 dager etter søknadsfristen/)).toBeInTheDocument(); expect(screen.getByText(/30.12.2018/)).toBeInTheDocument(); expect(screen.getByText('Vurder følgende')).toBeInTheDocument(); expect(screen.getByText('01.01.2019')).toBeInTheDocument(); @@ -40,9 +37,8 @@ describe('SoknadsfristVilkarProsessIndex', () => { it('skal vise at vilkår er oppfylt', async () => { render(); - expect(await screen.findByText('Søknadsfrist')).toBeInTheDocument(); - expect(screen.getByLabelText('Vilkåret er oppfylt')).toBeChecked(); - expect(screen.getByLabelText('Vilkåret er ikke oppfylt')).not.toBeChecked(); + expect(screen.getByText('Er søknadsfristvilkåret oppfylt?')).toBeInTheDocument(); + expect(screen.getAllByText('Vilkåret er oppfylt')).toHaveLength(2); expect(screen.getByText('Dette vilkåret er godkjent')).toBeInTheDocument(); expect(screen.queryByText('Bekreft og fortsett')).not.toBeInTheDocument(); }); @@ -50,8 +46,8 @@ describe('SoknadsfristVilkarProsessIndex', () => { it('skal vise at vilkår er avslått', async () => { render(); - expect(await screen.findByText('Søknadsfrist')).toBeInTheDocument(); - expect(screen.getAllByText(/ikke/)).toHaveLength(2); + expect(screen.getByText('Er søknadsfristvilkåret oppfylt?')).toBeInTheDocument(); + expect(screen.getByText(/ikke/)).toBeInTheDocument(); expect(screen.getByText('Dette vilkåret er avslått')).toBeInTheDocument(); expect(screen.queryByText('Bekreft og fortsett')).not.toBeInTheDocument(); }); diff --git a/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx b/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx index b48ab1337a1..82856d7f10d 100644 --- a/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx +++ b/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx @@ -5,6 +5,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { AksjonspunktKode } from '@navikt/fp-kodeverk'; import { lagAksjonspunkt, + lagVilkår, type PanelDataArgs, withMellomlagretFormData, withPanelData, @@ -21,7 +22,7 @@ const soknad = { utledetSøknadsfrist: '2019-07-01', dagerOversittetFrist: 2, }, - manglendeVedlegg: [] + manglendeVedlegg: [], } as Soknad; const familiehendelse = { @@ -47,6 +48,7 @@ type Story = StoryObj; export const ÅpentAksjonspunkt: Story = { args: { aksjonspunkterForPanel: [lagAksjonspunkt(AksjonspunktKode.MANUELL_VURDERING_AV_SØKNADSFRISTVILKÅRET)], + vilkårForPanel: [lagVilkår('FP_VK_3', { vilkarStatus: 'IKKE_VURDERT' })], isReadOnly: false, status: 'IKKE_VURDERT', }, @@ -55,12 +57,12 @@ export const ÅpentAksjonspunkt: Story = { export const OppfyltVilkår: Story = { args: { aksjonspunkterForPanel: [ - lagAksjonspunkt(AksjonspunktKode.MANUELL_VURDERING_AV_SØKNADSFRISTVILKÅRET, - { + lagAksjonspunkt(AksjonspunktKode.MANUELL_VURDERING_AV_SØKNADSFRISTVILKÅRET, { status: 'UTFO', begrunnelse: 'Dette vilkåret er godkjent', - }) + }), ], + vilkårForPanel: [lagVilkår('FP_VK_3', { vilkarStatus: 'OPPFYLT' })], isReadOnly: true, isSubmittable: false, status: 'OPPFYLT', @@ -82,6 +84,7 @@ export const AvslåttVilkår: Story = { begrunnelse: 'Dette vilkåret er avslått', }), ], + vilkårForPanel: [lagVilkår('FP_VK_3', { vilkarStatus: 'IKKE_OPPFYLT' })], isReadOnly: true, isSubmittable: false, status: 'IKKE_OPPFYLT', diff --git a/packages/prosess/vilkar-soknadsfrist/src/components/ErSoknadsfristVilkaretOppfyltForm.tsx b/packages/prosess/vilkar-soknadsfrist/src/components/ErSoknadsfristVilkaretOppfyltForm.tsx index a4a578de077..408708c9ce7 100644 --- a/packages/prosess/vilkar-soknadsfrist/src/components/ErSoknadsfristVilkaretOppfyltForm.tsx +++ b/packages/prosess/vilkar-soknadsfrist/src/components/ErSoknadsfristVilkaretOppfyltForm.tsx @@ -1,63 +1,40 @@ import { useForm } from 'react-hook-form'; -import { FormattedMessage, useIntl } from 'react-intl'; +import { FormattedMessage } from 'react-intl'; -import { BodyShort, Box, Detail, Heading, HStack, Radio, VStack } from '@navikt/ds-react'; -import { RhfForm, RhfRadioGroup } from '@navikt/ft-form-hooks'; -import { required } from '@navikt/ft-form-validators'; -import { DateLabel } from '@navikt/ft-ui-komponenter'; -import { BTag, ISO_DATE_FORMAT } from '@navikt/ft-utils'; -import dayjs from 'dayjs'; +import { VStack } from '@navikt/ds-react'; +import { RhfForm } from '@navikt/ft-form-hooks'; +import { AksjonspunktHelpTextHTML } from '@navikt/ft-ui-komponenter'; +import { BTag } from '@navikt/ft-utils'; import { AksjonspunktKode } from '@navikt/fp-kodeverk'; import { + ProsessPanelTemplate, ProsessStegBegrunnelseTextField, type ProsessStegBegrunnelseTextFieldFormValues, - ProsessStegSubmitButton, + VilkarResultPicker, } from '@navikt/fp-prosess-felles'; -import type { Aksjonspunkt, FamilieHendelse, Soknad, VilkarUtfallType } from '@navikt/fp-types'; +import type { Aksjonspunkt, Behandlingsresultat, FamilieHendelse, Soknad, VilkarUtfallType } from '@navikt/fp-types'; import type { SoknadsfristAp } from '@navikt/fp-types-avklar-aksjonspunkter'; import { useMellomlagretFormData, usePanelDataContext } from '@navikt/fp-utils'; -import styles from './erSoknadsfristVilkaretOppfyltForm.module.css'; - -const findRadioButtonTextCode = (erVilkarOk?: boolean): string => - erVilkarOk - ? 'ErSoknadsfristVilkaretOppfyltForm.VilkarOppfylt' - : 'ErSoknadsfristVilkaretOppfyltForm.VilkarIkkeOppfylt'; - -const findSoknadsfristDate = (mottattDato: string, antallDagerSoknadLevertForSent: number): string => - dayjs(mottattDato).subtract(antallDagerSoknadLevertForSent, 'days').format(ISO_DATE_FORMAT); +import { SøknadsfristDetaljer } from './SøknadsfristDetaljer'; type FormValues = { erVilkarOk?: boolean; } & ProsessStegBegrunnelseTextFieldFormValues; -const findTextCode = (familiehendelse: FamilieHendelse): string => { - if (familiehendelse.fødselTermin) { - return familiehendelse.fødselTermin.fødselsdato - ? 'ErSoknadsfristVilkaretOppfyltForm.Fodselsdato' - : 'ErSoknadsfristVilkaretOppfyltForm.Termindato'; - } - return 'ErSoknadsfristVilkaretOppfyltForm.Omsorgsovertakelsesdato'; -}; - -const findDate = (familiehendelse: FamilieHendelse): string | undefined => { - return ( - familiehendelse.adopsjon?.omsorgsovertakelseDato || - familiehendelse.fødselTermin?.fødselsdato || - familiehendelse.fødselTermin?.termindato || - undefined - ); -}; - -const buildInitialValues = (aksjonspunkter: Aksjonspunkt[], status: VilkarUtfallType): FormValues => ({ - erVilkarOk: aksjonspunkter[0]?.status === 'OPPR' ? undefined : 'OPPFYLT' === status, +const buildInitialValues = ( + aksjonspunkter: Aksjonspunkt[], + status: VilkarUtfallType, + behandlingsresultat?: Behandlingsresultat, +): FormValues => ({ + ...VilkarResultPicker.buildInitialValues(aksjonspunkter, status, behandlingsresultat), ...ProsessStegBegrunnelseTextField.buildInitialValues(aksjonspunkter), }); const transformValues = (values: FormValues): SoknadsfristAp => ({ - erVilkarOk: values.erVilkarOk || false, kode: AksjonspunktKode.MANUELL_VURDERING_AV_SØKNADSFRISTVILKÅRET, + ...VilkarResultPicker.transformValues(values), ...ProsessStegBegrunnelseTextField.transformValues(values), }); @@ -73,23 +50,27 @@ interface Props { * Setter opp aksjonspunktet for vurdering av søknadsfristvilkåret. */ export const ErSoknadsfristVilkaretOppfyltForm = ({ soknad, gjeldendeFamiliehendelse, status }: Props) => { - const intl = useIntl(); - - const { isSubmittable, aksjonspunkterForPanel, behandling, isReadOnly, submitCallback, alleKodeverk } = - usePanelDataContext(); - - const initialValues = buildInitialValues(aksjonspunkterForPanel, status); + const { + isSubmittable, + aksjonspunkterForPanel, + alleMerknaderFraBeslutter, + vilkårForPanel, + harÅpentAksjonspunkt, + behandling, + isReadOnly, + submitCallback, + } = usePanelDataContext(); + + const initialValues = buildInitialValues(aksjonspunkterForPanel, status, behandling.behandlingsresultat); const { mellomlagretFormData, setMellomlagretFormData } = useMellomlagretFormData(); const formMethods = useForm({ defaultValues: mellomlagretFormData ?? initialValues, }); - const dato = findDate(gjeldendeFamiliehendelse); - const textCode = findTextCode(gjeldendeFamiliehendelse); - - const erVilkarOk = formMethods.watch('erVilkarOk'); - const antallDagerSoknadLevertForSent = soknad.søknadsfrist.dagerOversittetFrist; + const erIkkeGodkjentAvBeslutter = aksjonspunkterForPanel.some( + a => alleMerknaderFraBeslutter[a.definisjon]?.notAccepted, + ); return ( submitCallback(transformValues(values))} setDataOnUnmount={setMellomlagretFormData} > - - - - {intl.formatMessage({ id: 'ErSoknadsfristVilkaretOppfyltForm.Soknadsfrist' })} - - - - + } + lovReferanse={vilkårForPanel[0]?.lovReferanse} + originalErVilkårOk={aksjonspunkterForPanel[0]?.status === 'OPPR' ? undefined : 'OPPFYLT' === status} + harÅpentAksjonspunkt={harÅpentAksjonspunkt} + isSubmittable={isSubmittable} + isReadOnly={isReadOnly} + erIkkeGodkjentAvBeslutter={erIkkeGodkjentAvBeslutter} + isDirty={formMethods.formState.isDirty} + isSubmitting={formMethods.formState.isSubmitting} + rendreFakta={} + > + + {harÅpentAksjonspunkt && ( + - - - {soknad.mottattDato && antallDagerSoknadLevertForSent && ( - - )} - +
+ +
    + + + +
+
+ + )} + } + isReadOnly={isReadOnly} + customVilkårOppfyltText={} + customVilkårIkkeOppfyltText={ + + } + /> +
- - - - {intl.formatMessage({ id: 'ErSoknadsfristVilkaretOppfyltForm.Consider' })} - -
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
-
- - - {intl.formatMessage({ id: 'ErSoknadsfristVilkaretOppfyltForm.MottattDato' })} - {soknad.mottattDato && } - - - - {intl.formatMessage({ id: 'ErSoknadsfristVilkaretOppfyltForm.ExplanationFromApplication' })} - - {soknad.begrunnelseForSenInnsending ?? '-'} - - - - {textCode && {intl.formatMessage({ id: textCode })}} - {dato && } - -
- - - - - - - - - - - {isReadOnly && erVilkarOk === false && !!behandling.behandlingsresultat?.avslagsarsak && ( - - {alleKodeverk['Avslagsårsak'].find(type => type.kode === behandling.behandlingsresultat?.avslagsarsak) - ?.navn ?? ''} - - )} - - -
+
); }; diff --git "a/packages/prosess/vilkar-soknadsfrist/src/components/S\303\270knadsfristDetaljer.tsx" "b/packages/prosess/vilkar-soknadsfrist/src/components/S\303\270knadsfristDetaljer.tsx" new file mode 100644 index 00000000000..e5f1f71054a --- /dev/null +++ "b/packages/prosess/vilkar-soknadsfrist/src/components/S\303\270knadsfristDetaljer.tsx" @@ -0,0 +1,63 @@ +import { useIntl } from 'react-intl'; + +import { Box, HStack, VStack } from '@navikt/ds-react'; +import { ReadOnlyField } from '@navikt/ft-form-hooks'; +import { DateLabel } from '@navikt/ft-ui-komponenter'; +import { DDMMYYYY_DATE_FORMAT } from '@navikt/ft-utils'; +import dayjs from 'dayjs'; + +import type { FamilieHendelse, Soknad } from '@navikt/fp-types'; + +interface Props { + søknad: Soknad; + gjeldendeFamiliehendelse: FamilieHendelse; +} + +export const SøknadsfristDetaljer = ({ søknad, gjeldendeFamiliehendelse }: Props) => { + const intl = useIntl(); + const dato = findDate(gjeldendeFamiliehendelse); + const textCode = findTextCode(gjeldendeFamiliehendelse); + + return ( + + + + + } + /> + } /> + + + + + ); +}; + +const findTextCode = (familiehendelse: FamilieHendelse): string => { + if (familiehendelse.fødselTermin) { + return familiehendelse.fødselTermin.fødselsdato + ? 'ErSoknadsfristVilkaretOppfyltForm.Fodselsdato' + : 'ErSoknadsfristVilkaretOppfyltForm.Termindato'; + } + return 'ErSoknadsfristVilkaretOppfyltForm.Omsorgsovertakelsesdato'; +}; + +const findDate = (familiehendelse: FamilieHendelse): string | undefined => { + return ( + familiehendelse.adopsjon?.omsorgsovertakelseDato || + familiehendelse.fødselTermin?.fødselsdato || + familiehendelse.fødselTermin?.termindato || + undefined + ); +}; + +const findSoknadsfristDate = (mottattDato: string, antallDagerSoknadLevertForSent: number): string => + dayjs(mottattDato).subtract(antallDagerSoknadLevertForSent, 'days').format(DDMMYYYY_DATE_FORMAT); diff --git a/packages/prosess/vilkar-soknadsfrist/src/components/erSoknadsfristVilkaretOppfyltForm.module.css b/packages/prosess/vilkar-soknadsfrist/src/components/erSoknadsfristVilkaretOppfyltForm.module.css deleted file mode 100644 index 882539cef61..00000000000 --- a/packages/prosess/vilkar-soknadsfrist/src/components/erSoknadsfristVilkaretOppfyltForm.module.css +++ /dev/null @@ -1,19 +0,0 @@ -.days { - color: var(--ax-danger-700); -} - -.hyphen { - list-style-type: none; - margin-top: 0; - padding: 0; -} - -.hyphen > li:before { - content: '- '; -} - -.panel { - border: 1px solid var(--ax-neutral-200); - border-radius: 4px; - padding: 16px; -} diff --git a/packages/prosess/vilkar-svangerskap/src/components/SvangerskapVilkarForm.tsx b/packages/prosess/vilkar-svangerskap/src/components/SvangerskapVilkarForm.tsx index e8b2acf5462..429103a0a1c 100644 --- a/packages/prosess/vilkar-svangerskap/src/components/SvangerskapVilkarForm.tsx +++ b/packages/prosess/vilkar-svangerskap/src/components/SvangerskapVilkarForm.tsx @@ -1,8 +1,8 @@ import { useEffect } from 'react'; import { useForm } from 'react-hook-form'; -import { FormattedMessage, useIntl } from 'react-intl'; +import { FormattedMessage } from 'react-intl'; -import { Label, VStack } from '@navikt/ds-react'; +import { Detail, VStack } from '@navikt/ds-react'; import { RhfForm } from '@navikt/ft-form-hooks'; import { BTag } from '@navikt/ft-utils'; import dayjs from 'dayjs'; @@ -80,8 +80,6 @@ export const SvangerskapVilkarForm = ({ svangerskapspengerTilrettelegging, statu const finnesUttak = finnesInnvilgetUttak(svangerskapspengerTilrettelegging); - const intl = useIntl(); - const initialValues = buildInitialValues(aksjonspunkterForPanel, status, behandling.behandlingsresultat); const { mellomlagretFormData, setMellomlagretFormData } = useMellomlagretFormData(); @@ -106,8 +104,9 @@ export const SvangerskapVilkarForm = ({ svangerskapspengerTilrettelegging, statu setDataOnUnmount={setMellomlagretFormData} > } harÅpentAksjonspunkt={harÅpentAksjonspunkt} + lovReferanse={vilkårForPanel[0]?.lovReferanse} isSubmittable={isSubmittable} isReadOnly={isReadOnly} originalErVilkårOk={originalErVilkårOk} @@ -116,23 +115,21 @@ export const SvangerskapVilkarForm = ({ svangerskapspengerTilrettelegging, statu isSubmitting={formMethods.formState.isSubmitting} > - - {!finnesUttak && ( - - )} } skalKunneInnvilge={finnesUttak} customVilkårOppfyltText={} customVilkårIkkeOppfyltText={ } /> + {!finnesUttak && ( + + + + )} diff --git a/yarn.lock b/yarn.lock index b715855b566..2fbcd10afa9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3250,7 +3250,6 @@ __metadata: react-hook-form: 7.66.0 react-intl: 7.1.14 storybook: 10.0.2 - stylelint: 16.25.0 typescript: 5.9.3 vite: 7.1.12 vitest: 4.0.6 From b965e61e585eefb6f6c8333d7ea20ceb8443406a Mon Sep 17 00:00:00 2001 From: Siri Mykland Date: Tue, 11 Nov 2025 18:58:46 +0100 Subject: [PATCH 2/5] lint --- .../FagsakProfileIndex.stories.tsx | 6 +- .../src/OpptjeningFaktaIndex.stories.tsx | 12 +-- .../src/TilretteleggingFaktaIndex.stories.tsx | 4 +- ...prosessStegBegrunnelseTextField.module.css | 2 +- .../src/vilkar/ProsessPanelTemplate.tsx | 90 +++++++++---------- .../vilkar/prosessPanelTemplate.module.css | 14 +-- ...oknadsfristForeldrepengerIndex.stories.tsx | 2 +- .../forstegang/VedtakAvslagPanel.tsx | 3 +- .../VedtakAvslagArsakOgBegrunnelsePanel.tsx | 3 +- .../src/FodselVilkarProsessIndex.stories.tsx | 28 +++--- .../OpptjeningVilkarAksjonspunktPanel.tsx | 2 +- .../VilkarresultatMedOverstyringForm.tsx | 2 +- 12 files changed, 81 insertions(+), 87 deletions(-) diff --git a/apps/fp-frontend/src/fagsakprofile/FagsakProfileIndex.stories.tsx b/apps/fp-frontend/src/fagsakprofile/FagsakProfileIndex.stories.tsx index be6f077ddf1..86ca138dc78 100644 --- a/apps/fp-frontend/src/fagsakprofile/FagsakProfileIndex.stories.tsx +++ b/apps/fp-frontend/src/fagsakprofile/FagsakProfileIndex.stories.tsx @@ -9,7 +9,8 @@ import { LosUrl } from '@navikt/fp-los-saksbehandler'; import { alleKodeverk, alleKodeverkTilbakekreving, - getIntlDecorator, lagAksjonspunkt, + getIntlDecorator, + lagAksjonspunkt, withQueryClient, withRouter, } from '@navikt/fp-storybook-utils'; @@ -101,8 +102,7 @@ const ALLE_BEHANDLINGER = [ kontrollResultat: { kontrollresultat: 'HOY', }, - risikoAksjonspunkt: lagAksjonspunkt( - AksjonspunktKode.VURDER_FARESIGNALER,{ + risikoAksjonspunkt: lagAksjonspunkt(AksjonspunktKode.VURDER_FARESIGNALER, { kanLoses: false, erAktivt: false, }), diff --git a/packages/fakta/opptjening/src/OpptjeningFaktaIndex.stories.tsx b/packages/fakta/opptjening/src/OpptjeningFaktaIndex.stories.tsx index d6d3b0b06f1..0680adeb903 100644 --- a/packages/fakta/opptjening/src/OpptjeningFaktaIndex.stories.tsx +++ b/packages/fakta/opptjening/src/OpptjeningFaktaIndex.stories.tsx @@ -44,9 +44,7 @@ type Story = StoryObj; export const MedAksjonspunkt: Story = { args: { - aksjonspunkterForPanel: [ - lagAksjonspunkt(AksjonspunktKode.VURDER_PERIODER_MED_OPPTJENING), - ], + aksjonspunkterForPanel: [lagAksjonspunkt(AksjonspunktKode.VURDER_PERIODER_MED_OPPTJENING)], opptjening: { fastsattOpptjening: { opptjeningFom: '2018-12-25', @@ -180,9 +178,7 @@ export const UtenAksjonspunkt: Story = { export const MedToLikePerioderForSammeAktivitetstype: Story = { args: { - aksjonspunkterForPanel: [ - lagAksjonspunkt(AksjonspunktKode.VURDER_PERIODER_MED_OPPTJENING) - ], + aksjonspunkterForPanel: [lagAksjonspunkt(AksjonspunktKode.VURDER_PERIODER_MED_OPPTJENING)], opptjening: { fastsattOpptjening: { opptjeningFom: '2018-12-25', @@ -236,9 +232,7 @@ export const MedToLikePerioderForSammeAktivitetstype: Story = { export const MedAlleOpptjeningsaktiviteterFiltrertBort: Story = { args: { - aksjonspunkterForPanel: [ - lagAksjonspunkt(AksjonspunktKode.VURDER_PERIODER_MED_OPPTJENING) - ], + aksjonspunkterForPanel: [lagAksjonspunkt(AksjonspunktKode.VURDER_PERIODER_MED_OPPTJENING)], opptjening: { fastsattOpptjening: { opptjeningFom: '2018-12-25', diff --git a/packages/fakta/tilrettelegging/src/TilretteleggingFaktaIndex.stories.tsx b/packages/fakta/tilrettelegging/src/TilretteleggingFaktaIndex.stories.tsx index dca0671354c..0ed9db1d140 100644 --- a/packages/fakta/tilrettelegging/src/TilretteleggingFaktaIndex.stories.tsx +++ b/packages/fakta/tilrettelegging/src/TilretteleggingFaktaIndex.stories.tsx @@ -416,9 +416,9 @@ export const ErReadonly: Story = { export const ErRevurdering: Story = { args: { aksjonspunkterForPanel: [ - lagAksjonspunkt(AksjonspunktKode.VURDER_SVP_TILRETTELEGGING,{ + lagAksjonspunkt(AksjonspunktKode.VURDER_SVP_TILRETTELEGGING, { begrunnelse: 'Dette er en begrunnelse', - }) + }), ], svangerskapspengerTilrettelegging: { ...TILRETTELEGGING_PERMISJON, diff --git a/packages/prosess/felles/src/prosessStegBegrunnelseTextField.module.css b/packages/prosess/felles/src/prosessStegBegrunnelseTextField.module.css index 7522770caad..7cc0afa784f 100644 --- a/packages/prosess/felles/src/prosessStegBegrunnelseTextField.module.css +++ b/packages/prosess/felles/src/prosessStegBegrunnelseTextField.module.css @@ -1,3 +1,3 @@ .begrunnelseTextField { - max-width: 800px; + max-width: 800px; } diff --git a/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx b/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx index 60251aa635f..6322a9ee181 100644 --- a/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx +++ b/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx @@ -40,51 +40,51 @@ export const ProsessPanelTemplate = ({ isSubmitting, children, }: Props) => ( - - {originalErVilkårOk !== undefined && ( - <> - {originalErVilkårOk && } - {!originalErVilkårOk && } - - )} - - - - {title} - - {lovReferanse && {lovReferanse}} - + + {originalErVilkårOk !== undefined && ( + <> + {originalErVilkårOk && } + {!originalErVilkårOk && } + + )} + + + + {title} + + {lovReferanse && {lovReferanse}} + - {!harÅpentAksjonspunkt && ( - - {originalErVilkårOk && ( - - )} - {originalErVilkårOk === false && ( - - )} - {originalErVilkårOk === undefined && ( - {intl.formatMessage({ id: 'ProsessPanelTemplate.IkkeBehandlet' })} - )} - - )} + {!harÅpentAksjonspunkt && ( + + {originalErVilkårOk && ( + + )} + {originalErVilkårOk === false && ( + + )} + {originalErVilkårOk === undefined && ( + {intl.formatMessage({ id: 'ProsessPanelTemplate.IkkeBehandlet' })} + )} + + )} - - -
{children}
- -
-
- {rendreFakta} -
-
+ + +
{children}
+ +
+
+ {rendreFakta} +
+
); diff --git a/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css b/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css index 247f1a6470a..d6cbaf7c1a8 100644 --- a/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css +++ b/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css @@ -1,15 +1,15 @@ .lukketAksjonspunktMargin { - margin-left: -20px; + margin-left: -20px; } .godkjentImage { - color: var(--ax-bg-success-strong); - height: 25px; - width: 25px; + color: var(--ax-bg-success-strong); + height: 25px; + width: 25px; } .avslattImage { - color: var(--ax-danger-500); - height: 25px; - width: 25px; + color: var(--ax-danger-500); + height: 25px; + width: 25px; } diff --git a/packages/prosess/soknadsfrist/src/VurderSoknadsfristForeldrepengerIndex.stories.tsx b/packages/prosess/soknadsfrist/src/VurderSoknadsfristForeldrepengerIndex.stories.tsx index 9f9d36153f3..95fe2e3f9b1 100644 --- a/packages/prosess/soknadsfrist/src/VurderSoknadsfristForeldrepengerIndex.stories.tsx +++ b/packages/prosess/soknadsfrist/src/VurderSoknadsfristForeldrepengerIndex.stories.tsx @@ -22,7 +22,7 @@ const soknad = { søknadsperiodeSlutt: '2019-01-10', utledetSøknadsfrist: '2019-10-01', }, - manglendeVedlegg: [] + manglendeVedlegg: [], } as Soknad; const meta = { diff --git a/packages/prosess/vedtak/src/components/forstegang/VedtakAvslagPanel.tsx b/packages/prosess/vedtak/src/components/forstegang/VedtakAvslagPanel.tsx index 2d7ff9f956f..9d8a634a8b6 100644 --- a/packages/prosess/vedtak/src/components/forstegang/VedtakAvslagPanel.tsx +++ b/packages/prosess/vedtak/src/components/forstegang/VedtakAvslagPanel.tsx @@ -64,8 +64,7 @@ const getAvslagÅrsak = ( const vilkarType = alleKodeverk['VilkårType'].find(({ kode }) => kode === avslatteVilkar[0]?.vilkarType)?.navn ?? ''; - const årsak = - alleKodeverk['Avslagsårsak'].find(({ kode }) => kode === behandlingsresultat.avslagsarsak)?.navn ?? ''; + const årsak = alleKodeverk['Avslagsårsak'].find(({ kode }) => kode === behandlingsresultat.avslagsarsak)?.navn ?? ''; return `${vilkarType}: ${årsak}`; }; diff --git a/packages/prosess/vedtak/src/components/revurdering/VedtakAvslagArsakOgBegrunnelsePanel.tsx b/packages/prosess/vedtak/src/components/revurdering/VedtakAvslagArsakOgBegrunnelsePanel.tsx index fc8fd91f7cb..ab25ae123b8 100644 --- a/packages/prosess/vedtak/src/components/revurdering/VedtakAvslagArsakOgBegrunnelsePanel.tsx +++ b/packages/prosess/vedtak/src/components/revurdering/VedtakAvslagArsakOgBegrunnelsePanel.tsx @@ -32,8 +32,7 @@ const getAvslagArsak = ( const vilkarType = alleKodeverk['VilkårType'].find(({ kode }) => kode === avslatteVilkar[0]?.vilkarType)?.navn ?? ''; - const årsak = - alleKodeverk['Avslagsårsak'].find(({ kode }) => kode === behandlingsresultat.avslagsarsak)?.navn ?? ''; + const årsak = alleKodeverk['Avslagsårsak'].find(({ kode }) => kode === behandlingsresultat.avslagsarsak)?.navn ?? ''; return `${vilkarType}: ${årsak}`; }; diff --git a/packages/prosess/vilkar-fodsel/src/FodselVilkarProsessIndex.stories.tsx b/packages/prosess/vilkar-fodsel/src/FodselVilkarProsessIndex.stories.tsx index eef0a6827b4..4bd8bba61de 100644 --- a/packages/prosess/vilkar-fodsel/src/FodselVilkarProsessIndex.stories.tsx +++ b/packages/prosess/vilkar-fodsel/src/FodselVilkarProsessIndex.stories.tsx @@ -3,7 +3,13 @@ import { type ComponentProps } from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { AksjonspunktKode } from '@navikt/fp-kodeverk'; -import { lagAksjonspunkt, lagVilkår, type PanelDataArgs, withMellomlagretFormData, withPanelData } from '@navikt/fp-storybook-utils'; +import { + lagAksjonspunkt, + lagVilkår, + type PanelDataArgs, + withMellomlagretFormData, + withPanelData, +} from '@navikt/fp-storybook-utils'; import type { BehandlingFpSak, Vilkar } from '@navikt/fp-types'; import { FodselVilkarProsessIndex } from './FodselVilkarProsessIndex'; @@ -23,9 +29,7 @@ type Story = StoryObj; export const ÅpentAksjonspunkt: Story = { args: { - aksjonspunkterForPanel: [ - lagAksjonspunkt( AksjonspunktKode.AVKLAR_OM_SØKER_HAR_MOTTATT_STØTTE, - ) ], + aksjonspunkterForPanel: [lagAksjonspunkt(AksjonspunktKode.AVKLAR_OM_SØKER_HAR_MOTTATT_STØTTE)], status: 'IKKE_VURDERT', }, }; @@ -34,13 +38,13 @@ export const OppfyltVilkår: Story = { args: { aksjonspunkterForPanel: [ lagAksjonspunkt( - AksjonspunktKode.AVKLAR_OM_SØKER_HAR_MOTTATT_STØTTE, + AksjonspunktKode.AVKLAR_OM_SØKER_HAR_MOTTATT_STØTTE, - { - status: 'UTFO', - begrunnelse: 'Dette vilkåret er godkjent', - }, - ) + { + status: 'UTFO', + begrunnelse: 'Dette vilkåret er godkjent', + }, + ), ], isReadOnly: true, isSubmittable: false, @@ -58,9 +62,7 @@ export const AvslåttVilkår: Story = { }, } as BehandlingFpSak, aksjonspunkterForPanel: [ - lagAksjonspunkt( - AksjonspunktKode.AVKLAR_OM_SØKER_HAR_MOTTATT_STØTTE, - { + lagAksjonspunkt(AksjonspunktKode.AVKLAR_OM_SØKER_HAR_MOTTATT_STØTTE, { status: 'UTFO', begrunnelse: 'Dette vilkåret er avslått', }), diff --git a/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx b/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx index 72c7ffd95a9..69eac80c12a 100644 --- a/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx +++ b/packages/prosess/vilkar-opptjening/src/components/OpptjeningVilkarAksjonspunktPanel.tsx @@ -70,7 +70,7 @@ export const OpptjeningVilkarAksjonspunktPanel = ({ status, fastsattOpptjening, return ( } + title={} harÅpentAksjonspunkt={harÅpentAksjonspunkt} isSubmittable={isSubmittable} isReadOnly={isReadOnly} diff --git a/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx b/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx index 3d93e7a884b..718071f5755 100644 --- a/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx +++ b/packages/prosess/vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx @@ -224,7 +224,7 @@ export const VilkarresultatMedOverstyringForm = ({ ) : ( } + legend={} isReadOnly={overrideReadOnly || !erOverstyrt} customVilkårOppfyltText={} customVilkårIkkeOppfyltText={ From 79bd8125570905e2a5bfed8805c781ba7cd6ad89 Mon Sep 17 00:00:00 2001 From: Siri Mykland Date: Wed, 12 Nov 2025 12:57:12 +0100 Subject: [PATCH 3/5] =?UTF-8?q?fiks=20indentering=20p=C3=A5=20aksjonspunkt?= =?UTF-8?q?=20boks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/prosess/felles/src/vilkar/OverstyringPanel.tsx | 2 +- packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx | 2 +- .../prosess/felles/src/vilkar/overstyringPanel.module.css | 1 - .../prosess/felles/src/vilkar/prosessPanelTemplate.module.css | 2 +- .../src/SoknadsfristVilkarProsessIndex.spec.tsx | 4 ++-- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/prosess/felles/src/vilkar/OverstyringPanel.tsx b/packages/prosess/felles/src/vilkar/OverstyringPanel.tsx index 61eacc3bc08..0a4d4f47112 100644 --- a/packages/prosess/felles/src/vilkar/OverstyringPanel.tsx +++ b/packages/prosess/felles/src/vilkar/OverstyringPanel.tsx @@ -58,7 +58,7 @@ export const OverstyringPanel = ({ return ( diff --git a/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx b/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx index 6322a9ee181..a8902cd0b66 100644 --- a/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx +++ b/packages/prosess/felles/src/vilkar/ProsessPanelTemplate.tsx @@ -70,7 +70,7 @@ export const ProsessPanelTemplate = ({ )} diff --git a/packages/prosess/felles/src/vilkar/overstyringPanel.module.css b/packages/prosess/felles/src/vilkar/overstyringPanel.module.css index 6063066ef65..749ef26af2b 100644 --- a/packages/prosess/felles/src/vilkar/overstyringPanel.module.css +++ b/packages/prosess/felles/src/vilkar/overstyringPanel.module.css @@ -1,6 +1,5 @@ .aksjonspunktMargin { margin-left: -20px; - min-width: 400px; } .exclamationmarkIcon { diff --git a/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css b/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css index d6cbaf7c1a8..af0f3fdafba 100644 --- a/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css +++ b/packages/prosess/felles/src/vilkar/prosessPanelTemplate.module.css @@ -1,4 +1,4 @@ -.lukketAksjonspunktMargin { +.aksjonspunktMargin { margin-left: -20px; } diff --git a/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx b/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx index 3a403d280cc..ef77daee054 100644 --- a/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx +++ b/packages/prosess/vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx @@ -34,7 +34,7 @@ describe('SoknadsfristVilkarProsessIndex', () => { }); }); - it('skal vise at vilkår er oppfylt', async () => { + it('skal vise at vilkår er oppfylt', () => { render(); expect(screen.getByText('Er søknadsfristvilkåret oppfylt?')).toBeInTheDocument(); @@ -43,7 +43,7 @@ describe('SoknadsfristVilkarProsessIndex', () => { expect(screen.queryByText('Bekreft og fortsett')).not.toBeInTheDocument(); }); - it('skal vise at vilkår er avslått', async () => { + it('skal vise at vilkår er avslått', () => { render(); expect(screen.getByText('Er søknadsfristvilkåret oppfylt?')).toBeInTheDocument(); From 2bcec8ce22257daaf965c678a7267c886fc33e8b Mon Sep 17 00:00:00 2001 From: Siri Mykland Date: Wed, 12 Nov 2025 13:15:37 +0100 Subject: [PATCH 4/5] fiks stylelint --- .../prosess/felles/src/vilkar/vilkarResultPicker.module.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css b/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css index cac034a00c9..4070ca80629 100644 --- a/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css +++ b/packages/prosess/felles/src/vilkar/vilkarResultPicker.module.css @@ -1,16 +1,16 @@ .godkjentImage { color: var(--ax-bg-success-strong); + height: 20px; margin-right: 8px; vertical-align: text-top; - height: 20px; width: 20px; } .avslattImage { color: var(--ax-danger-500); + height: 20px; margin-right: 8px; vertical-align: text-top; - height: 20px; width: 20px; } From 479c9eaea5ee58b9d1d8ac71aa400041b9d24aea Mon Sep 17 00:00:00 2001 From: Siri Mykland Date: Wed, 12 Nov 2025 17:16:56 +0100 Subject: [PATCH 5/5] =?UTF-8?q?legg=20til=20label=20for=20sakbehandlerover?= =?UTF-8?q?styring=20av=20s=C3=B8kers=20opplysningsplikt=20vilk=C3=A5ret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json | 1 + .../src/components/SokersOpplysningspliktForm.tsx | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json b/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json index d26327a95d8..181f2153a42 100644 --- a/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json +++ b/packages/prosess/vilkar-sokers-opplysningsplikt/i18n/nb_NO.json @@ -1,4 +1,5 @@ { + "SokersOpplysningspliktForm.Tittel": "Manuell saksbehandleroverstyring av automatisk vurdering", "SokersOpplysningspliktForm.SokersOpplysningsplikt": "Søkers opplysningsplikt", "SokersOpplysningspliktForm.UtfyllendeOpplysninger": "Vurder om søker har oppfylt opplysningsplikten etter § 21-3", "SokersOpplysningspliktForm.ErVilkåretOppfylt": "Er vilkåret oppfylt?", diff --git a/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx b/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx index 69c735e181c..4059b4d7d57 100644 --- a/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx +++ b/packages/prosess/vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx @@ -1,7 +1,7 @@ import { useForm } from 'react-hook-form'; import { FormattedMessage } from 'react-intl'; -import { VStack } from '@navikt/ds-react'; +import { Label, VStack } from '@navikt/ds-react'; import { RhfForm } from '@navikt/ft-form-hooks'; import { BTag, isObject } from '@navikt/ft-utils'; @@ -78,6 +78,9 @@ export const SokersOpplysningspliktForm = ({ søknad, status, arbeidsgiverOpplys rendreFakta={} > + }