SHA256
fix(ui): восстановить показ аватаров и корректный fallback
This commit is contained in:
@@ -57,9 +57,13 @@ export function renderUserAvatar({
|
||||
img.alt = 'Аватар';
|
||||
img.loading = 'lazy';
|
||||
img.decoding = 'async';
|
||||
img.hidden = true;
|
||||
wrap.append(img);
|
||||
|
||||
const setLoadedState = (loaded) => {
|
||||
wrap.classList.toggle('has-image', Boolean(loaded));
|
||||
};
|
||||
setLoadedState(false);
|
||||
|
||||
const gateway = state?.entrySettings?.arweaveServer;
|
||||
void getCachedAvatarObjectUrl({ gateway, txId })
|
||||
.then((objectUrl) => {
|
||||
@@ -74,8 +78,7 @@ export function renderUserAvatar({
|
||||
}
|
||||
};
|
||||
img.onload = () => {
|
||||
fallback.hidden = true;
|
||||
img.hidden = false;
|
||||
setLoadedState(true);
|
||||
releaseObjectUrl();
|
||||
};
|
||||
img.onerror = () => {
|
||||
@@ -86,8 +89,8 @@ export function renderUserAvatar({
|
||||
return;
|
||||
}
|
||||
releaseObjectUrl();
|
||||
img.hidden = true;
|
||||
fallback.hidden = false;
|
||||
img.removeAttribute('src');
|
||||
setLoadedState(false);
|
||||
};
|
||||
img.src = objectUrl;
|
||||
})
|
||||
@@ -99,17 +102,16 @@ export function renderUserAvatar({
|
||||
directUrl = '';
|
||||
}
|
||||
if (!directUrl) {
|
||||
img.hidden = true;
|
||||
fallback.hidden = false;
|
||||
img.removeAttribute('src');
|
||||
setLoadedState(false);
|
||||
return;
|
||||
}
|
||||
img.onload = () => {
|
||||
fallback.hidden = true;
|
||||
img.hidden = false;
|
||||
setLoadedState(true);
|
||||
};
|
||||
img.onerror = () => {
|
||||
img.hidden = true;
|
||||
fallback.hidden = false;
|
||||
img.removeAttribute('src');
|
||||
setLoadedState(false);
|
||||
};
|
||||
img.src = directUrl;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user