diff --git a/src/components/board-nav/board-nav.tsx b/src/components/board-nav/board-nav.tsx
index 08c0f252..22726e17 100644
--- a/src/components/board-nav/board-nav.tsx
+++ b/src/components/board-nav/board-nav.tsx
@@ -1,35 +1,34 @@
import { useAccountComment } from '@plebbit/plebbit-react-hooks';
import { Link, useLocation, useNavigate, useParams } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
-import { isCatalogView } from '../../lib/utils/view-utils';
+import { isAllView, isCatalogView, isSubscriptionsView } from '../../lib/utils/view-utils';
import styles from './board-nav.module.css';
-import { useDefaultSubplebbitAddresses } from '../../hooks/use-default-subplebbits';
+import useDefaultSubplebbits, { categorizeSubplebbits, useDefaultSubplebbitAddresses } from '../../hooks/use-default-subplebbits';
-interface BoardNavProps {
- subplebbitAddresses: string[];
- subplebbitAddress?: string;
-}
-
-const BoardNavDesktop = ({ subplebbitAddresses }: BoardNavProps) => {
+const BoardNavDesktop = () => {
const { t } = useTranslation();
const location = useLocation();
const params = useParams();
const isInCatalogView = isCatalogView(location.pathname, params);
+ const subplebbits = useDefaultSubplebbits();
+
+ const { plebbitSubs, interestsSubs, randomSubs, internationalSubs, projectsSubs } = categorizeSubplebbits(subplebbits);
+
+ const renderSubplebbits = (subplebbits: any) => {
+ return subplebbits.map((sub: any, index: any) => (
+
+ {index === 0 ? null : ' '}
+ {sub.address.includes('.') ? sub.address : sub.address.slice(0, 10).concat('...')}
+ {index !== subplebbits.length - 1 ? ' /' : null}
+
+ ));
+ };
return (
- [
- {subplebbitAddresses.map((address: string, index: number) => {
- return (
-
- {index === 0 ? null : ' '}
- {address.includes('.') ? address : address.slice(0, 10).concat('...')}
- {index !== subplebbitAddresses.length - 1 ? ' /' : null}
-
- );
- })}
- ]
+ [all / subscriptions] [{renderSubplebbits(plebbitSubs)}] [{renderSubplebbits(projectsSubs)}] [
+ {renderSubplebbits(interestsSubs)}] [{renderSubplebbits(randomSubs)}] [{renderSubplebbits(internationalSubs)}]
[{t('settings')}] [{t('home')}
@@ -39,17 +38,23 @@ const BoardNavDesktop = ({ subplebbitAddresses }: BoardNavProps) => {
);
};
-const BoardNavMobile = ({ subplebbitAddresses, subplebbitAddress }: BoardNavProps) => {
+const BoardNavMobile = ({ subplebbitAddress }: { subplebbitAddress: string }) => {
const { t } = useTranslation();
const navigate = useNavigate();
+ const subplebbitAddresses = useDefaultSubplebbitAddresses();
const displaySubplebbitAddress = subplebbitAddress && subplebbitAddress.length > 30 ? subplebbitAddress.slice(0, 30).concat('...') : subplebbitAddress;
const currentSubplebbitIsInList = subplebbitAddresses.some((address: string) => address === subplebbitAddress);
- const isInCatalogView = isCatalogView(useLocation().pathname, useParams());
+ const location = useLocation();
+ const params = useParams();
+ const isInAllView = isAllView(location.pathname);
+ const isInCatalogView = isCatalogView(location.pathname, params);
+ const isInSubscriptionsView = isSubscriptionsView(location.pathname);
+ const selectValue = isInAllView ? 'all' : isInSubscriptionsView ? 'subscriptions' : subplebbitAddress;
const boardSelect = (
-