@@ -25,27 +25,43 @@ export const useFilopplaster2 = (
25
25
26
26
const MAKS_FILSTØRRELSE_MB = 10 ;
27
27
const MAKS_FILSTØRRELSE_BYTES = MAKS_FILSTØRRELSE_MB * 1024 * 1024 ;
28
- const MAKS_ANTALL_FILER = 25 ;
28
+ const MAKS_ANTALL_FILER = 4 ;
29
29
30
30
const støttedeFiltyper = [ EFiltyper . PNG , EFiltyper . JPG , EFiltyper . JPEG , EFiltyper . PDF ] ;
31
31
32
- const feilMeldinger : Record < FileRejectionReason , string > = {
32
+ const feilmeldinger : Record < FileRejectionReason | string , string > = {
33
33
fileType : 'Filformatet støttes ikke' ,
34
34
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` ,
35
36
} ;
36
37
37
38
const dagensDatoStreng = new Date ( ) . toISOString ( ) ;
38
39
39
40
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 ] ;
42
58
43
59
setAvvsiteFiler ( [ ...avvisteFiler , ...nyeAvvisteFiler ] ) ;
44
60
45
61
const nyeVedlegg : IVedlegg [ ] = [ ] ;
46
62
47
63
await Promise . all (
48
- nyeAksepterteFiler . map ( ( fil : FileAccepted ) => {
64
+ aksepterteFiler . map ( fil => {
49
65
return wrapMedSystemetLaster ( async ( ) => {
50
66
const requestData = new FormData ( ) ;
51
67
requestData . append ( 'file' , fil . file ) ;
@@ -113,7 +129,7 @@ export const useFilopplaster2 = (
113
129
MAKS_FILSTØRRELSE_BYTES,
114
130
MAKS_ANTALL_FILER ,
115
131
støttedeFiltyper,
116
- feilMeldinger ,
132
+ feilmeldinger ,
117
133
leggTilVedlegg,
118
134
fjernVedlegg,
119
135
fjernAvvistFil,
0 commit comments