diff --git a/website/public/store.mjs b/website/public/store.mjs index 19166810..b2e0b4e6 100644 --- a/website/public/store.mjs +++ b/website/public/store.mjs @@ -20,7 +20,7 @@ export function set(next) { localStorage.setItem(storeKey, JSON.stringify(next)); } -export function updateState(func) { +export function update(func) { const prev = get(); const next = func(prev); set(next); @@ -31,6 +31,10 @@ export function updateState(func) { ); } +export function reset() { + update(() => defaults); +} + export function watch(func, prop) { document.addEventListener(storeKey, (e) => { const { prev, next } = e.detail; diff --git a/website/src/repl/Footer.jsx b/website/src/repl/Footer.jsx index 56bca99d..f816df92 100644 --- a/website/src/repl/Footer.jsx +++ b/website/src/repl/Footer.jsx @@ -275,7 +275,7 @@ function FormItem({ label, children }) { const themeOptions = Object.fromEntries(Object.keys(themes).map((k) => [k, k])); function SettingsTab() { - const { state, update } = useStore(); + const { state, update, reset } = useStore(); const { theme, keybindings, fontSize } = state; return (