@@ -10,36 +10,27 @@ import Text.Julius
1010
1111data ElmTest = ElmTest
1212
13−-- our Elm code
14−mousePage = [elm|
15−niceBlue = rgb 0 (1/3) (2/3)
16−clearGreen = rgba (1/9) (8/9) (3/9) (1/2)
17−
18−scene (x,y) (w,h) =
19− collage w h [ filled niceBlue . rotate ((x+y)/1000) $ ngon 4 100 (200,200)
20− , filled clearGreen $ ngon 5 30 (x,y)
21− ]
22−
23−main = lift2 scene Mouse.position Window.dimensions
24−|]
13+-- embedding an external elm file (note: no spaces!)
14+mousePage = [elmFile|elm_source/mouse.elm|]
2515
16+-- embedding elm code in our Haskell file
2617rootPage = [elm|
2718main = plainText "Welcome!"
2819|]
2920
3021-- our Yesod App
31−
3222mkYesod "ElmTest" [parseRoutes|
3323/ RootR GET
3424/mouse MouseR GET
3525|]
3626
27+-- generateWidget is called with the result of an Elm QuasiQuoter (which is just a
28+-- string containing some Elm code, with proper newline escaping)
3729getMouseR :: Handler RepHtml
3830getMouseR = defaultLayout $ do
3931 setTitle "Mouse position demo"
4032 generateWidget mousePage
4133
42−
4334getRootR :: Handler RepHtml
4435getRootR = defaultLayout $ do
4536 setTitle "Welcome!"