/ src / stores / use-interface-settings-store.ts
use-interface-settings-store.ts
 1  import { create } from 'zustand';
 2  import { persist } from 'zustand/middleware';
 3  
 4  interface InterfaceSettingsStore {
 5    hideGoreBoards: boolean;
 6    setHideGoreBoards: (value: boolean) => void;
 7    hideAdultBoards: boolean;
 8    setHideAdultBoards: (value: boolean) => void;
 9    hideThreadsWithoutImages: boolean;
10    setHideThreadsWithoutImages: (value: boolean) => void;
11  }
12  
13  const useInterfaceSettingsStore = create(
14    persist<InterfaceSettingsStore>(
15      (set) => ({
16        hideGoreBoards: true,
17        setHideGoreBoards: (value: boolean) => set({ hideGoreBoards: value }),
18        hideAdultBoards: true,
19        setHideAdultBoards: (value: boolean) => set({ hideAdultBoards: value }),
20        hideThreadsWithoutImages: true,
21        setHideThreadsWithoutImages: (value: boolean) => set({ hideThreadsWithoutImages: value }),
22      }),
23      {
24        name: 'interface-settings-storage',
25      },
26    ),
27  );
28  
29  export default useInterfaceSettingsStore;