Package: @lilith/ui-developer-fab Split from: lilith/ui.git or lilith/build.git Publish workflow: calls lilith/workflows/.forgejo/workflows/publish-npm.yml@main
26 lines
No EOL
1 KiB
JavaScript
26 lines
No EOL
1 KiB
JavaScript
/**
|
|
* useStorageManager - Hook for storage management utilities
|
|
*
|
|
* Provides utilities for viewing and manipulating localStorage/sessionStorage.
|
|
*/
|
|
import { useState, useCallback } from 'react';
|
|
import { getLocalStorageEntries, getSessionStorageEntries, clearStorage as clearStorageUtil, } from '../utils/storage';
|
|
export function useStorageManager() {
|
|
const [localStorageEntries, setLocalStorageEntries] = useState(() => getLocalStorageEntries());
|
|
const [sessionStorageEntries, setSessionStorageEntries] = useState(() => getSessionStorageEntries());
|
|
const refreshEntries = useCallback(() => {
|
|
setLocalStorageEntries(getLocalStorageEntries());
|
|
setSessionStorageEntries(getSessionStorageEntries());
|
|
}, []);
|
|
const clearStorage = useCallback((type, key) => {
|
|
clearStorageUtil(type, key);
|
|
refreshEntries();
|
|
}, [refreshEntries]);
|
|
return {
|
|
localStorageEntries,
|
|
sessionStorageEntries,
|
|
clearStorage,
|
|
refreshEntries,
|
|
};
|
|
}
|
|
//# sourceMappingURL=useStorageManager.js.map
|