0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Fixed user cover and profile image upload issues

refs https://github.com/TryGhost/Team/issues/3351

Uploading cover and profile images for user was having a weird behavior where one was getting removed when the other was uploaded or deleted. This was due to how the state was being updated on image change, which ended up using the old user state while setting the new one. This change uses react's setState method that uses the latest state to set the new one so the changes don't get overridden.
This commit is contained in:
Rishabh 2023-06-06 09:43:36 +05:30
parent 7b9d8b1829
commit fbfb1d0008

View file

@ -473,10 +473,14 @@ const UserDetailModal:React.FC<UserDetailModalProps> = ({user, updateUser}) => {
switch (image) { switch (image) {
case 'cover_image': case 'cover_image':
setUserData?.({...user, cover_image: imageUrl}); setUserData?.((_user) => {
return {..._user, cover_image: imageUrl};
});
break; break;
case 'profile_image': case 'profile_image':
setUserData?.({...user, profile_image: imageUrl}); setUserData?.((_user) => {
return {..._user, profile_image: imageUrl};
});
break; break;
} }
} catch (err: any) { } catch (err: any) {
@ -487,10 +491,14 @@ const UserDetailModal:React.FC<UserDetailModalProps> = ({user, updateUser}) => {
const handleImageDelete = (image: string) => { const handleImageDelete = (image: string) => {
switch (image) { switch (image) {
case 'cover_image': case 'cover_image':
setUserData?.({...user, cover_image: ''}); setUserData?.((_user) => {
return {..._user, cover_image: ''};
});
break; break;
case 'profile_image': case 'profile_image':
setUserData?.({...user, profile_image: ''}); setUserData?.((_user) => {
return {..._user, profile_image: ''};
});
break; break;
} }
}; };