mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
add catalog filters
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
import { create } from 'zustand';
|
||||
import { persist } from 'zustand/middleware';
|
||||
|
||||
interface FilterItem {
|
||||
text: string;
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
interface CatalogFiltersStore {
|
||||
showAdultBoards: boolean;
|
||||
setShowAdultBoards: (value: boolean) => void;
|
||||
@@ -10,11 +15,14 @@ interface CatalogFiltersStore {
|
||||
setShowTextOnlyThreads: (value: boolean) => void;
|
||||
filterText: string;
|
||||
setFilterText: (value: string) => void;
|
||||
filterItems: FilterItem[];
|
||||
setFilterItems: (items: FilterItem[]) => void; // New method to set all filter items at once
|
||||
saveAndApplyFilters: (items: FilterItem[]) => void; // Updated to accept items
|
||||
}
|
||||
|
||||
const useCatalogFiltersStore = create(
|
||||
persist<CatalogFiltersStore>(
|
||||
(set) => ({
|
||||
(set, get) => ({
|
||||
showTextOnlyThreads: false,
|
||||
setShowTextOnlyThreads: (value: boolean) => set({ showTextOnlyThreads: value }),
|
||||
showAdultBoards: false,
|
||||
@@ -23,6 +31,13 @@ const useCatalogFiltersStore = create(
|
||||
setShowGoreBoards: (value: boolean) => set({ showGoreBoards: value }),
|
||||
filterText: '',
|
||||
setFilterText: (value: string) => set({ filterText: value }),
|
||||
filterItems: [],
|
||||
setFilterItems: (items: FilterItem[]) => set({ filterItems: items }),
|
||||
saveAndApplyFilters: (items: FilterItem[]) => {
|
||||
set({ filterItems: items });
|
||||
console.log('Filters saved and applied:', items);
|
||||
// Example: refreshCatalog();
|
||||
},
|
||||
}),
|
||||
{
|
||||
name: 'catalog-filters-storage',
|
||||
|
||||
Reference in New Issue
Block a user