Screenshot of Kitten’s Interactive Shell (REPL), showing an action performed in the browser (client event) automatically triggering a server-side event handler that then updates a boolean value in a JavaScript object in memory that is automatically persisted to disk using Kitten’s built-in JSDB (JavaScript Database): 📄 → 🐱: Client event « signUpSwitch » SignUpsSwitch (KittenComponent) sign-up-switch { _componentId: 'sign-up-switch' } 💾 Settings updated in memory. Settings { id: '7832e729-1996-4ac4-b7d0-db3b6ba294d9', allowSignUps: true, mastodonAccessToken: '**** [REDACTED]' } => allowSignUps = false 🐱 → 📄: Streaming HTML <div hx-swap-oob="morph" data-kitten-component id="sign-up-switch" class="signUpSwitch off"> <div class="Switch"> <label for="switch-c8737e2e-c5be-4eb9-afd3-0bdf44fa3133" class="Switch">Sign-ups are closed.</label> <input id="switch-c8737e2e-c5be-4eb9-afd3-0bdf44fa3133" name="signUpSwitch" type="checkbox" role="switch" ws-send hx-ext="ws,morph" hx-swap-oob="morph"> </div> </div> 💾 Settings table update. kitten.db.settings.allowSignUps = false Persisted as: '_[[`allowSignUps`]] = false;\n' 🐱 💬
https://s3-eu-central-1.amazonaws.com/mastodon-aral/media_attachments/files/116/731/557/737/587/490/original/5c30d8f5d7e2f007.jpeg