Skip to content

Commit

Permalink
Merge pull request #314 from navikt/vedleggsvalg
Browse files Browse the repository at this point in the history
Vedleggsvalg
  • Loading branch information
akgagnat authored Aug 15, 2024
2 parents 0619110 + bf6c8d1 commit 3f86bb6
Show file tree
Hide file tree
Showing 22 changed files with 1,041 additions and 188 deletions.
19 changes: 16 additions & 3 deletions assets/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
"mottatt": "Recieved",
"lastetOpp": "Uploaded",
"ettersendingFilvelgerKnapp": "Upload new files",
"paakrevd": "TODO: Dette vedlegget må sendes inn sammen med søknaden / skjemaet.",
"feilmelding": {
"manglerFil": "Upload {{label}}"
},
Expand All @@ -75,7 +76,10 @@
"tittel": "Select submission",
"lasterOppNaa": "I will upload this now",
"sendSenere": "I will upload this later",
"sendesAvAndre": "Will be submitted by others (e.g. doctor, employer)"
"sendesAvAndre": "Will be submitted by others (e.g. doctor, employer)",
"levertDokumentasjonTidligere": "I have provided this documentation previously",
"harIkkeDokumentasjonen": "I do not have this documentation",
"navKanHenteDokumentasjon": "I would like NAV to obtain this documentation"
},
"fil": {
"provIgjen": "Try again",
Expand Down Expand Up @@ -153,6 +157,9 @@
"skjemaLenke": "Download a copy",
"maaEttersendes": "Documents that must be sent later:",
"sendesAvAndre": "Documents to be sent by others:",
"levertTidligere": "Documentation you have previously submitted",
"sendesIkkeInn": "Documentation you do not have",
"navKanInnhente": "Documentation NAV can collect for me",
"fristEttersending": "Deadline for forwarding documents: {{dato}}",
"ettersendingsInfo": "You have to submit the attachments that are missing in order to complete the application. Go to My page to see the submitted documents.",
"altMottatInfo": "Go to My page to see the submitted documents.",
Expand All @@ -170,7 +177,9 @@
"filForStor": "The size of the selected file exceeds the maximum size limit. The maximum size allowed is 50MB.",
"filIkkeValgt": "An error occurred during file selection, please retry",
"filUtenInnhold": "Selected file has no content, choose a file larger than 0 kB",
"ugyldigFilformat": "Feil filformat, det er kun lov å laste opp filer av type PDF, JPEG/JPG og PNG"
"ugyldigFilformat": "Feil filformat, det er kun lov å laste opp filer av type PDF, JPEG/JPG og PNG",
"paakrevd": "You must fill in: {{felt}}",
"maksLengde": "{{felt}} cannot be longer than {{maksLengde}} characters"
},
"feilside": {
"404": {
Expand Down Expand Up @@ -204,5 +213,9 @@
}
},
"statuskode": "Status code",
"for": "for"
"for": "for",
"textarea": {
"counterLeft": "remaining characters",
"counterTooMuch": "characters above limit"
}
}
19 changes: 16 additions & 3 deletions assets/locales/nb/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
"mottatt": "Mottatt",
"lastetOpp": "Lastet opp",
"ettersendingFilvelgerKnapp": "Last opp nye filer",
"paakrevd": "Dette vedlegget må sendes inn sammen med søknaden / skjemaet.",
"feilmelding": {
"manglerFil": "Last opp {{label}}"
},
Expand All @@ -75,7 +76,10 @@
"tittel": "Velg innsending",
"lasterOppNaa": "Jeg laster opp dette nå",
"sendSenere": "Jeg laster opp dette senere",
"sendesAvAndre": "Sendes inn av andre (for eksempel lege eller arbeidsgiver)"
"sendesAvAndre": "Sendes inn av andre (for eksempel lege eller arbeidsgiver)",
"levertDokumentasjonTidligere": "Jeg har levert denne dokumentasjonen tidligere",
"harIkkeDokumentasjonen": "Jeg har ikke denne dokumentasjonen",
"navKanHenteDokumentasjon": "Jeg ønsker at NAV innhenter denne dokumentasjonen"
},
"fil": {
"provIgjen": "Prøv igjen",
Expand Down Expand Up @@ -153,6 +157,9 @@
"skjemaLenke": "Last ned kopi",
"maaEttersendes": "Dokumenter som må ettersendes:",
"sendesAvAndre": "Dokumenter som skal sendes av andre:",
"levertTidligere": "Dokumentasjon du har levert tidligere",
"sendesIkkeInn": "Dokumentasjon du ikke har",
"navKanInnhente": "Dokumentasjon NAV kan hente inn for meg",
"fristEttersending": "Frist for å ettersende dokumentene: {{dato}}",
"ettersendingsInfo": "For at søknaden skal bli komplett må du sende inn vedleggene som mangler. På Min side kan du se hvilke dokumenter som er sendt inn.",
"altMottatInfo": "På Min side kan du se dokumentene som er sendt inn.",
Expand All @@ -171,7 +178,9 @@
"filForStor": "Størrelsen på filen overskrider maksimal tillatt størrelse. Den maksimale størrelsen er 50MB.",
"filIkkeValgt": "En feil oppsto under valg av fil. Prøv på nytt",
"filUtenInnhold": "Valgt fil mangler innhold, velg en fil som er større en 0 kB",
"ugyldigFilformat": "Invalid file format. It is only allowed to upload files of type PDF, JPEG/JPG and PNG"
"ugyldigFilformat": "Invalid file format. It is only allowed to upload files of type PDF, JPEG/JPG and PNG",
"paakrevd": "Du må fylle ut: {{felt}}",
"maksLengde": "{{felt}} kan ikke være mer enn {{maksLengde}} tegn"
},
"feilside": {
"404": {
Expand Down Expand Up @@ -205,5 +214,9 @@
},
"statuskode": "Statuskode"
},
"for": "for"
"for": "for",
"textarea": {
"counterLeft": "tegn igjen",
"counterTooMuch": "tegn for mye"
}
}
20 changes: 16 additions & 4 deletions assets/locales/nn/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
"mottatt": "Tatt imot",
"lastetOpp": "Lastet opp",
"ettersendingFilvelgerKnapp": "Last opp nye filer",
"paakrevd": "TODO: Dette vedlegget må sendes inn sammen med søknaden / skjemaet.",
"feilmelding": {
"manglerFil": "Last opp {{label}}"
},
Expand All @@ -75,7 +76,10 @@
"tittel": "Velg innsending",
"lasterOppNaa": "Eg lastar opp dette nå",
"sendSenere": "Eg lastar opp dette seinare",
"sendesAvAndre": "Sendes inn av andre (til dømes lege eller arbeidsgjevar)"
"sendesAvAndre": "Sendes inn av andre (til dømes lege eller arbeidsgjevar)",
"levertDokumentasjonTidligere": "Eg har levert denne dokumentasjonen tidlegare",
"harIkkeDokumentasjonen": "Eg har ikkje denne dokumentasjonen",
"navKanHenteDokumentasjon": "Eg ønskjer at NAV innhentar denne dokumentasjonen"
},
"fil": {
"provIgjen": "Prøv igjen",
Expand Down Expand Up @@ -153,13 +157,15 @@
"skjemaLenke": "Last ned kopi",
"maaEttersendes": " Dokument som må ettersendast:",
"sendesAvAndre": " Dokument som skal sendast av andre:",
"levertTidligere": "Dokumentasjon du har levert tidlegare",
"sendesIkkeInn": "Dokumentasjon du ikkje har",
"navKanInnhente": "Dokumentasjon NAV kan hente inn for meg",
"fristEttersending": "Frist for å ettersenda dokumenta: {{dato}}",
"ettersendingsInfo": "For at søknaden skal bli komplett må du sende inn vedlegga som manglar. På Mi side kan du sjå kva dokument som er sendt inn.",
"altMottatInfo": "På Mi side kan du sjå dokumenta som er sendt inn.",
"manglerInnsendtAvAndre": "Sørg for at dokumenta som skal sendast inn av andre blir sende inn. På Mi side kan du sjå kva dokument som er sendt inn.",
"manglerInnsendingAvSelvOgAndre": "For at søknaden skal bli komplett må du sende inn vedlegga som manglar.\n\nSørg også for at dokumenta som skal sendast inn av andre blir sende inn.\n\nPå Mi side kan du sjå kva dokument som er sendt inn.",


"minSideKnapp": "Gå til Min side"
},
"feil": {
Expand All @@ -172,7 +178,9 @@
"filForStor": "Storleiken på fila overskrid maksimal tillaten storleik. Den maksimale storleiken er 50MB.",
"filIkkeValgt": "Ein feil oppstod under val av fil. Prøv på nytt",
"filUtenInnhold": "Vald fil manglar innhald, vel ei fil som er større ein 0 kB",
"ugyldigFilformat": "Feil filformat, det er berre lov å laste opp filer av typen PDF, JPEG/JPG og PNG"
"ugyldigFilformat": "Feil filformat, det er berre lov å laste opp filer av typen PDF, JPEG/JPG og PNG",
"paakrevd": "Du må fylle ut: {{felt}}",
"maksLengde": "{{felt}} kan ikkje vera meir enn {{maksLengde}} teikn"
},
"feilside": {
"404": {
Expand Down Expand Up @@ -206,5 +214,9 @@
},
"statuskode": "Statuskode"
},
"for": "for"
"for": "for",
"textarea": {
"counterLeft": "teikn igjen",
"counterTooMuch": "teikn for mykje"
}
}
75 changes: 28 additions & 47 deletions components/Kvittering.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { Alert, BodyLong, BodyShort, Button, Heading } from '@navikt/ds-react';
import { TFunction } from 'i18next';
import getConfig from 'next/config';
import { useId } from 'react';
import { useTranslation } from 'react-i18next';
import styled from 'styled-components';
import { InnsendtVedleggDto, KvitteringsDto } from '../types/types';
import { formatertDato } from '../utils/dato';
import { KvitteringsTillegg } from './KvitteringsTillegg';
import { useVedleggslisteContext } from './VedleggsListe';
Expand All @@ -14,26 +16,6 @@ export interface KvitteringsProps {
kvprops: KvitteringsDto;
}

