Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Legg inn sanity-tekster på forsiden #1139

Merged
merged 7 commits into from
Mar 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,8 @@ const BekreftelseOgStartSoknad: React.FC = () => {
<FormContainer onSubmit={event => onStartSøknad(event)}>
{toggles[EFeatureToggle.KOMBINER_SOKNADER] && (
<VStack gap={'6'}>
<Alert variant="info" /* TODO: hent tekst fra sanity */>
Hvis du bor alene med barn under 18 år, kan du ha rett til utvidet
barnetrygd.
<Alert variant="info">
{plainTekst(forsidetekster.utvidetBarnetrygdAlert)}
</Alert>
<RadioGroup
legend={plainTekst(forsidetekster.soekerDuUtvidet.sporsmal)}
Expand Down
67 changes: 20 additions & 47 deletions src/frontend/components/SøknadsSteg/Forside/Forside.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { useEffect } from 'react';

import styled from 'styled-components';

import { Accordion, BodyShort, GuidePanel, Heading } from '@navikt/ds-react';
import { Accordion, GuidePanel, Heading } from '@navikt/ds-react';
import { LocaleType, Sprakvelger } from '@navikt/familie-sprakvelger';
import { RessursStatus } from '@navikt/familie-typer';

Expand All @@ -14,11 +14,13 @@ import { device } from '../../../Theme';
import { EFeatureToggle } from '../../../typer/feature-toggles';
import { ESøknadstype } from '../../../typer/kontrakt/generelle';
import { RouteEnum } from '../../../typer/routes';
import { ESanitySteg, Typografi } from '../../../typer/sanity/sanity';
import { logSidevisningBarnetrygd } from '../../../utils/amplitude';
import EksternLenke from '../../Felleskomponenter/EksternLenke/EksternLenke';
import FamilieAlert from '../../Felleskomponenter/FamilieAlert/FamilieAlert';
import Informasjonsbolk from '../../Felleskomponenter/Informasjonsbolk/Informasjonsbolk';
import InnholdContainer from '../../Felleskomponenter/InnholdContainer/InnholdContainer';
import TekstBlock from '../../Felleskomponenter/Sanity/TekstBlock';
import SpråkTekst from '../../Felleskomponenter/SpråkTekst/SpråkTekst';

import BekreftelseOgStartSoknad from './BekreftelseOgStartSoknad';
Expand Down Expand Up @@ -59,7 +61,8 @@ const StyledInformasjonsbolk = styled(Informasjonsbolk)`
`;

const Forside: React.FC = () => {
const { sluttbruker, mellomlagretVerdi, søknad, settNåværendeRoute } = useApp();
const { sluttbruker, mellomlagretVerdi, søknad, settNåværendeRoute, tekster, plainTekst } =
useApp();

const { toggles } = useFeatureToggles();
const kombinerSøknaderToggle = toggles[EFeatureToggle.KOMBINER_SOKNADER];
Expand All @@ -82,6 +85,8 @@ const Forside: React.FC = () => {

const navn = sluttbruker.status === RessursStatus.SUKSESS ? sluttbruker.data.navn : '-';

const forsidetekster = tekster()[ESanitySteg.FORSIDE];

if (!kombinerSøknaderToggle) {
return (
<InnholdContainer>
Expand Down Expand Up @@ -143,61 +148,29 @@ const Forside: React.FC = () => {
}
return (
<Layout>
<Heading size="xlarge" align={'center'} /* TODO: legg til tekst i sanity */>
Søknad om barnetrygd
<Heading size="xlarge" align={'center'}>
{plainTekst(forsidetekster.soeknadstittelBarnetrygd)}
</Heading>
<StyledSpråkvelger støttedeSprak={[LocaleType.nn, LocaleType.nb, LocaleType.en]} />
<GuidePanel poster /* TODO: legg til tekst i sanity*/>
<BodyShort weight="semibold">Hei, TODO TODOSEN!</BodyShort>
<BodyShort /* dette innholdet skal inn i sanity! alt sammen. blir vel en tekstblock*/
>
Jeg er her for å veilede deg gjennom søknaden.
</BodyShort>
<ul>
<li>Du må svare på alle spørsmål på hver side for å komme videre.</li>
<li>
Vi lagrer søknaden din ut morgendagen. Derfor kan du ta pauser når du fyller
ut.{' '}
</li>
<li>Du kan avbryte søknaden og slette opplysningene du har lagt inn.</li>
<li>
Du må bekrefte at du har lest og forstått pliktene dine for å fortsette med
søknaden.
</li>
</ul>
<GuidePanel poster>
<TekstBlock block={forsidetekster.veilederHei} typografi={Typografi.HeadingH2} />
<TekstBlock block={forsidetekster.veilederIntro} />
</GuidePanel>
<StyledAccordion size={'large'}>
<Accordion.Item>
<Accordion.Header>Hvis du får barnetrygd gjelder dette</Accordion.Header>
<Accordion.Header>
{plainTekst(forsidetekster.informasjonOmPlikterTittel)}
</Accordion.Header>
<Accordion.Content>
For at du skal få utbetalt riktig beløp fra NAV, er vi avhengig av at du gir
oss riktige opplysninger og melder fra når det skjer endringer i
livssituasjonen din.
<EksternLenke
lenkeSpråkId={'forside.plikter.lenke'}
lenkeTekstSpråkId={'forside.plikter.lenketekst'}
target="_blank"
/>
<TekstBlock block={forsidetekster.informasjonOmPlikter} />
</Accordion.Content>
</Accordion.Item>
<Accordion.Item>
<Accordion.Header>Vi vil hente og bruke informasjon om deg</Accordion.Header>
<Accordion.Header>
{plainTekst(forsidetekster.informasjonOmPersonopplysningerTittel)}
</Accordion.Header>
<Accordion.Content>
<BodyShort /* dette blir en tekstblock fra sanity*/>
I tillegg til den informasjonen du oppgir i søknaden, henter vi:
</BodyShort>
<ul>
<li>personinformasjon om deg og barna dine fra Folkeregisteret</li>
<li>opplysninger om deg vi har fra før</li>
</ul>
<BodyShort>
Dette gjør vi for å vurdere om du har rett til barnetrygd.
</BodyShort>
<EksternLenke
lenkeSpråkId={'forside.behandling-av-personopplysning.lenke'}
lenkeTekstSpråkId={'forside.behandling-av-personopplysning.lenketekst'}
target="_blank"
/>
<TekstBlock block={forsidetekster.informasjonOmPersonopplysninger} />
</Accordion.Content>
</Accordion.Item>
</StyledAccordion>
Expand Down
10 changes: 7 additions & 3 deletions src/frontend/context/AppContext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { IKvittering } from '../typer/kvittering';
import { IMellomlagretBarnetrygd } from '../typer/mellomlager';
import { ISøkerRespons } from '../typer/person';
import { RouteEnum } from '../typer/routes';
import { ESanityFlettefeltverdi, FlettefeltVerdier, PlainTekst } from '../typer/sanity/sanity';
import { ESanityFlettefeltverdi, ESanitySteg, FlettefeltVerdier } from '../typer/sanity/sanity';
import { ITekstinnhold } from '../typer/sanity/tekstInnhold';
import { initialStateSøknad, ISøknad } from '../typer/søknad';
import { InnloggetStatus } from '../utils/autentisering';
Expand Down Expand Up @@ -287,7 +287,11 @@ const [AppProvider, useApp] = createUseContext(() => {
getName(flettefelter.land, spesifikkLocale ?? valgtLocale) ?? flettefelter.land
);
case ESanityFlettefeltverdi.YTELSE:
throw Error('Flettefeltet YTELSE er ikke støttet enda');
return plainTekst(
tekster()[ESanitySteg.FELLES].frittståendeOrd.barnetrygd,
undefined,
spesifikkLocale ?? valgtLocale
);
case ESanityFlettefeltverdi.YTELSE_BESTEMT_FORM:
throw Error('Flettefeltet YTELSE_BESTEMT_FORM er ikke støttet enda');
case ESanityFlettefeltverdi.I_UTENFOR:
Expand All @@ -297,7 +301,7 @@ const [AppProvider, useApp] = createUseContext(() => {
}
};

const plainTekst: PlainTekst = plainTekstHof(flettefeltTilTekst, valgtLocale);
const plainTekst = plainTekstHof(flettefeltTilTekst, valgtLocale);

return {
axiosRequest,
Expand Down
7 changes: 6 additions & 1 deletion src/frontend/typer/sanity/sanity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ export type LocaleRecordBlock = Record<LocaleType, PortableTextBlock[]> & {
[key: string]: unknown;
};

export type LocaleRecordString = Record<LocaleType, string> & {
api_navn: string;
[key: string]: unknown;
};

export enum Typografi {
StegHeadingH1 = 'StegHeadingH1',
ModalHeadingH1 = 'ModalHeadingH1',
Expand Down Expand Up @@ -71,7 +76,7 @@ export type FlettefeltVerdier = {
};

export type PlainTekst = (
localeRecord: LocaleRecordBlock | undefined,
localeRecord: LocaleRecordBlock | LocaleRecordString | undefined,
flettefelter?: FlettefeltVerdier,
spesifikkLocale?: LocaleType
) => string;
20 changes: 17 additions & 3 deletions src/frontend/typer/sanity/tekstInnhold.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { ESanitySteg, ISanitySpørsmålDokument, LocaleRecordBlock } from './sanity';
import {
ESanitySteg,
ISanitySpørsmålDokument,
LocaleRecordBlock,
LocaleRecordString,
} from './sanity';

export interface ITekstinnhold {
[ESanitySteg.FORSIDE]: IForsideTekstinnhold;
Expand All @@ -10,10 +15,19 @@ export interface IFellesTekstInnhold {
}

export interface IFrittståendeOrdTekstinnhold {
ja: LocaleRecordBlock;
nei: LocaleRecordBlock;
ja: LocaleRecordString;
nei: LocaleRecordString;
barnetrygd: LocaleRecordString;
}

export interface IForsideTekstinnhold {
soeknadstittelBarnetrygd: LocaleRecordBlock;
veilederHei: LocaleRecordBlock;
veilederIntro: LocaleRecordBlock;
informasjonOmPlikter: LocaleRecordBlock;
informasjonOmPlikterTittel: LocaleRecordBlock;
informasjonOmPersonopplysninger: LocaleRecordBlock;
informasjonOmPersonopplysningerTittel: LocaleRecordBlock;
utvidetBarnetrygdAlert: LocaleRecordBlock;
soekerDuUtvidet: ISanitySpørsmålDokument;
}
3 changes: 2 additions & 1 deletion src/frontend/utils/sanity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
FlettefeltVerdier,
frittståendeOrdPrefix,
LocaleRecordBlock,
LocaleRecordString,
SanityDokument,
} from '../typer/sanity/sanity';
import {
Expand Down Expand Up @@ -74,7 +75,7 @@ export const plainTekstHof =
søknadLocale: LocaleType
) =>
(
localeRecord: LocaleRecordBlock | undefined,
localeRecord: LocaleRecordBlock | LocaleRecordString | undefined,
flettefelter?: FlettefeltVerdier,
spesifikkLocale?: LocaleType
): string => {
Expand Down
Loading