@@ -30,28 +30,25 @@ export const MarkerteKandidaterProvider = ({
30
30
const onMarkerKandidat = useCallback (
31
31
( kandidatNr : string | string [ ] ) => {
32
32
const sessionData = JSON . parse ( sessionStorage . getItem ( 'kandidatsøk-økt' ) || '{}' ) ;
33
+ const nySet = Array . isArray ( kandidatNr )
34
+ ? new Set ( kandidatNr )
35
+ : new Set (
36
+ markerteKandidater . has ( kandidatNr )
37
+ ? Array . from ( markerteKandidater ) . filter ( ( k ) => k !== kandidatNr )
38
+ : [ ...markerteKandidater , kandidatNr ]
39
+ ) ;
40
+ setMarkerteKandidater ( nySet ) ;
33
41
34
- if ( typeof kandidatNr === 'string' ) {
35
- const nySet = new Set ( markerteKandidater ) ;
36
- if ( nySet . has ( kandidatNr ) ) {
37
- nySet . delete ( kandidatNr ) ;
38
- } else {
39
- nySet . add ( kandidatNr ) ;
40
- }
41
-
42
- setMarkerteKandidater ( nySet ) ;
43
-
44
- if ( stillingId ) {
45
- const updatedData = {
46
- ...sessionData ,
47
- markerteKandidater : {
48
- ...sessionData . markerteKandidater ,
49
- [ stillingId ] : Array . from ( nySet ) ,
50
- } ,
51
- } ;
52
- sessionStorage . setItem ( 'kandidatsøk-økt' , JSON . stringify ( updatedData ) ) ;
53
- kandidatSøkØkt ?. setØkt ( updatedData ) ;
54
- }
42
+ if ( stillingId ) {
43
+ const updatedData = {
44
+ ...sessionData ,
45
+ markerteKandidater : {
46
+ ...sessionData . markerteKandidater ,
47
+ [ stillingId ] : Array . from ( nySet ) ,
48
+ } ,
49
+ } ;
50
+ sessionStorage . setItem ( 'kandidatsøk-økt' , JSON . stringify ( updatedData ) ) ;
51
+ kandidatSøkØkt ?. setØkt ( updatedData ) ;
55
52
}
56
53
} ,
57
54
[ stillingId , kandidatSøkØkt , markerteKandidater ]
@@ -85,7 +82,7 @@ export const MarkerteKandidaterProvider = ({
85
82
export const useMarkerteKandidaterØkt = ( ) => {
86
83
const context = useContext ( MarkerteKandidaterContext ) ;
87
84
if ( ! context ) {
88
- throw new Error ( 'useMarkerteKandidater must be used within MarkerteKandidaterProvider' ) ;
85
+ throw new Error ( 'useMarkerteKandidaterØkt must be used within MarkerteKandidaterProvider' ) ;
89
86
}
90
87
return context ;
91
88
} ;
0 commit comments