add tooltips to offline indicator in home

This commit is contained in:
Tom
2023-05-05 18:28:07 +02:00
parent 05d1a54e70
commit 5ee3c2c5e3
3 changed files with 28 additions and 17 deletions
+7 -1
View File
@@ -1,6 +1,7 @@
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { useSubplebbit } from "@plebbit/plebbit-react-hooks"; import { useSubplebbit } from "@plebbit/plebbit-react-hooks";
const BoardAvatar = ({ address }) => { const BoardAvatar = ({ address }) => {
const [avatarUrl, setAvatarUrl] = useState("assets/plebchan.png"); const [avatarUrl, setAvatarUrl] = useState("assets/plebchan.png");
const subplebbit = useSubplebbit({ subplebbitAddress: address }); const subplebbit = useSubplebbit({ subplebbitAddress: address });
@@ -14,6 +15,7 @@ const BoardAvatar = ({ address }) => {
}, [subplebbit.suggested?.avatarUrl, subplebbit]); }, [subplebbit.suggested?.avatarUrl, subplebbit]);
return ( return (
<>
<div className="board-avatar-container"> <div className="board-avatar-container">
<img <img
className="board-avatar" className="board-avatar"
@@ -21,9 +23,13 @@ const BoardAvatar = ({ address }) => {
src={avatarUrl} src={avatarUrl}
/> />
{!isOnline && ( {!isOnline && (
<img className="offline-indicator" alt="offline" src="assets/offline.png" /> <img className="offline-indicator" alt="offline" src="assets/offline.png"
data-tooltip-id="tooltip"
data-tooltip-content="OFFLINE"
data-tooltip-place="top" />
)} )}
</div> </div>
</>
); );
}; };
+7 -4
View File
@@ -1,16 +1,19 @@
import React from "react"; import React from "react";
import { useSubplebbit } from "@plebbit/plebbit-react-hooks"; import { useSubplebbit } from "@plebbit/plebbit-react-hooks";
import { Tooltip } from 'react-tooltip';
const BoardSubscription = ({ address }) => { const BoardSubscription = ({ address }) => {
const subplebbit = useSubplebbit({ subplebbitAddress: address }); const subplebbit = useSubplebbit({ subplebbitAddress: address });
const isOnline = subplebbit.updatedAt > Date.now() / 1000 - 60 * 20; const isOnline = subplebbit.updatedAt > Date.now() / 1000 - 60 * 20;
return ( return (
<> <>
&nbsp;{address}{!isOnline && ( {address}&nbsp;{!isOnline && (
<img className="disconnected" alt="offline" src="assets/offline.png" /> <img className="disconnected" alt="offline" src="assets/offline.png"
data-tooltip-id="tooltip"
data-tooltip-content="OFFLINE"
data-tooltip-place="top" />
)} )}
</> </>
); );
+5 -3
View File
@@ -1,12 +1,13 @@
import React, { useEffect, useRef, useState } from 'react'; import React, { useEffect, useRef } from 'react';
import { Helmet } from 'react-helmet-async'; import { Helmet } from 'react-helmet-async';
import { useAccount, useSubplebbit } from '@plebbit/plebbit-react-hooks'; import { useAccount } from '@plebbit/plebbit-react-hooks';
import useGeneralStore from '../../hooks/stores/useGeneralStore'; import useGeneralStore from '../../hooks/stores/useGeneralStore';
import { Link, useNavigate } from 'react-router-dom'; import { Link, useNavigate } from 'react-router-dom';
import { Container, Header, Logo, Page, Search, About, AboutTitle, AboutContent, Boards, BoardsTitle, BoardsContent, Footer } from '../styled/Home.styled'; import { Container, Header, Logo, Page, Search, About, AboutTitle, AboutContent, Boards, BoardsTitle, BoardsContent, Footer } from '../styled/Home.styled';
import BoardAvatar from '../BoardAvatar'; import BoardAvatar from '../BoardAvatar';
import packageJson from '../../../package.json'
import BoardSubscription from '../BoardSubscription'; import BoardSubscription from '../BoardSubscription';
import packageJson from '../../../package.json'
import { Tooltip } from 'react-tooltip';
const {version} = packageJson const {version} = packageJson
@@ -40,6 +41,7 @@ const Home = () => {
<title>plebchan</title> <title>plebchan</title>
</Helmet> </Helmet>
<Container> <Container>
<Tooltip id="tooltip" className="tooltip" />
<Header> <Header>
<Logo> <Logo>
<Link to="/"> <Link to="/">