From 7be8931ef4598a69f0f5f987add3a8cea5476c69 Mon Sep 17 00:00:00 2001 From: johannetronstad Date: Fri, 10 Jan 2025 08:51:57 +0100 Subject: [PATCH] =?UTF-8?q?WIP:=20Implementer=20nytt=20design=20av=20sendi?= =?UTF-8?q?ng=20av=20forh=C3=A5ndsvarsler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visning/avtalt-container/VarslingInfo.tsx | 21 ++---- .../avtalt-container/aktivitet/AvtaltForm.tsx | 2 +- .../ForhaandsorienteringsMelding.tsx | 70 +++++++++++++------ 3 files changed, 56 insertions(+), 37 deletions(-) diff --git a/src/moduler/aktivitet/visning/avtalt-container/VarslingInfo.tsx b/src/moduler/aktivitet/visning/avtalt-container/VarslingInfo.tsx index a0aaa77b4..98e7ef8fe 100644 --- a/src/moduler/aktivitet/visning/avtalt-container/VarslingInfo.tsx +++ b/src/moduler/aktivitet/visning/avtalt-container/VarslingInfo.tsx @@ -1,21 +1,12 @@ -import { HelpText, Label } from '@navikt/ds-react'; +import { ReadMore } from '@navikt/ds-react'; import React from 'react'; -import styles from './VarslingInfo.module.less'; - const VarslingInfo = () => ( -
- - -
- Brukeren mottar sms eller e-post (se KRR) med en lenke til aktiviteten.
-
- På aktiviteten vil bruker se forhåndsorienteringen og en knapp for å bekrefte at en har lest.
-
- Hvis ikke brukeren leser beskjeden innen 7 dager, så blir de revarslet. -
-
-
+ + På aktiviteten vil bruker se forhåndsorienteringen og en knapp for å bekrefte at en har lest. +

+ Hvis ikke brukeren leser beskjeden innen 7 dager, så blir de revarslet. +
); export default VarslingInfo; diff --git a/src/moduler/aktivitet/visning/avtalt-container/aktivitet/AvtaltForm.tsx b/src/moduler/aktivitet/visning/avtalt-container/aktivitet/AvtaltForm.tsx index ed46345ea..597cb0cc4 100644 --- a/src/moduler/aktivitet/visning/avtalt-container/aktivitet/AvtaltForm.tsx +++ b/src/moduler/aktivitet/visning/avtalt-container/aktivitet/AvtaltForm.tsx @@ -141,7 +141,7 @@ const AvtaltForm = (props: Props) => { ) : null} )} diff --git a/src/moduler/aktivitet/visning/avtalt-container/aktivitet/ForhaandsorienteringsMelding.tsx b/src/moduler/aktivitet/visning/avtalt-container/aktivitet/ForhaandsorienteringsMelding.tsx index 399be8296..21200a403 100644 --- a/src/moduler/aktivitet/visning/avtalt-container/aktivitet/ForhaandsorienteringsMelding.tsx +++ b/src/moduler/aktivitet/visning/avtalt-container/aktivitet/ForhaandsorienteringsMelding.tsx @@ -1,5 +1,5 @@ -import { BodyShort, Select, Textarea } from '@navikt/ds-react'; -import React from 'react'; +import { BodyShort, Label, Radio, RadioGroup, Textarea } from '@navikt/ds-react'; +import React, { useContext, useEffect, useState } from 'react'; import { FieldErrors } from 'react-hook-form/dist/types/errors'; import { UseFormRegister } from 'react-hook-form/dist/types/form'; @@ -8,44 +8,72 @@ import VisibleIfDiv from '../../../../../felles-komponenter/utils/visible-if-div import { AVTALT_TEKST } from '../utilsForhaandsorientering'; import VarslingInfo from '../VarslingInfo'; import { ForhaandsorienteringDialogFormValues } from './AvtaltForm'; +import { useForm } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod/dist/zod'; +import { z } from 'zod'; +import { DirtyContext } from '../../../../context/dirty-context'; interface Props { - register: UseFormRegister; oppdaterer: boolean; - forhaandsorienteringType: ForhaandsorienteringType; avtaltText119: string; + register: UseFormRegister; errors: FieldErrors; } +const schema = z.object({ + forhaandsorienteringType: z.nativeEnum(ForhaandsorienteringType) +}); + +export type ForhaansorienteringFormValues = z.infer; + const ForhaandsorienteringsMelding = (props: Props) => { - const { register, oppdaterer, forhaandsorienteringType, avtaltText119, errors } = props; + const { oppdaterer, avtaltText119, register, errors } = props; + const [forhaandsorienteringTypeState, setForhaandsorienteringTypeState] = useState(); + + const { + setValue, + formState: { isDirty, isSubmitting } + } = useForm({ resolver: zodResolver(schema), shouldFocusError: true }); + + const { setFormIsDirty } = useContext(DirtyContext); + + useEffect(() => { + setFormIsDirty('forhaandsorienteringType', isDirty); + console.log("isDirty ", isDirty) + }, [setFormIsDirty, isDirty]); + + const disable = isSubmitting || oppdaterer; + + const onChangeForhaandsorienteringType = (value: ForhaandsorienteringType) => { + setValue('forhaandsorienteringType', value); + setForhaandsorienteringTypeState(value) + }; return ( - <> - - - +
+ + Forhåndsorientering (standard melding) + Forhåndsorientering for §11-9 (AAP) + Ingen forhåndsorientering + + + {AVTALT_TEKST} + - +