storage.js (1.1 KB)
1 import { STORAGE_KEY, ZINE_BOILERPLATE } from './constants.js'; 2 3 export function saveToStorage(content) { 4 try { 5 localStorage.setItem(STORAGE_KEY, content); 6 } catch (e) { 7 console.warn('Could not save to localStorage:', e); 8 } 9 } 10 11 export async function loadContent() { 12 let content = ZINE_BOILERPLATE; 13 try { 14 const saved = localStorage.getItem(STORAGE_KEY); 15 if (saved && saved.trim()) { 16 content = saved; 17 } 18 } catch (e) { 19 console.warn('Could not load from localStorage:', e); 20 } 21 return { content, isBoilerplate: content === ZINE_BOILERPLATE }; 22 } 23 24 export function loadEditorSettings() { 25 try { 26 const showLineNumbers = localStorage.getItem('zine-editor-line-numbers') === 'true'; 27 const enableLineWrapping = localStorage.getItem('zine-editor-line-wrapping') !== 'false'; 28 return { showLineNumbers, enableLineWrapping }; 29 } catch (e) { 30 return { showLineNumbers: false, enableLineWrapping: true }; 31 } 32 } 33 34 export function saveEditorSetting(key, value) { 35 try { 36 localStorage.setItem(key, value.toString()); 37 } catch (e) {} 38 }