git.iko.soy/rowtype-yoga/psfp
on 21e940e help sign in
rowtype-yoga/psfp/src/Example.purs
34 lines 1.0 kB history raw
1module Example (main) where
3import Prelude
5import Data.Maybe (fromJust)
6import Effect (Effect)
7import Effect.Console (log)
8import Element (mkToggleButtonContainer)
9import Partial.Unsafe (unsafePartial)
10import React.Basic (JSX, element)
11import React.Basic.DOM as ReactDOM
12import Web.DOM.NonElementParentNode (getElementById) as DOM
13import Web.HTML (window) as DOM
14import Web.HTML.HTMLDocument (toNonElementParentNode) as DOM
15import Web.HTML.Window (document) as DOM
18main :: Effect Unit
19main = do
20 toggleButtonContainer <- mkToggleButtonContainer
21 let appEl = element toggleButtonContainer {}
23 if isServerSide
24 then void (log (renderToString appEl))
25 else void do
26 window <- DOM.window
27 document <- DOM.document window
28 let node = DOM.toNonElementParentNode document
29 elem <- DOM.getElementById "app" node
30 let element' = unsafePartial (fromJust elem)
31 ReactDOM.render appEl element'
33foreign import isServerSide :: Boolean
34foreign import renderToString :: JSX -> String