import { addSpell } from "treehouse/spells.js"; const settingsKey = "treehouse.settings"; const settings = JSON.parse(localStorage.getItem(settingsKey)) || {}; const defaultSettingValues = { showNewPostIndicator: true, }; function saveSettings() { localStorage.setItem(settingsKey, JSON.stringify(settings)); } export function getSettingValue(setting) { return settings[setting] ?? defaultSettingValues[setting]; } class SettingCheckbox { constructor(element) { element.checked = getSettingValue(element.id); element.addEventListener("change", () => { settings[element.id] = element.checked; saveSettings(); }); } } addSpell("setting-checkbox", SettingCheckbox);