From d66d5b5d39703cb0f780a56f93bd947bde40b37b Mon Sep 17 00:00:00 2001 From: "Tom (plebeius.eth)" Date: Sun, 9 Jun 2024 16:50:51 +0200 Subject: [PATCH] update time filter for subscriptions feed --- .../board-buttons/board-buttons.tsx | 29 ++++++++++++++----- src/components/topbar/topbar.tsx | 5 ++-- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/components/board-buttons/board-buttons.tsx b/src/components/board-buttons/board-buttons.tsx index 588e8383..645a9e1d 100644 --- a/src/components/board-buttons/board-buttons.tsx +++ b/src/components/board-buttons/board-buttons.tsx @@ -8,10 +8,11 @@ import useTimeFilter from '../../hooks/use-time-filter'; import styles from './board-buttons.module.css'; interface BoardButtonsProps { - isInAllView?: boolean; address?: string | undefined; + isInAllView?: boolean; isInCatalogView?: boolean; isInSubscriptionsView?: boolean; + isTopbar?: boolean; } const CatalogButton = ({ address, isInAllView, isInSubscriptionsView }: BoardButtonsProps) => { @@ -75,7 +76,7 @@ const SortOptions = () => { ); }; -export const TimeFilter = ({ isInCatalogView, isTopbar = false }: { isInCatalogView: boolean; isTopbar?: boolean }) => { +export const TimeFilter = ({ isInAllView, isInCatalogView, isInSubscriptionsView, isTopbar = false }: BoardButtonsProps) => { const { t } = useTranslation(); const params = useParams(); const navigate = useNavigate(); @@ -84,8 +85,16 @@ export const TimeFilter = ({ isInCatalogView, isTopbar = false }: { isInCatalogV const changeTimeFilter = (event: React.ChangeEvent) => { const timeFilterName = event.target.value; - const link = isInCatalogView ? `/p/all/catalog/${timeFilterName}` : `/p/all/${timeFilterName}`; - navigate(link); + const link = isInAllView + ? isInCatalogView + ? `/p/all/catalog/${timeFilterName}` + : `/p/all/${timeFilterName}` + : isInSubscriptionsView + ? isInCatalogView + ? `/p/subscriptions/catalog/${timeFilterName}` + : `/p/subscriptions/${timeFilterName}` + : null; + link && navigate(link); }; return ( @@ -141,8 +150,12 @@ export const MobileBoardButtons = () => { <>
- -    + {(isInAllView || isInSubscriptionsView) && ( + <> + +    + + )}
@@ -151,7 +164,7 @@ export const MobileBoardButtons = () => { <>
- +
)} @@ -213,7 +226,7 @@ export const DesktopBoardButtons = () => { )} {(isInAllView || isInSubscriptionsView) && ( <> - + )} diff --git a/src/components/topbar/topbar.tsx b/src/components/topbar/topbar.tsx index d6dd27c1..1baf147d 100644 --- a/src/components/topbar/topbar.tsx +++ b/src/components/topbar/topbar.tsx @@ -4,7 +4,6 @@ import { Link, useLocation, useNavigate, useParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { isAllView, isCatalogView, isSubscriptionsView } from '../../lib/utils/view-utils'; import styles from './topbar.module.css'; -import useTimeFilter from '../../hooks/use-time-filter'; import useDefaultSubplebbits, { categorizeSubplebbits, useDefaultSubplebbitAddresses } from '../../hooks/use-default-subplebbits'; import _, { debounce } from 'lodash'; import { TimeFilter } from '../board-buttons'; @@ -149,7 +148,9 @@ const TopBarMobile = ({ subplebbitAddress }: { subplebbitAddress: string }) => {
{t('board')} {boardSelect} - + {(isInAllView || isInSubscriptionsView) && ( + + )}
{t('settings')}