export interface KvitteringsDto {
innsendingsId: string;
label: string;
mottattdato: string;
hoveddokumentRef: string;
innsendteVedlegg: {
vedleggsnr: string;
tittel: string;
}[];
skalEttersendes: {
vedleggsnr: string;
tittel: string;
}[];
skalSendesAvAndre: {
vedleggsnr: string;
tittel: string;
}[];
ettersendingsfrist: string;
}

const SjekkBoksListe = styled.ul`
list-style: none;
margin: 0;
Expand Down Expand Up @@ -76,6 +58,27 @@ function ettersendingsTekst({ kvprops, t }: { kvprops: KvitteringsDto; t: TFunct
else return '';
}

const VedleggsGruppe = ({ vedleggsGruppe, tittel }: { vedleggsGruppe: InnsendtVedleggDto[]; tittel: string }) => {
const id = useId();
return (
<>
{vedleggsGruppe && vedleggsGruppe.length > 0 && (
<StyledSection aria-labelledby={id}>
<Heading id={id} spacing size="medium" level="2">
{tittel}
</Heading>

<BodyShort as="ul" size="medium" spacing>
{vedleggsGruppe.map((vedlegg) => {
return <li key={vedlegg.vedleggsnr}> {vedlegg.tittel}</li>;
})}
</BodyShort>
</StyledSection>
)}
</>
);
};

export default function Kvittering({ kvprops }: KvitteringsProps) {
const { t } = useTranslation();

Expand Down Expand Up @@ -132,33 +135,11 @@ export default function Kvittering({ kvprops }: KvitteringsProps) {
</SjekkBoksListe>
</StyledSection>

{kvprops.skalEttersendes && kvprops.skalEttersendes.length > 0 && (
<StyledSection aria-labelledby="maaEttersendesHeading">
<Heading id={'maaEttersendesHeading'} spacing size="medium" level="2">
{t('kvittering.maaEttersendes')}
</Heading>

<BodyShort as="ul" size="medium" spacing>
{kvprops.skalEttersendes.map((vedlegg) => {
return <li key={vedlegg.vedleggsnr}> {vedlegg.tittel}</li>;
})}
</BodyShort>
</StyledSection>
)}

{kvprops.skalSendesAvAndre && kvprops.skalSendesAvAndre.length > 0 && (
<StyledSection aria-labelledby="sendesAvAndreHeading">
<Heading id={'sendesAvAndreHeading'} spacing size="medium" level="2">
{t('kvittering.sendesAvAndre')}
</Heading>

<BodyShort as="ul" size="medium" spacing>
{kvprops.skalSendesAvAndre.map((vedlegg) => {
return <li key={vedlegg.vedleggsnr}> {vedlegg.tittel}</li>;
})}
</BodyShort>
</StyledSection>
)}
<VedleggsGruppe vedleggsGruppe={kvprops.skalEttersendes} tittel={t('kvittering.maaEttersendes')} />
<VedleggsGruppe vedleggsGruppe={kvprops.levertTidligere} tittel={t('kvittering.levertTidligere')} />
<VedleggsGruppe vedleggsGruppe={kvprops.sendesIkkeInn} tittel={t('kvittering.sendesIkkeInn')} />
<VedleggsGruppe vedleggsGruppe={kvprops.skalSendesAvAndre} tittel={t('kvittering.sendesAvAndre')} />
<VedleggsGruppe vedleggsGruppe={kvprops.navKanInnhente} tittel={t('kvittering.navKanInnhente')} />

{((kvprops.skalEttersendes && kvprops.skalEttersendes.length > 0) ||
(kvprops.skalSendesAvAndre && kvprops.skalSendesAvAndre.length > 0)) && (
Expand Down
13 changes: 8 additions & 5 deletions components/Vedlegg.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import { BodyShort, Button, Heading, Link as NavLink, Panel } from '@navikt/ds-r
import { useTranslation } from 'react-i18next';
import styled from 'styled-components';
import { v4 as uuidv4 } from 'uuid';
import VedleggRadio from '../components/VedleggRadio';
import { Filvelger } from './Filvelger';

import getConfig from 'next/config';
Expand All @@ -21,6 +20,7 @@ import { ValideringsRamme } from './ValideringsRamme';
import parse from 'html-react-parser';
import sanitizeHtml from 'sanitize-html';
import { useVedleggslisteContext } from './VedleggsListe';
import VedleggsValg from './VedleggsValg';

const { publicRuntimeConfig } = getConfig();

Expand Down Expand Up @@ -168,7 +168,10 @@ function Vedlegg(props: VedleggProps) {

const erAnnetVedlegg = vedlegg.vedleggsnr?.toUpperCase() === 'N6' && !vedlegg.erPakrevd;
const erSendtInnTidligere = !!vedlegg.innsendtdato;
const skjulFiler = valgtOpplastingStatus === 'SendSenere' || valgtOpplastingStatus === 'SendesAvAndre';
const visFiler =
valgtOpplastingStatus === 'IkkeValgt' ||
valgtOpplastingStatus === 'LastetOpp' ||
valgtOpplastingStatus === 'Innsendt';

const manglerFilTekst = () => {
if (vedlegg.erHoveddokument)
Expand Down Expand Up @@ -288,7 +291,7 @@ function Vedlegg(props: VedleggProps) {
</div>

{vedlegg.erPakrevd && !vedlegg.erHoveddokument && !erSendtInnTidligere && (
<VedleggRadio
<VedleggsValg
id={vedlegg.id}
vedlegg={vedlegg}
harOpplastetFil={harOpplastetFil}
Expand Down Expand Up @@ -329,7 +332,7 @@ function Vedlegg(props: VedleggProps) {
</SendtInnTidligereGruppe>
)}

{!skjulFiler && (
{visFiler && (
<VedleggButtons>
<Filvelger
autoFocus={autoFocus}
Expand Down Expand Up @@ -364,7 +367,7 @@ function Vedlegg(props: VedleggProps) {
</VedleggButtons>
)}

{!skjulFiler && filListe.length > 0 && (
{visFiler && filListe.length > 0 && (
<FilListeGruppe>
<Heading id={`sendtInnNaa-${vedlegg.id}`} level={'4'} size="xsmall" spacing>
{t('soknad.vedlegg.sendtInnNaa')}
Expand Down
Loading

0 comments on commit 3f86bb6

Please sign in to comment.