import { useState } from 'react'; import { useLocation, useParams } from 'react-router-dom'; import { useAccountComment, useSubplebbit } from '@plebbit/plebbit-react-hooks'; import { isAllView, isSubscriptionsView } from '../../lib/utils/view-utils'; import styles from './board-header.module.css'; import { useMultisubMetadata } from '../../hooks/use-default-subplebbits'; import useIsMobile from '../../hooks/use-is-mobile'; import useIsSubplebbitOffline from '../../hooks/use-is-subplebbit-offline'; const totalBanners = 60; const ImageBanner = () => { const [imagePath] = useState(() => { const randomBannerIndex = Math.floor(Math.random() * totalBanners) + 1; return `assets/banners/banner-${randomBannerIndex}.jpg`; }); return ; }; const BoardHeader = () => { const location = useLocation(); const params = useParams(); const isInAllView = isAllView(location.pathname, params); const isInSubscriptionsView = isSubscriptionsView(location.pathname, useParams()); const accountComment = useAccountComment({ commentIndex: params?.accountCommentIndex as any }); const subplebbitAddress = params?.subplebbitAddress || accountComment?.subplebbitAddress; const subplebbit = useSubplebbit({ subplebbitAddress }); const { address, shortAddress } = subplebbit || {}; const multisubMetadata = useMultisubMetadata(); const title = isInAllView ? multisubMetadata?.title || 'all' : isInSubscriptionsView ? 'Subscriptions' : subplebbit?.title; const subtitle = isInAllView ? 'p/all' : isInSubscriptionsView ? 'p/subscriptions' : `p/${address}`; const { isOffline, isOnlineStatusLoading, offlineIconClass, offlineTitle } = useIsSubplebbitOffline(subplebbit); return (
{!useIsMobile() && (
)}
{title || `p/${shortAddress || subplebbitAddress}`} {(isOffline || isOnlineStatusLoading) && !isInAllView && !isInSubscriptionsView && ( )}
{subtitle}

); }; export default BoardHeader;