diff --git a/src/components/topbar/topbar.tsx b/src/components/topbar/topbar.tsx index 223141df..8f3960f9 100644 --- a/src/components/topbar/topbar.tsx +++ b/src/components/topbar/topbar.tsx @@ -228,12 +228,12 @@ const TopBarDesktop = () => { const TopBarMobile = ({ subplebbitAddress }: { subplebbitAddress: string }) => { const { t } = useTranslation(); const navigate = useNavigate(); - const subplebbitAddresses = useDefaultSubplebbitAddresses(); const defaultSubplebbits = useDefaultSubplebbits(); const displaySubplebbitAddress = subplebbitAddress && subplebbitAddress.length > 30 ? subplebbitAddress.slice(0, 30).concat('...') : subplebbitAddress; const [showSearchBar, setShowSearchBar] = useState(false); - const currentSubplebbitIsInList = subplebbitAddresses.some((address: string) => address === subplebbitAddress); + // Filter to only show directory boards (those with titles) + const directoryBoards = useMemo(() => defaultSubplebbits.filter((sub) => sub.title && extractDirectoryFromTitle(sub.title)), [defaultSubplebbits]); const location = useLocation(); const params = useParams(); @@ -241,36 +241,37 @@ const TopBarMobile = ({ subplebbitAddress }: { subplebbitAddress: string }) => { const isInCatalogView = isCatalogView(location.pathname, params); const isInSubscriptionsView = isSubscriptionsView(location.pathname, params); const boardPath = useBoardPath(subplebbitAddress); - const selectValue = isInAllView ? 'all' : isInSubscriptionsView ? 'subscriptions' : boardPath || subplebbitAddress; + const selectValue = isInAllView ? 'all' : isInSubscriptionsView ? 'subs' : boardPath || subplebbitAddress; const { accountSubplebbits } = useAccountSubplebbits(); const accountSubplebbitAddresses = Object.keys(accountSubplebbits); + // Check if current subplebbit is a directory board + const currentIsDirectoryBoard = directoryBoards.some((board) => board.address === subplebbitAddress); + const boardSelect = (