For more information, read: https://developers.google.com/identity/sign-in/web/sign-in?authuser=1 TODO: Use Elm ports or something similar to properly interop with the onSignIn and signOn functions defined in index.html.
43 lines
660 B
Elm
43 lines
660 B
Elm
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 = Login
|
|
}
|
|
|
|
|
|
{-| 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
|
|
)
|