import * as React from "react"; import {ClientAvatar} from "tc-shared/file/Avatars"; import {useState} from "react"; import * as image_preview from "tc-shared/ui/frames/image_preview"; const ImageStyle = { height: "100%", width: "100%", cursor: "pointer" }; export const AvatarRenderer = React.memo((props: { avatar: ClientAvatar, className?: string, alt?: string }) => { let [ revision, setRevision ] = useState(0); let image; switch (props.avatar?.getState()) { case "unset": image = {typeof { if(event.isDefaultPrevented()) return; event.preventDefault(); image_preview.preview_image(props.avatar.getAvatarUrl(), undefined); }} />; break; case "loaded": image = {typeof { if(event.isDefaultPrevented()) return; event.preventDefault(); image_preview.preview_image(props.avatar.getAvatarUrl(), undefined); }} />; break; case "errored": image = {typeof; break; case "loading": image = {typeof; break; case undefined: break; } props.avatar?.events.reactUse("avatar_state_changed", () => setRevision(revision + 1)); return (
{image}
) });