Skip to content

Commit 0a914da

Browse files
Legger til feilmeldinger for maks antall filer
1 parent af42349 commit 0a914da

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

src/frontend/components/SøknadsSteg/Dokumentasjon/LastOppVedlegg2.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const LastOppVedlegg2: React.FC<Props> = ({ dokumentasjon, oppdaterDokumentasjon
3131
MAKS_FILSTØRRELSE_BYTES,
3232
MAKS_ANTALL_FILER,
3333
støttedeFiltyper,
34-
feilMeldinger,
34+
feilmeldinger,
3535
leggTilVedlegg,
3636
fjernVedlegg,
3737
fjernAvvistFil,
@@ -158,7 +158,7 @@ const LastOppVedlegg2: React.FC<Props> = ({ dokumentasjon, oppdaterDokumentasjon
158158
as="li"
159159
key={index}
160160
file={fil.file}
161-
error={feilMeldinger[fil.reasons[0]]}
161+
error={feilmeldinger[fil.reasons[0]]}
162162
button={{
163163
action: 'delete',
164164
onClick: () => fjernAvvistFil(fil),

src/frontend/components/SøknadsSteg/Dokumentasjon/filopplaster/useFilopplaster2.tsx

+22-6
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,43 @@ export const useFilopplaster2 = (
2525

2626
const MAKS_FILSTØRRELSE_MB = 10;
2727
const MAKS_FILSTØRRELSE_BYTES = MAKS_FILSTØRRELSE_MB * 1024 * 1024;
28-
const MAKS_ANTALL_FILER = 25;
28+
const MAKS_ANTALL_FILER = 4;
2929

3030
const støttedeFiltyper = [EFiltyper.PNG, EFiltyper.JPG, EFiltyper.JPEG, EFiltyper.PDF];
3131

32-
const feilMeldinger: Record<FileRejectionReason, string> = {
32+
const feilmeldinger: Record<FileRejectionReason | string, string> = {
3333
fileType: 'Filformatet støttes ikke',
3434
fileSize: `Filen er større enn ${MAKS_FILSTØRRELSE_MB} MB`,
35+
maksFilerNådd: `Du kan ikke laste opp flere enn ${MAKS_ANTALL_FILER} filer`,
3536
};
3637

3738
const dagensDatoStreng = new Date().toISOString();
3839

3940
const leggTilVedlegg = async (nyeFiler: FileObject[]) => {
40-
const nyeAksepterteFiler = nyeFiler.filter(file => !file.error);
41-
const nyeAvvisteFiler = nyeFiler.filter(file => file.error);
41+
const ledigePlasser = MAKS_ANTALL_FILER - dokumentasjon.opplastedeVedlegg.length;
42+
43+
const gyldigeFiler: FileAccepted[] = nyeFiler.filter(file => !file.error);
44+
const feilendeFiler: FileRejected[] = nyeFiler.filter(file => file.error);
45+
46+
const aksepterteFiler = gyldigeFiler.slice(0, ledigePlasser);
47+
const filerOverMaksAntall = gyldigeFiler.slice(aksepterteFiler.length);
48+
49+
const filerOverMaksAntallMedFeilmeldinger: FileRejected[] = filerOverMaksAntall.map(fil => {
50+
return {
51+
file: fil.file,
52+
error: true,
53+
reasons: [feilmeldinger.maksFilerNådd],
54+
};
55+
});
56+
57+
const nyeAvvisteFiler = [...feilendeFiler, ...filerOverMaksAntallMedFeilmeldinger];
4258

4359
setAvvsiteFiler([...avvisteFiler, ...nyeAvvisteFiler]);
4460

4561
const nyeVedlegg: IVedlegg[] = [];
4662

4763
await Promise.all(
48-
nyeAksepterteFiler.map((fil: FileAccepted) => {
64+
aksepterteFiler.map(fil => {
4965
return wrapMedSystemetLaster(async () => {
5066
const requestData = new FormData();
5167
requestData.append('file', fil.file);
@@ -113,7 +129,7 @@ export const useFilopplaster2 = (
113129
MAKS_FILSTØRRELSE_BYTES,
114130
MAKS_ANTALL_FILER,
115131
støttedeFiltyper,
116-
feilMeldinger,
132+
feilmeldinger,
117133
leggTilVedlegg,
118134
fjernVedlegg,
119135
fjernAvvistFil,

0 commit comments

Comments
 (0)