diff options
author | Ansh <anshnanda10@gmail.com> | 2023-03-02 16:53:18 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-02 18:53:18 -0600 |
commit | e592e59f4e339aff48589ba7a6f93209bf31d026 (patch) | |
tree | 2568a58d1bac350d45897df843510d7ecd2b1686 /src/view/com/modals/EditProfile.tsx | |
parent | aeb04a2ed0b90091f92fd1130bd3d30a76449cb2 (diff) | |
download | voidsky-e592e59f4e339aff48589ba7a6f93209bf31d026.tar.zst |
72-delete-avatar-and-cover (#255)
* allow to delete profile pic * allow for removing banner
Diffstat (limited to 'src/view/com/modals/EditProfile.tsx')
-rw-r--r-- | src/view/com/modals/EditProfile.tsx | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx index 052681fd3..121831ada 100644 --- a/src/view/com/modals/EditProfile.tsx +++ b/src/view/com/modals/EditProfile.tsx @@ -44,20 +44,30 @@ export function Component({ const [description, setDescription] = useState<string>( profileView.description || '', ) - const [userBanner, setUserBanner] = useState<string | undefined>( + const [userBanner, setUserBanner] = useState<string | undefined | null>( profileView.banner, ) - const [userAvatar, setUserAvatar] = useState<string | undefined>( + const [userAvatar, setUserAvatar] = useState<string | undefined | null>( profileView.avatar, ) - const [newUserBanner, setNewUserBanner] = useState<PickedMedia | undefined>() - const [newUserAvatar, setNewUserAvatar] = useState<PickedMedia | undefined>() + const [newUserBanner, setNewUserBanner] = useState< + PickedMedia | undefined | null + >() + const [newUserAvatar, setNewUserAvatar] = useState< + PickedMedia | undefined | null + >() const onPressCancel = () => { store.shell.closeModal() } - const onSelectNewAvatar = async (img: PickedMedia) => { + const onSelectNewAvatar = async (img: PickedMedia | null) => { track('EditProfile:AvatarSelected') try { + // if img is null, user selected "remove avatar" + if (!img) { + setNewUserAvatar(null) + setUserAvatar(null) + return + } const finalImg = await compressIfNeeded(img, 1000000) setNewUserAvatar({mediaType: 'photo', ...finalImg}) setUserAvatar(finalImg.path) @@ -65,7 +75,12 @@ export function Component({ setError(cleanError(e)) } } - const onSelectNewBanner = async (img: PickedMedia) => { + const onSelectNewBanner = async (img: PickedMedia | null) => { + if (!img) { + setNewUserBanner(null) + setUserBanner(null) + return + } track('EditProfile:BannerSelected') try { const finalImg = await compressIfNeeded(img, 1000000) |