Fix clear button in AvatarEditor

This commit is contained in:
Fedor Indutny 2022-02-24 15:57:16 -08:00 committed by GitHub
parent b1e48dca8f
commit 112de16d06
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -71,6 +71,7 @@ export const AvatarEditor = ({
const [localAvatarData, setLocalAvatarData] = useState<Array<AvatarDataType>>( const [localAvatarData, setLocalAvatarData] = useState<Array<AvatarDataType>>(
userAvatarData.slice() userAvatarData.slice()
); );
const [pendingClear, setPendingClear] = useState(false);
const [editMode, setEditMode] = useState<EditMode>(EditMode.Main); const [editMode, setEditMode] = useState<EditMode>(EditMode.Main);
@ -150,7 +151,8 @@ export const AvatarEditor = ({
setInitialAvatar(avatarBuffer); setInitialAvatar(avatarBuffer);
}, []); }, []);
const hasChanges = initialAvatar !== avatarPreview; const hasChanges =
initialAvatar !== avatarPreview || Boolean(pendingClear && avatarPath);
let content: JSX.Element | undefined; let content: JSX.Element | undefined;
@ -160,13 +162,14 @@ export const AvatarEditor = ({
<div className="AvatarEditor__preview"> <div className="AvatarEditor__preview">
<AvatarPreview <AvatarPreview
avatarColor={avatarColor} avatarColor={avatarColor}
avatarPath={avatarPath} avatarPath={pendingClear ? undefined : avatarPath}
avatarValue={avatarPreview} avatarValue={avatarPreview}
conversationTitle={conversationTitle} conversationTitle={conversationTitle}
i18n={i18n} i18n={i18n}
isGroup={isGroup} isGroup={isGroup}
onAvatarLoaded={handleAvatarLoaded} onAvatarLoaded={handleAvatarLoaded}
onClear={() => { onClear={() => {
setPendingClear(true);
setAvatarPreview(undefined); setAvatarPreview(undefined);
setProvisionalSelectedAvatar(undefined); setProvisionalSelectedAvatar(undefined);
}} }}