D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
hrfiudwx
/
smallbizsavvytips.com
/
fixxx
/
wp-content
/
plugins
/
extendify
/
src
/
Library
/
state
/
Filename :
user.js
back
Copy
import apiFetch from '@wordpress/api-fetch'; import { safeParseJson } from '@shared/lib/parsing'; import { create } from 'zustand'; import { persist, createJSONStorage } from 'zustand/middleware'; const storage = { getItem: async () => await apiFetch({ path: '/wp/v2/users/me' }), setItem: async (_name, value) => await apiFetch({ path: '/wp/v2/users/me', method: 'PUT', data: { extendify_library_user: value }, }), }; export const useUserStore = create( persist( (set, get) => ({ openOnNewPage: true, updateUserOption: (key, value) => { if (!Object.keys(get()).includes(key)) return; set({ [key]: value }); }, ...(safeParseJson(window.extLibraryData.userInfo)?.state ?? {}), }), { name: 'extendify_library_user', storage: createJSONStorage(() => storage), partialize: (state) => ({ ...state, ready: false }), skipHydration: true, }, ), );