24 lines
609 B
TypeScript
24 lines
609 B
TypeScript
/**
|
|
* External dependencies
|
|
*/
|
|
import { dispatch } from '@wordpress/data';
|
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
|
|
const setPreferencesPersistence = () =>
|
|
dispatch( preferencesStore ).setPersistenceLayer( {
|
|
get: async () => {
|
|
const savedPreferences = window.localStorage.getItem(
|
|
'woo-ai-plugin-prefs'
|
|
);
|
|
return savedPreferences ? JSON.parse( savedPreferences ) : {};
|
|
},
|
|
set: ( preferences: object ) => {
|
|
window.localStorage.setItem(
|
|
'woo-ai-plugin-prefs',
|
|
JSON.stringify( preferences )
|
|
);
|
|
},
|
|
} );
|
|
|
|
export default setPreferencesPersistence;
|