Add Elm boilerplate to project
Create a top-level client directory to store my Elm boilerplate.
This commit is contained in:
parent
cf6c8799ab
commit
289cae2528
11 changed files with 180 additions and 0 deletions
43
client/src/State.elm
Normal file
43
client/src/State.elm
Normal 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
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue