about summary refs log tree commit diff
path: root/boilerplate/elm/src/State.elm
blob: c1edae8bb638cbd921f19beb43dd2b3f47c9e706 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
module State exposing (..)


type Msg
    = DoNothing
    | SetView View


type View
    = Landing
    | Login


type alias Model =
    { isLoading : Bool
    , view : View
    }


{-| The initial state for the application.
-}
init : Model
init =
    { isLoading = False
    , view = Landing
    }


{-| Now that we have state, we need a function to change the state.
-}
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
    case msg of
        DoNothing ->
            ( model, Cmd.none )

        SetView x ->
            ( { model
                | view = x
                , isLoading = True
              }
            , Cmd.none
            )