From e87bf34e06f8bec3c6622102528c2d685b3cbb5b Mon Sep 17 00:00:00 2001 From: Noah Loomans Date: Wed, 13 Sep 2017 21:29:15 +0200 Subject: Add some basic elm --- src/client/elm/Main.elm | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/client/elm/Main.elm (limited to 'src/client/elm') diff --git a/src/client/elm/Main.elm b/src/client/elm/Main.elm new file mode 100644 index 0000000..8e1e9c8 --- /dev/null +++ b/src/client/elm/Main.elm @@ -0,0 +1,65 @@ +module Main exposing (..) + +-- import Html.Attributes exposing (..) +import Html exposing (..) +import Json.Decode exposing (string, Decoder) +import Json.Decode.Pipeline exposing (decode, required) + + +main : Program Flags Model msg +main = + Html.programWithFlags + { init = init + , update = update + , view = view + , subscriptions = subscriptions + } + +type alias Flags = Json.Decode.Value + + +type alias Model = + { users : List User + } + + +type alias User = + { type_ : String + , value : String + } + + +type UserType + = Class + | Teacher + | Room + | Student + +init : Flags -> ( Model, Cmd msg ) +init flags = + case Json.Decode.decodeValue decodeUsers flags of + Ok user -> + (Model user, Cmd.none) + + Err err -> + Debug.crash err + +decodeUsers : Decoder (List User) +decodeUsers = Json.Decode.list decodeUser + +decodeUser : Decoder User +decodeUser = + decode User + |> required "type" string + |> required "value" string + +update : msg -> Model -> (Model, Cmd msg) +update msg model = (model, Cmd.none) + +view : Model -> Html msg +view model = + text <| toString model + +subscriptions : Model -> Sub msg +subscriptions model = + Sub.none \ No newline at end of file -- cgit v1.1