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 }