Support boilerplate for Elm clients

Lately I was toiling while writing a ClojureScript client. This made me crave
Elm. I'm going to rewrite the ClojureScript client using Elm, but along the way,
I'm stopping off here and recording my starter boilerplate.
This commit is contained in:
William Carroll 2020-05-17 20:42:18 +01:00
parent 066b1441b2
commit 05a2ea6bb7
11 changed files with 180 additions and 0 deletions

View file

@ -0,0 +1,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
)