Files
5chan/src/components/BoardAvatar.jsx
T

36 lines
1008 B
React
Raw Normal View History

import React, { useEffect, useState } from "react";
import { useSubplebbit } from "@plebbit/plebbit-react-hooks";
2023-05-05 18:28:07 +02:00
const BoardAvatar = ({ address }) => {
const [avatarUrl, setAvatarUrl] = useState("assets/plebchan.png");
const subplebbit = useSubplebbit({ subplebbitAddress: address });
const isOnline = subplebbit.updatedAt > Date.now() / 1000 - 60 * 20;
useEffect(() => {
if (subplebbit.suggested?.avatarUrl) {
setAvatarUrl(subplebbit.suggested.avatarUrl);
}
}, [subplebbit.suggested?.avatarUrl, subplebbit]);
return (
2023-05-05 18:28:07 +02:00
<>
<div className="board-avatar-container">
<img
className="board-avatar"
alt="board logo"
src={avatarUrl}
/>
{!isOnline && (
<img className="offline-indicator" alt="offline" src="assets/offline.png"
data-tooltip-id="tooltip"
data-tooltip-content="Offline"
2023-05-05 18:28:07 +02:00
data-tooltip-place="top" />
)}
</div>
</>
);
};
export default BoardAvatar;