@@ -26,27 +26,35 @@ const AccountPage = () => {
2626
2727 const syncSkillsToBackend = async ( skillsToAdd , skillsToRemove ) => {
2828 try {
29+ const currentUser = JSON . parse ( localStorage . getItem ( 'user' ) ) ;
2930 console . log ( "Syncing skills to backend:" , skillsToAdd , skillsToRemove ) ;
31+
3032 await axios . put ( '/api/user/updateUser' , {
3133 email : userDetails . email ,
3234 add_skills : skillsToAdd ,
3335 remove_skills : skillsToRemove
3436 } , {
35- headers : { Authorization : `Bearer ${ JSON . parse ( localStorage . getItem ( 'user' ) ) . token } ` }
37+ headers : { Authorization : `Bearer ${ currentUser . token } ` }
3638 } ) ;
39+
3740 console . log ( "Skills updated successfully." ) ;
38-
41+
3942 // Update local storage and state to reflect the changes
40- const newUserDetails = {
41- ...userDetails ,
42- skills : userDetails . skills . filter ( skill => ! skillsToRemove . includes ( skill ) ) . concat ( skillsToAdd )
43+ const updatedUser = {
44+ ...currentUser ,
45+ skills : userDetails . skills
46+ . filter ( skill => ! skillsToRemove . includes ( skill ) )
47+ . concat ( skillsToAdd )
4348 } ;
44- localStorage . setItem ( 'user' , JSON . stringify ( newUserDetails ) ) ;
45- setUserDetails ( newUserDetails ) ;
49+ localStorage . setItem ( 'user' , JSON . stringify ( updatedUser ) ) ;
50+ setUserDetails ( {
51+ email : updatedUser . email ,
52+ skills : updatedUser . skills
53+ } ) ;
4654 } catch ( error ) {
4755 console . error ( "Failed to sync skills:" , error ) ;
4856 }
49- } ;
57+ } ;
5058
5159 const handleDeleteSkill = ( skillToDelete ) => {
5260 syncSkillsToBackend ( [ ] , [ skillToDelete ] ) ;
0 commit comments