diff --git a/src/views/home/boards-box/boards-box.tsx b/src/views/home/boards-box/boards-box.tsx index c830894e..7dbee2d8 100644 --- a/src/views/home/boards-box/boards-box.tsx +++ b/src/views/home/boards-box/boards-box.tsx @@ -2,13 +2,14 @@ import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { Subplebbit, useAccount, useAccountSubplebbits } from '@plebbit/plebbit-react-hooks'; import Plebbit from '@plebbit/plebbit-js/dist/browser/index.js'; +import { getFormattedTimeAgo } from '../../../lib/utils/time-utils'; import useHomeFiltersStore from '../../../stores/use-home-filters-store'; import { useMultisubMetadata } from '../../../hooks/use-default-subplebbits'; import styles from '../home.module.css'; import { nsfwTags } from '../home'; import BoxModal from '../box-modal'; -const Board = ({ isOffline, subplebbit }: { isOffline: boolean; subplebbit: Subplebbit }) => { +const Board = ({ subplebbit, subplebbits }: { subplebbit: Subplebbit; subplebbits: any }) => { const { t } = useTranslation(); const { address, title, tags } = subplebbit || {}; const nsfwTag = tags.find((tag: string) => nsfwTags.includes(tag)); @@ -16,9 +17,16 @@ const Board = ({ isOffline, subplebbit }: { isOffline: boolean; subplebbit: Subp const boardLink = useCatalog ? `/p/${address}/catalog` : `/p/${address}`; + const subplebbitData = subplebbits && subplebbits.find((sub: Subplebbit) => sub?.address === address); + const updatedAt = subplebbitData?.updatedAt; + const isOffline = updatedAt && updatedAt < Date.now() / 1000 - 60 * 60; + const offlineTitle = updatedAt + ? isOffline && t('posts_last_synced_info', { time: getFormattedTimeAgo(updatedAt), interpolation: { escapeValue: false } }) + : t('subplebbit_offline_info'); + return (