@@ -152,5 +152,8 @@ runBackend backend frontend = case checkEncoder $ _backend_routeEncoder backend
152renderGhcjsFrontend :: route -> Frontend route -> IO ByteString
152renderGhcjsFrontend :: route -> Frontend route -> IO ByteString
153renderGhcjsFrontend route f = do
153renderGhcjsFrontend route f = do
154 let baseTag = elAttr "base" ("href" =: "/") blank --TODO: Figure out the base URL from the routes
154 let baseTag = elAttr "base" ("href" =: "/") blank --TODO: Figure out the base URL from the routes
155+ ghcjsPreload = elAttr "link" ("rel" =: "preload" <> "as" =: "script" <> "href" =: "ghcjs/all.js") blank
155 ghcjsScript = elAttr "script" ("language" =: "javascript" <> "src" =: "ghcjs/all.js" <> "defer" =: "defer") blank
156 ghcjsScript = elAttr "script" ("language" =: "javascript" <> "src" =: "ghcjs/all.js" <> "defer" =: "defer") blank
157+ renderFrontendHtml route
156− renderFrontendHtml route (_frontend_head f >> injectExecutableConfigs >> baseTag) (_frontend_body f >> ghcjsScript)
158+ (_frontend_head f >> injectExecutableConfigs >> baseTag >> ghcjsPreload)
159+ (_frontend_body f >> ghcjsScript)