import { atom } from 'recoil'; import { atomWithLocalStorage } from '~/store/utils'; enum PromptsEditorMode { SIMPLE = 'simple', ADVANCED = 'advanced', } // Static atoms without localStorage const staticAtoms = { // `name` filter promptsName: atom({ key: 'promptsName', default: '' }), // `category` filter promptsCategory: atom({ key: 'promptsCategory', default: '' }), // `pageNumber` filter promptsPageNumber: atom({ key: 'promptsPageNumber', default: 1 }), // `pageSize` filter promptsPageSize: atom({ key: 'promptsPageSize', default: 10 }), }; // Atoms with localStorage const localStorageAtoms = { autoSendPrompts: atomWithLocalStorage('autoSendPrompts', true), alwaysMakeProd: atomWithLocalStorage('alwaysMakeProd', true), // Editor mode promptsEditorMode: atomWithLocalStorage('promptsEditorMode', PromptsEditorMode.SIMPLE), }; export default { ...staticAtoms, ...localStorageAtoms, PromptsEditorMode };