@@ -0,0 +1,58 @@
1+{-# LANGUAGE QuasiQuotes, TemplateHaskell, OverloadedStrings, TypeFamilies, MultiParamTypeClasses #-}
3+import Data.Text (Text)
4+import Language.Elm.Yesod
7+import Yesod.Default.Util
11+data ElmTest = ElmTest
15+niceBlue = rgb 0 (1/3) (2/3)
16+clearGreen = rgba (1/9) (8/9) (3/9) (1/2)
19+ collage w h [ filled niceBlue . rotate ((x+y)/1000) $ ngon 4 100 (200,200)
20+ , filled clearGreen $ ngon 5 30 (x,y)
23+main = lift2 scene Mouse.position Window.dimensions
27+main = plainText "Welcome!"
32+mkYesod "ElmTest" [parseRoutes|
37+getMouseR :: Handler RepHtml
38+getMouseR = defaultLayout $ do
39+ setTitle "Mouse position demo"
40+ generateWidget mousePage
43+getRootR :: Handler RepHtml
44+getRootR = defaultLayout $ do
46+ generateWidget rootPage
48+instance Yesod ElmTest where
49+ jsLoader _ = BottomOfHeadBlocking
50+ defaultLayout widget = do
52+ pc <- widgetToPageContent $ do
53+ addScriptRemote $ "http://f.cl.ly/items/2e3Z3r3v29263U393c3x/elm-min.js"
54+ $(whamletFile "templates/default-layout.hamlet")
55+ hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet")
58+main = warpDebug 3000 ElmTest