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;