@@ -1,19 +1,16 @@
11{-# LANGUAGE QuasiQuotes, TemplateHaskell, OverloadedStrings, TypeFamilies, MultiParamTypeClasses #-}
22
33import Language.Elm
4+import Language.Elm.Quasi
45import Language.Elm.Yesod
56import Yesod
67import Text.Hamlet
78
89data ElmTest = ElmTest
910
10−-- embedding an external elm file (note: no spaces!)
11−rootPage :: Show a => a -> a -> a -> String
12−rootPage mouse clock shapes = [elmFile|elm_source/index.elm|]
11+mousePage = $(elmFile "elm_source/mouse.elm")
1312
14−mousePage = [elmFile|elm_source/mouse.elm|]
15−
16−clockPage = [elmFile|elm_source/clock.elm|]
13+clockPage = $(elmFile "elm_source/clock.elm")
1714
1815-- embedding elm code inside Haskell using the QuasiQuoter:
1916shapesPage = [elm|
@@ -63,7 +60,7 @@ getRootR = do
6360 clock = render ClockR
6461 shapes = render ShapesR
6562 setTitle "Welcome!"
66− elmWidget $ rootPage mouse clock shapes
63+ elmWidget $(elmFile "elm_source/index.elm")
6764
6865
6966-- Our Yesod instance contains the default layout, which inserts the elm-min.js