@@ -70,9 +70,11 @@ newtype FrontendConfigsT m a = FrontendConfigsT { unFrontendConfigsT :: ReaderT
7070 , NotReady t
7171 , PerformEvent t
7272 , PostBuild t
73− , Prerender js t
7473 , TriggerEvent t
7574 , HasDocument
75+ , DomRenderHook t
76+ , HasJSContext
77+ , HasJS js
7678 )
7779
7880instance Adjustable t m => Adjustable t (FrontendConfigsT m) where
@@ -81,6 +83,11 @@ instance Adjustable t m => Adjustable t (FrontendConfigsT m) where
8183 traverseIntMapWithKeyWithAdjust f m e = FrontendConfigsT $ traverseIntMapWithKeyWithAdjust (\k v -> unFrontendConfigsT $ f k v) m e
8284 traverseDMapWithKeyWithAdjustWithMove f m e = FrontendConfigsT $ traverseDMapWithKeyWithAdjustWithMove (\k v -> unFrontendConfigsT $ f k v) m e
8385
86+instance Prerender js t m => Prerender js t (FrontendConfigsT m) where
87+ type Client (FrontendConfigsT m) = FrontendConfigsT (Client m)
88+ prerender server client = FrontendConfigsT $ ReaderT $ \configs ->
89+ prerender (runFrontendConfigsT configs server) (runFrontendConfigsT configs client)
90+
8491instance PrimMonad m => PrimMonad (FrontendConfigsT m) where
8592 type PrimState (FrontendConfigsT m) = PrimState m
8693 primitive = lift . primitive