11-----------------------------------------------------------------------------
2+ {-# LANGUAGE LambdaCase #-}
23{-# LANGUAGE RecordWildCards #-}
34{-# LANGUAGE OverloadedStrings #-}
45{-# LANGUAGE GeneralizedNewtypeDeriving #-}
@@ -11,7 +12,7 @@ import Miso.Lynx.Element.View.Event (onTap)
1112-----------------------------------------------------------------------------
1213import Miso.Lens
1314import Miso.String
14- import qualified Miso.Style as CSS
15+ import qualified Miso.CSS as CSS
1516-----------------------------------------------------------------------------
1617-- | Application model
1718newtype Model = Model { _value :: Int }
@@ -23,15 +24,12 @@ value = lens _value $ \m v -> m { _value = v }
2324data Action
2425 = AddOne
2526 | SubtractOne
26- | SayHelloWorld
27- | Tap Int
2827 deriving (Show , Eq )
2928-----------------------------------------------------------------------------
3029-- | Entry point for a miso application
3130main :: IO ()
3231main = run $ lynx counterComponent
3332 { events = lynxEvents
34- , initialAction = Just SayHelloWorld
3533 }
3634-----------------------------------------------------------------------------
3735counterComponent :: App Model Action
@@ -40,14 +38,11 @@ counterComponent = component (Model 0) updateModel viewModel
4038updateModel
4139 :: Action
4240 -> Transition Model Action
43- updateModel SayHelloWorld =
44- io_ (consoleLog " Hello World!" )
45- updateModel AddOne =
46- value += 1
47- updateModel SubtractOne =
48- value -= 1
49- updateModel (Tap x) =
50- io_ $ consoleLog (" Tapped: " <> ms (show x))
41+ updateModel = \ case
42+ AddOne ->
43+ value += 1
44+ SubtractOne ->
45+ value -= 1
5146-----------------------------------------------------------------------------
5247-- | Constructs a virtual DOM from a model
5348viewModel :: Model -> View Model Action
@@ -61,7 +56,6 @@ viewModel m = view_
6156 ]
6257 [ view_
6358 [ onTap AddOne
64- , id_ " plus"
6559 , CSS. style_
6660 [ CSS. backgroundColor CSS. yellow
6761 , CSS. width " 100px"
@@ -100,7 +94,6 @@ viewModel m = view_
10094 ]
10195 , view_
10296 [ onTap SubtractOne
103- , id_ " minus"
10497 , CSS. style_
10598 [ CSS. backgroundColor CSS. pink
10699 , CSS. width " 100px"
0 commit comments