Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 1x 1x 3x 3x 3x 1x 1x 3x 1x | /**
* localStorage key used by astro-themes for theme preference (must be preserved on logout).
*/
export const THEME_STORAGE_KEY = 'theme';
/**
* Clear the entire localStorage
*/
export const clearLocalStorage = () => {
try {
localStorage.clear();
} catch (error) {
console.error('Failed to clear localStorage:', error);
}
};
/**
* Clear localStorage but preserve given keys (e.g. theme preference so dark mode is retained after logout).
*/
export const clearLocalStorageExcept = (keysToPreserve: string[]) => {
try {
const preserve = new Set(keysToPreserve);
for (let i = localStorage.length - 1; i >= 0; i--) {
const key = localStorage.key(i);
if (key && !preserve.has(key)) {
localStorage.removeItem(key);
}
}
} catch (error) {
console.error('Failed to clear localStorage:', error);
}
};
|