import { useState, useEffect } from "react"; import { Avatar, Box, Typography } from "@mui/material"; import api from "../api/axios"; interface UserAvatarProps { username: string | null; src?: string; size?: number | string; onClick?: () => void; } export default function UserAvatar({ username, size = 40, onClick, }: UserAvatarProps) { const [pb, setPb] = useState(); useEffect(() => { (async () => { try { const res = await api.get(`/profile/getProfilePicture/${username}`); setPb((res.data as { url: string }).url); } catch (error: any) { if (error.status !== 404) { console.log(error); } } })(); }, [username]); return ( {username ? username[0].toUpperCase() : ""} {username} ); }