@@ -4,17 +4,19 @@ import { BodyShort, Button, Table } from '@navikt/ds-react';
4
4
import * as arr from 'fp-ts/Array' ;
5
5
import * as Ord from 'fp-ts/Ord' ;
6
6
import * as S from 'fp-ts/string' ;
7
+ import { useEffect } from 'react' ;
7
8
import { Link } from 'react-router-dom' ;
8
9
9
10
import * as VedtakActions from 'src/features/VedtakActions' ;
10
11
import * as DokumentApi from '~src/api/dokumentApi' ;
11
12
import { forhåndsvisVedtaksbrevTilbakekrevingsbehandling } from '~src/api/tilbakekrevingApi' ;
12
- import ApiErrorAlert from '~src/components/apiErrorAlert/ApiErrorAlert' ;
13
+ import { useApiErrorMessages } from '~src/components/apiErrorAlert/ApiErrorAlert' ;
13
14
import Oppsummeringspanel , {
14
15
Oppsummeringsfarge ,
15
16
Oppsummeringsikon ,
16
17
} from '~src/components/oppsummering/oppsummeringspanel/Oppsummeringspanel' ;
17
18
import SuTabell , { AriaSortVerdi } from '~src/components/tabell/SuTabell' ;
19
+ import { createToast , ToastType , useToast } from '~src/components/toast/Toast' ;
18
20
import { pipe } from '~src/lib/fp' ;
19
21
import { useApiCall , useAsyncActionCreator } from '~src/lib/hooks' ;
20
22
import { useI18n } from '~src/lib/i18n' ;
@@ -48,6 +50,8 @@ const isOversendtKlage = (v: Vedtak | Klage): v is Klage => !('periode' in v);
48
50
const isVedtak = ( v : VedtakEllerOversendtKlage ) : v is Vedtak => 'periode' in v ;
49
51
50
52
const Vedtakstabell = ( props : { sakId : string ; vedtakOgOversendteKlager : VedtakOgOversendteKlager } ) => {
53
+ const { insert } = useToast ( ) ;
54
+ const apiErrorMessages = useApiErrorMessages ( ) ;
51
55
const { formatMessage } = useI18n ( { messages } ) ;
52
56
53
57
const sorterTabell = (
@@ -128,6 +132,43 @@ const Vedtakstabell = (props: { sakId: string; vedtakOgOversendteKlager: VedtakO
128
132
VedtakActions . startNySøknadsbehandling ,
129
133
) ;
130
134
135
+ //pakker hver status inn i egen useEffect, så flere feil ikke blir vist samtidig i toasts
136
+ useEffect ( ( ) => {
137
+ if ( RemoteData . isFailure ( startNysøknadsbehandlingStatus ) ) {
138
+ insert (
139
+ createToast ( {
140
+ type : ToastType . ERROR ,
141
+ duration : 5000 ,
142
+ message : apiErrorMessages ( startNysøknadsbehandlingStatus . error ) ,
143
+ } ) ,
144
+ ) ;
145
+ }
146
+ } , [ startNysøknadsbehandlingStatus ] ) ;
147
+
148
+ useEffect ( ( ) => {
149
+ if ( RemoteData . isFailure ( tilbakekrevingsbrevStatus ) ) {
150
+ insert (
151
+ createToast ( {
152
+ type : ToastType . ERROR ,
153
+ duration : 5000 ,
154
+ message : apiErrorMessages ( tilbakekrevingsbrevStatus . error ) ,
155
+ } ) ,
156
+ ) ;
157
+ }
158
+ } , [ tilbakekrevingsbrevStatus ] ) ;
159
+
160
+ useEffect ( ( ) => {
161
+ if ( RemoteData . isFailure ( hentDokumenterStatus ) ) {
162
+ insert (
163
+ createToast ( {
164
+ type : ToastType . ERROR ,
165
+ duration : 5000 ,
166
+ message : apiErrorMessages ( hentDokumenterStatus . error ) ,
167
+ } ) ,
168
+ ) ;
169
+ }
170
+ } , [ hentDokumenterStatus ] ) ;
171
+
131
172
return (
132
173
< Table . Row key = { vedtak . id } >
133
174
< Table . DataCell >
@@ -203,11 +244,8 @@ const Vedtakstabell = (props: { sakId: string; vedtakOgOversendteKlager: VedtakO
203
244
< EnvelopeClosedIcon />
204
245
</ Button >
205
246
) }
206
- { RemoteData . isFailure ( tilbakekrevingsbrevStatus ) && (
207
- < ApiErrorAlert size = "small" error = { tilbakekrevingsbrevStatus . error } />
208
- ) }
209
247
</ Table . DataCell >
210
- < Table . DataCell className = { styles . startNyBehandlingDataCellContainer } >
248
+ < Table . DataCell >
211
249
{ isVedtak ( vedtak ) && vedtak . kanStarteNyBehandling && (
212
250
< Button
213
251
size = "small"
@@ -222,10 +260,6 @@ const Vedtakstabell = (props: { sakId: string; vedtakOgOversendteKlager: VedtakO
222
260
{ formatMessage ( 'dataCell.startNyBehandling' ) }
223
261
</ Button >
224
262
) }
225
-
226
- { RemoteData . isFailure ( startNysøknadsbehandlingStatus ) && (
227
- < ApiErrorAlert size = "small" error = { startNysøknadsbehandlingStatus . error } />
228
- ) }
229
263
</ Table . DataCell >
230
264
</ Table . Row >
231
265
) ;
0 commit comments