diff --git a/src/frontend/components/Felleskomponenter/LeggTilKnapp/LeggTilKnappForSanity.tsx b/src/frontend/components/Felleskomponenter/LeggTilKnapp/LeggTilKnappForSanity.tsx index 4c93cc0cf..922a5f673 100644 --- a/src/frontend/components/Felleskomponenter/LeggTilKnapp/LeggTilKnappForSanity.tsx +++ b/src/frontend/components/Felleskomponenter/LeggTilKnapp/LeggTilKnappForSanity.tsx @@ -39,6 +39,7 @@ export const LeggTilKnappForSanity: React.FC = ({ )} { it('Viser riktige feilmeldinger ved ingen utfylte felt av tidligere samboer', async () => { spyOnUseApp(søknad); - const { getByText, getByTestId, findByTestId } = render( + const { getByTestId, findByTestId } = render( @@ -63,7 +63,7 @@ describe('LeggTilSamboerModal', () => { expect(jaKnapp).toBeDefined(); act(() => jaKnapp!.click()); - const leggTilSamboerKnapp: HTMLElement = getByText('Legg til samboer'); + const leggTilSamboerKnapp = getByTestId('hatt-annen-samboer-i-perioden-søker'); act(() => leggTilSamboerKnapp.click()); const gåVidereKnapp = getByTestId('submit-knapp-i-modal'); diff --git "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerOpplysninger.tsx" "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerOpplysninger.tsx" index 2d5253656..eab64fd35 100644 --- "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerOpplysninger.tsx" +++ "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerOpplysninger.tsx" @@ -1,45 +1,67 @@ -import React, { ReactNode } from 'react'; +import React from 'react'; import { TrashFillIcon } from '@navikt/aksel-icons'; import { Button, FormSummary } from '@navikt/ds-react'; +import { useApp } from '../../../context/AppContext'; import { AlternativtSvarForInput } from '../../../typer/common'; import { ITidligereSamboer } from '../../../typer/person'; +import { ITidligereSamoboereTekstinnhold } from '../../../typer/sanity/modaler/tidligereSamboere'; import { formaterDato } from '../../../utils/dato'; -import SpråkTekst from '../../Felleskomponenter/SpråkTekst/SpråkTekst'; +import TekstBlock from '../../Felleskomponenter/Sanity/TekstBlock'; import { OppsummeringFelt } from '../Oppsummering/OppsummeringFelt'; -import { samboerSpråkIder } from './spørsmål'; - const SamboerOpplysninger: React.FC<{ samboer: ITidligereSamboer; fjernTidligereSamboer: (samboer: ITidligereSamboer) => void; }> = ({ samboer, fjernTidligereSamboer }) => { - const svarSomKanVæreUkjent = (svar: string, språkIdForUkjent: string): ReactNode => - svar === AlternativtSvarForInput.UKJENT ? : svar; + const { tekster } = useApp(); + + const teksterForModal: ITidligereSamoboereTekstinnhold = + tekster().FELLES.modaler.tidligereSamboere.søker; return ( - }> - {svarSomKanVæreUkjent(samboer.ident.svar, samboerSpråkIder.fnrUkjent)} + + } + > + {samboer.ident.svar === AlternativtSvarForInput.UKJENT ? ( + + ) : ( + samboer.ident.svar + )} {samboer.fødselsdato.svar && ( - }> + } + > {samboer.fødselsdato.svar === AlternativtSvarForInput.UKJENT ? ( - + ) : ( formaterDato(samboer.fødselsdato.svar) )} )} - }> + } + > {formaterDato(samboer.samboerFraDato.svar)} - }> - {formaterDato(samboer.samboerTilDato.svar)} + } + > +
+ {formaterDato(samboer.samboerTilDato.svar)} +
diff --git "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerSkjema.tsx" "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerSkjema.tsx" index 7af92f7a4..b28fc3808 100644 --- "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerSkjema.tsx" +++ "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/SamboerSkjema.tsx" @@ -3,15 +3,15 @@ import React from 'react'; import { ESvar } from '@navikt/familie-form-elements'; import type { Felt, ISkjema } from '@navikt/familie-skjema'; +import { useApp } from '../../../context/AppContext'; import { DatoMedUkjent, ISODateString } from '../../../typer/common'; +import { ITidligereSamoboereTekstinnhold } from '../../../typer/sanity/modaler/tidligereSamboere'; import { IDinLivssituasjonFeltTyper, ITidligereSamboerFeltTyper } from '../../../typer/skjema'; import { dagensDato, gårsdagensDato } from '../../../utils/dato'; import Datovelger from '../../Felleskomponenter/Datovelger/Datovelger'; -import { SkjemaCheckbox } from '../../Felleskomponenter/SkjemaCheckbox/SkjemaCheckbox'; -import { SkjemaFeltInput } from '../../Felleskomponenter/SkjemaFeltInput/SkjemaFeltInput'; -import SpråkTekst from '../../Felleskomponenter/SpråkTekst/SpråkTekst'; - -import { samboerSpråkIder } from './spørsmål'; +import TekstBlock from '../../Felleskomponenter/Sanity/TekstBlock'; +import { SkjemaCheckboxForSanity } from '../../Felleskomponenter/SkjemaCheckbox/SkjemaCheckboxForSanity'; +import { SkjemaFeltInputForSanity } from '../../Felleskomponenter/SkjemaFeltInput/SkjemaFeltInputForSanity'; const SamboerSkjema: React.FC<{ skjema: ISkjema; @@ -26,22 +26,33 @@ const SamboerSkjema: React.FC<{ }; erIModal?: boolean; }> = ({ skjema, samboerFelter, erIModal = false }) => { + const { tekster } = useApp(); + + const teksterForModal: ITidligereSamoboereTekstinnhold = + tekster().FELLES.modaler.tidligereSamboere.søker; + return ( <> - } />
- + } disabled={samboerFelter.fnrUkjent.verdi === ESvar.JA} /> - + } felt={samboerFelter.fnrUkjent} />
@@ -50,13 +61,13 @@ const SamboerSkjema: React.FC<{ } + label={} avgrensMaxDato={dagensDato()} disabled={samboerFelter.fødselsdatoUkjent.verdi === ESvar.JA} strategy={erIModal ? 'absolute' : 'fixed'} /> - } felt={samboerFelter.fødselsdatoUkjent} /> @@ -64,7 +75,7 @@ const SamboerSkjema: React.FC<{ } + label={} avgrensMaxDato={samboerFelter.samboerTilDato ? gårsdagensDato() : dagensDato()} strategy={erIModal ? 'absolute' : 'fixed'} /> @@ -72,7 +83,7 @@ const SamboerSkjema: React.FC<{ } + label={} tilhørendeFraOgMedFelt={samboerFelter.samboerFraDato} avgrensDatoFremITid={true} strategy={erIModal ? 'absolute' : 'fixed'} diff --git "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.test.tsx" "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.test.tsx" index ce0097e10..4bf42eb6f 100644 --- "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.test.tsx" +++ "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.test.tsx" @@ -10,11 +10,7 @@ import { ISøknad } from '../../../typer/søknad'; import { silenceConsoleErrors, spyOnUseApp, TestProvidere } from '../../../utils/testing'; import DinLivssituasjon from './DinLivssituasjon'; -import { - DinLivssituasjonSpørsmålId, - samboerSpråkIder, - TidligereSamboerSpørsmålId, -} from './spørsmål'; +import { DinLivssituasjonSpørsmålId, TidligereSamboerSpørsmålId } from './spørsmål'; jest.mock('react-router', () => ({ ...(jest.requireActual('react-router') as object), @@ -62,12 +58,12 @@ describe('TidligereSamboere', () => { it('"Når ble samboerforholdet avsluttet?" skal ikke vises dersom man ikke har tidligere samboere', () => { spyOnUseApp(søknad); - const { queryByText } = render( + const { queryByTestId } = render( ); - const result = queryByText(samboerSpråkIder.samboerTilDato); + const result = queryByTestId('utvidet-tidligere-samboer-samboerTilDato'); expect(result).not.toBeInTheDocument(); }); @@ -113,12 +109,12 @@ describe('TidligereSamboere', () => { }, }); - const { queryByText } = render( + const { getByTestId } = render( ); - const result = queryByText(samboerSpråkIder.samboerTilDato); + const result = getByTestId('utvidet-tidligere-samboer-samboerTilDato'); expect(result).toBeInTheDocument(); }); }); diff --git "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.tsx" "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.tsx" index 34eac2577..88757647b 100644 --- "a/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.tsx" +++ "b/src/frontend/components/S\303\270knadsSteg/DinLivssituasjon/TidligereSamboere.tsx" @@ -13,8 +13,9 @@ import { genererPeriodeId } from '../../../utils/perioder'; import { uppercaseFørsteBokstav } from '../../../utils/visning'; import JaNeiSpmForSanity from '../../Felleskomponenter/JaNeiSpm/JaNeiSpmForSanity'; import KomponentGruppe from '../../Felleskomponenter/KomponentGruppe/KomponentGruppe'; -import { LeggTilKnapp } from '../../Felleskomponenter/LeggTilKnapp/LeggTilKnapp'; +import { LeggTilKnappForSanity } from '../../Felleskomponenter/LeggTilKnapp/LeggTilKnappForSanity'; import PerioderContainer from '../../Felleskomponenter/PerioderContainer'; +import TekstBlock from '../../Felleskomponenter/Sanity/TekstBlock'; import useModal from '../../Felleskomponenter/SkjemaModal/useModal'; import { IDinLivssituasjonTekstinnhold } from './innholdTyper'; @@ -47,7 +48,7 @@ const TidligereSamboere: React.FC = ({ const teksterForModal: ITidligereSamoboereTekstinnhold = tekster().FELLES.modaler.tidligereSamboere.søker; - const { flerePerioder, leggTilPeriodeForklaring } = teksterForModal; + const { flerePerioder, leggTilKnapp, leggTilPeriodeForklaring } = teksterForModal; const teksterForDinLivssituasjon: IDinLivssituasjonTekstinnhold = tekster().DIN_LIVSSITUASJON; const { hattAnnenSamboerForSoektPeriode } = teksterForDinLivssituasjon; @@ -74,8 +75,7 @@ const TidligereSamboere: React.FC = ({ fjernTidligereSamboer={fjernTidligereSamboer} /> ))} - 0 && @@ -91,7 +91,9 @@ const TidligereSamboere: React.FC = ({ skjema.visFeilmeldinger && tidligereSamboere.feilmelding } - /> + > + + {erLeggTilSamboerModalÅpen && ( boolean; nullstillSkjema: () => void; } => { + const { tekster } = useApp(); + + const teksterForSøker: ITidligereSamoboereTekstinnhold = + tekster().FELLES.modaler.tidligereSamboere.søker; + const tidligereSamboerNavn = useInputFelt({ søknadsfelt: { id: TidligereSamboerSpørsmålId.tidligereSamboerNavn, svar: '', }, feilmeldingSpråkId: 'omdeg.samboerNavn.feilmelding', + feilmelding: teksterForSøker.samboerNavn.feilmelding, }); const tidligereSamboerFnrUkjent = useFelt({ @@ -37,6 +45,7 @@ export const useTidligereSamboer = (): { }, avhengighet: tidligereSamboerFnrUkjent, feilmeldingSpråkId: 'omdeg.samboer.ident.ikkebesvart.feilmelding', + feilmelding: teksterForSøker.foedselsnummerEllerDNummer.feilmelding, erFnrInput: true, }); @@ -48,31 +57,32 @@ export const useTidligereSamboer = (): { nullstillVedAvhengighetEndring: false, }); - const tidligereSamboerFødselsdato = useDatovelgerFeltMedUkjent({ + const tidligereSamboerFødselsdato = useDatovelgerFeltMedUkjentForSanity({ feltId: TidligereSamboerSpørsmålId.tidligereSamboerFødselsdato, initiellVerdi: '', vetIkkeCheckbox: tidligereSamboerFødselsdatoUkjent, - feilmeldingSpråkId: 'omdeg.nåværendesamboer.fødselsdato.ukjent', + feilmelding: teksterForSøker.foedselsdato.feilmelding, skalFeltetVises: tidligereSamboerFnrUkjent.verdi === ESvar.JA, }); - const tidligereSamboerFraDato = useDatovelgerFelt({ + const tidligereSamboerFraDato = useDatovelgerFeltForSanity({ søknadsfelt: { id: TidligereSamboerSpørsmålId.tidligereSamboerFraDato, svar: '', }, skalFeltetVises: true, - feilmeldingSpråkId: 'omdeg.nårstartetsamboerforhold.feilmelding', + feilmelding: teksterForSøker.startdato.feilmelding, sluttdatoAvgrensning: gårsdagensDato(), + nullstillVedAvhengighetEndring: false, }); - const tidligereSamboerTilDato = useDatovelgerFelt({ + const tidligereSamboerTilDato = useDatovelgerFeltForSanity({ søknadsfelt: { id: TidligereSamboerSpørsmålId.tidligereSamboerTilDato, svar: '', }, skalFeltetVises: true, - feilmeldingSpråkId: 'omdeg.nårsamboerforholdavsluttet.feilmelding', + feilmelding: teksterForSøker.sluttdato.feilmelding, sluttdatoAvgrensning: dagensDato(), startdatoAvgrensning: dagenEtterDato(stringTilDate(tidligereSamboerFraDato.verdi)), avhengigheter: { tidligereSamboerFraDato }, diff --git a/src/frontend/typer/sanity/modaler/tidligereSamboere.ts b/src/frontend/typer/sanity/modaler/tidligereSamboere.ts index 478271f6b..23456adc1 100644 --- a/src/frontend/typer/sanity/modaler/tidligereSamboere.ts +++ b/src/frontend/typer/sanity/modaler/tidligereSamboere.ts @@ -1,9 +1,16 @@ -import { LocaleRecordBlock, LocaleRecordString } from '../sanity'; +import { ISanitySpørsmålDokument, LocaleRecordBlock, LocaleRecordString } from '../sanity'; export interface ITidligereSamoboereTekstinnhold { tittel: LocaleRecordBlock; + oppsummeringstittel: LocaleRecordBlock; leggTilPeriodeForklaring: LocaleRecordString; flerePerioder: LocaleRecordString; leggTilKnapp: LocaleRecordBlock; leggTilFeilmelding: LocaleRecordBlock; + fjernKnapp: LocaleRecordBlock; + samboerNavn: ISanitySpørsmålDokument; + foedselsnummerEllerDNummer: ISanitySpørsmålDokument; + foedselsdato: ISanitySpørsmålDokument; + startdato: ISanitySpørsmålDokument; + sluttdato: ISanitySpørsmålDokument; } diff --git a/src/frontend/utils/mappingTilKontrakt/samboer.ts b/src/frontend/utils/mappingTilKontrakt/samboer.ts index 81370110e..7749c175a 100644 --- a/src/frontend/utils/mappingTilKontrakt/samboer.ts +++ b/src/frontend/utils/mappingTilKontrakt/samboer.ts @@ -1,65 +1,45 @@ import { - samboerSpråkIder, - SamboerSpørsmålId, - TidligereSamboerSpørsmålId, -} from '../../components/SøknadsSteg/DinLivssituasjon/spørsmål'; -import { IKontraktNåværendeSamboer, ISøknadsfelt } from '../../typer/kontrakt/generelle'; + IKontraktNåværendeSamboer, + ISøknadsfelt, + TilRestLocaleRecord, +} from '../../typer/kontrakt/generelle'; import { ISamboer } from '../../typer/person'; -import { erTidligereSamboer } from '../typeguards'; +import { ITidligereSamoboereTekstinnhold } from '../../typer/sanity/modaler/tidligereSamboere'; -import { - sammeVerdiAlleSpråk, - sammeVerdiAlleSpråkEllerUkjentSpråktekst, - språktekstIdFraSpørsmålId, - søknadsfelt, -} from './hjelpefunksjoner'; +import { sammeVerdiAlleSpråk } from './hjelpefunksjoner'; + +interface SamboerIKontraktFormatParams { + tekster: ITidligereSamoboereTekstinnhold; + tilRestLocaleRecord: TilRestLocaleRecord; + samboer: ISamboer; +} -export const samboerISøknadKontraktFormat = ( - samboer: ISamboer -): ISøknadsfelt => { +export const samboerISøknadKontraktFormat = ({ + tekster, + tilRestLocaleRecord, + samboer, +}: SamboerIKontraktFormatParams): ISøknadsfelt => { const { ident, samboerFraDato, navn, fødselsdato } = samboer; - const erTidligere = erTidligereSamboer(samboer); - const språktekstIds = { - navn: språktekstIdFraSpørsmålId( - erTidligere - ? TidligereSamboerSpørsmålId.tidligereSamboerNavn - : SamboerSpørsmålId.nåværendeSamboerNavn - ), - ident: språktekstIdFraSpørsmålId( - erTidligere - ? TidligereSamboerSpørsmålId.tidligereSamboerFnr - : SamboerSpørsmålId.nåværendeSamboerFnr - ), - fødselsdato: språktekstIdFraSpørsmålId( - erTidligere - ? TidligereSamboerSpørsmålId.tidligereSamboerFødselsdato - : SamboerSpørsmålId.nåværendeSamboerFødselsdato - ), - samboerFraDato: språktekstIdFraSpørsmålId( - erTidligere - ? TidligereSamboerSpørsmålId.tidligereSamboerFraDato - : SamboerSpørsmålId.nåværendeSamboerFraDato - ), + + return { + label: tilRestLocaleRecord(tekster.oppsummeringstittel), + verdi: sammeVerdiAlleSpråk({ + navn: { + label: tilRestLocaleRecord(tekster.samboerNavn.sporsmal), + verdi: sammeVerdiAlleSpråk(navn.svar), + }, + ident: { + label: tilRestLocaleRecord(tekster.foedselsnummerEllerDNummer.sporsmal), + verdi: sammeVerdiAlleSpråk(ident.svar), + }, + fødselsdato: { + label: tilRestLocaleRecord(tekster.foedselsdato.sporsmal), + verdi: sammeVerdiAlleSpråk(fødselsdato.svar), + }, + samboerFraDato: { + label: tilRestLocaleRecord(tekster.startdato.sporsmal), + verdi: sammeVerdiAlleSpråk(samboerFraDato.svar), + }, + }), }; - return søknadsfelt( - 'pdf.samboer.label', - sammeVerdiAlleSpråk({ - navn: søknadsfelt(språktekstIds.navn, sammeVerdiAlleSpråk(navn.svar)), - ident: søknadsfelt( - språktekstIds.ident, - sammeVerdiAlleSpråkEllerUkjentSpråktekst(ident.svar, samboerSpråkIder.fnrUkjent) - ), - fødselsdato: søknadsfelt( - språktekstIds.fødselsdato, - sammeVerdiAlleSpråkEllerUkjentSpråktekst( - fødselsdato.svar, - samboerSpråkIder.fødselsdatoUkjent - ) - ), - samboerFraDato: søknadsfelt( - språktekstIds.samboerFraDato, - sammeVerdiAlleSpråk(samboerFraDato.svar) - ), - }) - ); }; diff --git "a/src/frontend/utils/mappingTilKontrakt/s\303\270knad.ts" "b/src/frontend/utils/mappingTilKontrakt/s\303\270knad.ts" index 83945c25f..b1718d6cf 100644 --- "a/src/frontend/utils/mappingTilKontrakt/s\303\270knad.ts" +++ "b/src/frontend/utils/mappingTilKontrakt/s\303\270knad.ts" @@ -131,9 +131,19 @@ export const dataISøknadKontraktFormat = ( ...spørmålISøknadsFormat(typetSøkerSpørsmål, undefined, tekster), ...spørmålISøknadsFormat(typetUtvidaSpørsmål, undefined, tekster), }, - tidligereSamboere: tidligereSamboere.map(tidligereSamboerISøknadKontraktFormat), + tidligereSamboere: tidligereSamboere.map(samboer => + tidligereSamboerISøknadKontraktFormat({ + tekster: fellesTekster.modaler.tidligereSamboere.søker, + tilRestLocaleRecord, + samboer, + }) + ), nåværendeSamboer: nåværendeSamboer - ? samboerISøknadKontraktFormat(nåværendeSamboer) + ? samboerISøknadKontraktFormat({ + tekster: fellesTekster.modaler.tidligereSamboere.søker, + tilRestLocaleRecord, + samboer: nåværendeSamboer, + }) : null, arbeidsperioderUtland: arbeidsperioderUtland.map((periode, index) => tilIArbeidsperiodeIKontraktFormat({ diff --git a/src/frontend/utils/mappingTilKontrakt/tidligereSamboer.ts b/src/frontend/utils/mappingTilKontrakt/tidligereSamboer.ts index d0fc94c4f..471be53cf 100644 --- a/src/frontend/utils/mappingTilKontrakt/tidligereSamboer.ts +++ b/src/frontend/utils/mappingTilKontrakt/tidligereSamboer.ts @@ -1,26 +1,42 @@ import { TidligereSamboerSpørsmålId } from '../../components/SøknadsSteg/DinLivssituasjon/spørsmål'; import { LocaleType } from '../../typer/common'; -import { IKontraktTidligereSamboer, ISøknadsfelt } from '../../typer/kontrakt/generelle'; +import { + IKontraktTidligereSamboer, + ISøknadsfelt, + TilRestLocaleRecord, +} from '../../typer/kontrakt/generelle'; import { ITidligereSamboer } from '../../typer/person'; +import { ITidligereSamoboereTekstinnhold } from '../../typer/sanity/modaler/tidligereSamboere'; import { sammeVerdiAlleSpråk, språktekstIdFraSpørsmålId, søknadsfelt } from './hjelpefunksjoner'; import { samboerISøknadKontraktFormat } from './samboer'; -export const tidligereSamboerISøknadKontraktFormat = ( - samboer: ITidligereSamboer -): ISøknadsfelt => { - const { samboerTilDato, navn } = samboer; - const { verdi: samboerIKontraktFormat } = samboerISøknadKontraktFormat(samboer); +interface TidligereSamboerIKontraktFormatParams { + tekster: ITidligereSamoboereTekstinnhold; + tilRestLocaleRecord: TilRestLocaleRecord; + samboer: ITidligereSamboer; +} - return søknadsfelt( - 'pdf.tidligeresamboer.label', - sammeVerdiAlleSpråk({ +export const tidligereSamboerISøknadKontraktFormat = ({ + tekster, + tilRestLocaleRecord, + samboer, +}: TidligereSamboerIKontraktFormatParams): ISøknadsfelt => { + const { samboerTilDato } = samboer; + const { verdi: samboerIKontraktFormat } = samboerISøknadKontraktFormat({ + tekster, + tilRestLocaleRecord, + samboer, + }); + + return { + label: tilRestLocaleRecord(tekster.oppsummeringstittel), + verdi: sammeVerdiAlleSpråk({ ...samboerIKontraktFormat[LocaleType.nb], samboerTilDato: søknadsfelt( språktekstIdFraSpørsmålId(TidligereSamboerSpørsmålId.tidligereSamboerTilDato), sammeVerdiAlleSpråk(samboerTilDato.svar) ), }), - { navn: navn.svar } - ); + }; };