From f3942ae7724ff92d1949f245ddc1cb37c3dba9c8 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Tue, 25 Apr 2023 08:36:42 -0400 Subject: [PATCH] some explainers --- obelisk/frontend/src/Pages/TechDemo.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/obelisk/frontend/src/Pages/TechDemo.hs b/obelisk/frontend/src/Pages/TechDemo.hs index 77e48b0..d565609 100644 --- a/obelisk/frontend/src/Pages/TechDemo.hs +++ b/obelisk/frontend/src/Pages/TechDemo.hs @@ -119,9 +119,17 @@ techDemoPage = prerender_ (pure ()) $ do -- | Render a "Back" button hooked up to the browser history navigation action "back". navigationDemo :: (Prerender t m, DomBuilder t m) => m () navigationDemo = do + -- This renders a button into the page so there is something to see and + -- click on. It returns an `Event t ()` that triggers when the button is + -- clicked. backEv <- button "Back" - prerender_ blank $ do - -- performEvent_? Why? + + -- Only do the rest of this on the client. There's no way to look up the + -- browser Window or History when doing server-side rendering. + prerender_ blank $ + + -- Use performEvent_ to take an action on the Window whenever the event + -- triggers. performEvent_ . ffor backEv $ \() -> do windowM <- currentWindow case windowM of -- GitLab