From 60ab84efd105d6bff8088f75aabf1dc19864c2f3 Mon Sep 17 00:00:00 2001 From: "Tom (plebeius.eth)" Date: Sat, 15 Jun 2024 16:03:59 +0200 Subject: [PATCH] revert 2c1ea47, sorting store should be separate from catalog filters store --- src/stores/use-catalog-filters-store.ts | 5 ----- src/stores/use-sorting-store.ts | 13 +++++++++++++ src/views/board/board.tsx | 4 ++-- src/views/catalog/catalog.tsx | 4 +++- 4 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 src/stores/use-sorting-store.ts diff --git a/src/stores/use-catalog-filters-store.ts b/src/stores/use-catalog-filters-store.ts index feb410d8..4e1885fa 100644 --- a/src/stores/use-catalog-filters-store.ts +++ b/src/stores/use-catalog-filters-store.ts @@ -3,8 +3,6 @@ import { create } from 'zustand'; interface CatalogFiltersStore { showTextOnlyThreads: boolean; setShowTextOnlyThreads: (value: boolean) => void; - sortType: 'active' | 'new'; - setSortType: (type: 'active' | 'new') => void; } const useCatalogFiltersStore = create((set) => ({ @@ -13,9 +11,6 @@ const useCatalogFiltersStore = create((set) => ({ set({ showTextOnlyThreads: value }); localStorage.setItem('showTextOnlyThreads', value.toString()); }, - - sortType: 'active', - setSortType: (type: 'active' | 'new') => set({ sortType: type }), })); export default useCatalogFiltersStore; diff --git a/src/stores/use-sorting-store.ts b/src/stores/use-sorting-store.ts new file mode 100644 index 00000000..c279258d --- /dev/null +++ b/src/stores/use-sorting-store.ts @@ -0,0 +1,13 @@ +import { create } from 'zustand'; + +interface SortingStore { + sortType: 'active' | 'new'; + setSortType: (type: 'active' | 'new') => void; +} + +const useSortingStore = create((set) => ({ + sortType: 'active', + setSortType: (type) => set({ sortType: type }), +})); + +export default useSortingStore; diff --git a/src/views/board/board.tsx b/src/views/board/board.tsx index ef0eb291..f5e77894 100644 --- a/src/views/board/board.tsx +++ b/src/views/board/board.tsx @@ -10,7 +10,7 @@ import useFeedStateString from '../../hooks/use-feed-state-string'; import useReplyModal from '../../hooks/use-reply-modal'; import useTimeFilter from '../../hooks/use-time-filter'; import useFeedResetStore from '../../stores/use-feed-reset-store'; -import useCatalogFiltersStore from '../../stores/use-catalog-filters-store'; +import useSortingStore from '../../stores/use-sorting-store'; import LoadingEllipsis from '../../components/loading-ellipsis'; import { Post } from '../post'; import ReplyModal from '../../components/reply-modal'; @@ -42,7 +42,7 @@ const Board = () => { return [subplebbitAddress]; }, [isInAllView, isInSubscriptionsView, subplebbitAddress, defaultSubplebbitAddresses, subscriptions]); - const { sortType } = useCatalogFiltersStore(); + const { sortType } = useSortingStore(); const { timeFilterSeconds } = useTimeFilter(); const feedOptions: any = { diff --git a/src/views/catalog/catalog.tsx b/src/views/catalog/catalog.tsx index c00cd697..93c270cc 100644 --- a/src/views/catalog/catalog.tsx +++ b/src/views/catalog/catalog.tsx @@ -11,6 +11,7 @@ import useTimeFilter from '../../hooks/use-time-filter'; import useWindowWidth from '../../hooks/use-window-width'; import useCatalogFiltersStore from '../../stores/use-catalog-filters-store'; import useFeedResetStore from '../../stores/use-feed-reset-store'; +import useSortingStore from '../../stores/use-sorting-store'; import CatalogRow from '../../components/catalog-row'; import LoadingEllipsis from '../../components/loading-ellipsis'; import SettingsModal from '../../components/settings-modal'; @@ -112,7 +113,8 @@ const Catalog = () => { const postsPerPage = useMemo(() => (columnCount <= 2 ? 10 : columnCount === 3 ? 15 : columnCount === 4 ? 20 : 25), []); const { timeFilterSeconds } = useTimeFilter(); - const { showTextOnlyThreads, sortType } = useCatalogFiltersStore(); + const { showTextOnlyThreads } = useCatalogFiltersStore(); + const { sortType } = useSortingStore(); const feedOptions: any = { subplebbitAddresses,