@@ -81,22 +81,22 @@ instance (PrerenderClientConstraint' js m, ReflexHost t) => Prerender js (Immedi
8181
8282instance (PrerenderClientConstraint' js m, SupportsImmediateDomBuilder t m, ReflexHost t, PerformEvent t m) => Prerender js (HydrationDomBuilderT t m) where
8383 prerenderClientDict = Just Dict
84− prerenderWrapper = do
85− parent <- HydrationDomBuilderT $ asks _hydrationDomBuilderEnv_parent
86− hydrationMode <- HydrationDomBuilderT $ asks _hydrationDomBuilderEnv_hydrationMode
87− df <- Document.createDocumentFragment =<< askDocument
88− initialParent <- liftIO $ readIORef parent
89− initialHydrationMode <- liftIO $ readIORef hydrationMode
90− liftIO $ writeIORef parent $ DOM.toNode df
91− liftIO $ writeIORef hydrationMode HydrationMode_Immediate
92− pure $ do
93− liftIO $ writeIORef parent initialParent
94− liftIO $ writeIORef hydrationMode initialHydrationMode
95− addHydrationStep $ do
96− liftIO $ putStrLn "Hydration step"
97− -- Delete up to the end marker
98− after <- deleteToPrerenderEnd
99− insertBefore df after
84+ prerenderWrapper = getHydrationMode >>= \case
85+ HydrationMode_Immediate -> pure (pure ())
86+ HydrationMode_Hydrating -> do
87+ parent <- HydrationDomBuilderT $ asks _hydrationDomBuilderEnv_parent
88+ hydrationMode <- HydrationDomBuilderT $ asks _hydrationDomBuilderEnv_hydrationMode
89+ df <- Document.createDocumentFragment =<< askDocument
90+ initialParent <- liftIO $ readIORef parent
91+ liftIO $ writeIORef parent $ DOM.toNode df
92+ liftIO $ writeIORef hydrationMode HydrationMode_Immediate
93+ pure $ do
94+ liftIO $ writeIORef parent initialParent
95+ liftIO $ writeIORef hydrationMode HydrationMode_Hydrating
96+ addHydrationStep $ do
97+ -- Delete up to the end marker
98+ after <- deleteToPrerenderEnd
99+ insertBefore df after
100100
101101startMarker, endMarker :: IsString s => s
102102startMarker = "prerender/start"