mirror of
https://github.com/leporello-js/leporello-js
synced 2026-01-13 21:14:28 -08:00
reload app_window on every code execution
This commit is contained in:
@@ -2,8 +2,15 @@ import {render} from 'https://unpkg.com/preact?module';
|
||||
|
||||
let state, component, root
|
||||
|
||||
if(globalThis.leporello) {
|
||||
// See https://github.com/leporello-js/leporello-js?tab=readme-ov-file#saving-state-between-page-reloads
|
||||
// Get initial state from Leporello storage
|
||||
state = globalThis.leporello.storage.get('state')
|
||||
}
|
||||
|
||||
export const createApp = initial => {
|
||||
/* if state is already initialized then preserve it */
|
||||
/* if state was loaded from Leporello storage then keep it,
|
||||
* otherwise initialize with initial state */
|
||||
state = state ?? initial.initialState
|
||||
component = initial.component
|
||||
root = initial.root
|
||||
@@ -12,6 +19,10 @@ export const createApp = initial => {
|
||||
|
||||
export const handler = fn => (...args) => {
|
||||
state = fn(state, ...args)
|
||||
if(globalThis.leporello) {
|
||||
// Save state to Leporello storage to load it after page reload
|
||||
globalThis.leporello.storage.set('state', state)
|
||||
}
|
||||
do_render()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user