fix(ui): восстановить показ аватаров и корректный fallback

This commit is contained in:
AidarKC
2026-04-26 09:31:56 +03:00
parent c094af920e
commit 3d5b5b2214
3 changed files with 28 additions and 18 deletions
+13 -11
View File
@@ -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;
});