fix member flicker (use recoil-cached image src)

This commit is contained in:
Michael Peters 2022-02-12 17:55:11 -06:00
parent 80620a1b62
commit 3849d6b447

View File

@ -111,14 +111,11 @@ const MessageElement: FC<MessageElementProps> = (props: MessageElementProps) =>
[message, prevMessage],
);
const [avatarSrc] = useOneTimeAsyncAction(
async () => {
if (message.isContinued(prevMessage)) return './img/loading.svg'; // don't load for elements that won't use it
if (!(message.member instanceof Member)) return './img/error.png'; // TODO: Make this a nicer 'unknown' image
return await ElementsUtil.getImageSrcFromResourceFailSoftly(guild, message.member.avatarResourceId);
},
'./img/loading.svg',
[message],
const avatarSrc = useRecoilValueSoftImgSrc(
guildResourceSoftImgSrcState({
guildId: guild.id,
resourceId: message.member instanceof Member ? message.member.avatarResourceId : null,
}),
);
const dateSpacer = useMemo(() => {