@@ -51,6 +51,15 @@ export const VeilederInput = () => {
51
51
skip : ! veilederBorgerFnr . fnr || ! veilederBorgerFnr . encryptedFnr ,
52
52
} )
53
53
54
+ const [ encryptedRequestLoading , setEncryptedRequestLoading ] = React . useState <
55
+ 'IDLE' | 'LOADING' | 'SUCCESS' | 'ERROR'
56
+ > ( 'IDLE' )
57
+
58
+ const isLoading = React . useMemo (
59
+ ( ) => personLoading || encryptedRequestLoading === 'LOADING' ,
60
+ [ personLoading , encryptedRequestLoading ]
61
+ )
62
+
54
63
const hasTimedOut = React . useMemo ( ( ) => {
55
64
const queryParams = new URLSearchParams ( window . location . search )
56
65
return queryParams . has ( 'timeout' )
@@ -74,10 +83,19 @@ export const VeilederInput = () => {
74
83
}
75
84
76
85
const encryptFnr = ( fnr : string ) => {
86
+ setEncryptedRequestLoading ( 'LOADING' )
77
87
return fetch ( `${ API_BASEURL } /v1/encrypt` , {
78
88
method : 'POST' ,
79
89
body : fnr ,
80
- } ) . then ( ( res ) => res . text ( ) )
90
+ } )
91
+ . then ( ( res ) => {
92
+ setEncryptedRequestLoading ( 'SUCCESS' )
93
+ return res . text ( )
94
+ } )
95
+ . catch ( ( ) => {
96
+ setEncryptedRequestLoading ( 'ERROR' )
97
+ throw new Error ( 'Kunne ikke hente kryptert fnr.' )
98
+ } )
81
99
}
82
100
83
101
const onSubmit = ( event : React . FormEvent < HTMLFormElement > ) => {
@@ -116,11 +134,7 @@ export const VeilederInput = () => {
116
134
)
117
135
}
118
136
119
- if (
120
- ( ! personSuccess && ! veilederBorgerFnr . fnr ) ||
121
- personError ||
122
- personLoading
123
- ) {
137
+ if ( ( ! personSuccess && ! veilederBorgerFnr . fnr ) || personError || isLoading ) {
124
138
return (
125
139
< div data-testid = "veileder-uten-borger" >
126
140
< InternalHeader >
@@ -142,6 +156,11 @@ export const VeilederInput = () => {
142
156
< br /> Logg inn på bruker på nytt.
143
157
</ Alert >
144
158
) }
159
+ { encryptedRequestLoading === 'ERROR' && (
160
+ < Alert variant = "error" data-testid = "inaktiv-alert" >
161
+ Feil ved kryptering av fødselsnummer
162
+ </ Alert >
163
+ ) }
145
164
< VeilederInputRequestError personError = { personError } />
146
165
< BodyLong >
147
166
Logg inn i pensjonskalkulator på vegne av bruker.
0 commit comments