mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
feat(catalog): add text pattern filters
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { create } from 'zustand';
|
||||
import { persist } from 'zustand/middleware';
|
||||
|
||||
interface CatalogFiltersStore {
|
||||
showAdultBoards: boolean;
|
||||
@@ -7,24 +8,26 @@ interface CatalogFiltersStore {
|
||||
setShowGoreBoards: (value: boolean) => void;
|
||||
showTextOnlyThreads: boolean;
|
||||
setShowTextOnlyThreads: (value: boolean) => void;
|
||||
filterText: string;
|
||||
setFilterText: (value: string) => void;
|
||||
}
|
||||
|
||||
const useCatalogFiltersStore = create<CatalogFiltersStore>((set) => ({
|
||||
showTextOnlyThreads: localStorage.getItem('showTextOnlyThreads') === 'true' ? true : false,
|
||||
setShowTextOnlyThreads: (value: boolean) => {
|
||||
set({ showTextOnlyThreads: value });
|
||||
localStorage.setItem('showTextOnlyThreads', value.toString());
|
||||
},
|
||||
showAdultBoards: localStorage.getItem('showAdultBoards') === 'true' ? true : false,
|
||||
setShowAdultBoards: (value: boolean) => {
|
||||
set({ showAdultBoards: value });
|
||||
localStorage.setItem('showAdultBoards', value.toString());
|
||||
},
|
||||
showGoreBoards: localStorage.getItem('showGoreBoards') === 'true' ? true : false,
|
||||
setShowGoreBoards: (value: boolean) => {
|
||||
set({ showGoreBoards: value });
|
||||
localStorage.setItem('showGoreBoards', value.toString());
|
||||
},
|
||||
}));
|
||||
const useCatalogFiltersStore = create(
|
||||
persist<CatalogFiltersStore>(
|
||||
(set) => ({
|
||||
showTextOnlyThreads: false,
|
||||
setShowTextOnlyThreads: (value: boolean) => set({ showTextOnlyThreads: value }),
|
||||
showAdultBoards: false,
|
||||
setShowAdultBoards: (value: boolean) => set({ showAdultBoards: value }),
|
||||
showGoreBoards: false,
|
||||
setShowGoreBoards: (value: boolean) => set({ showGoreBoards: value }),
|
||||
filterText: '',
|
||||
setFilterText: (value: string) => set({ filterText: value }),
|
||||
}),
|
||||
{
|
||||
name: 'catalog-filters-storage',
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
export default useCatalogFiltersStore;
|
||||
|
||||
Reference in New Issue
Block a user