aboutsummaryrefslogtreecommitdiff
path: root/client/src
diff options
context:
space:
mode:
Diffstat (limited to 'client/src')
-rw-r--r--client/src/Client.elm13
-rw-r--r--client/src/Messages.elm5
2 files changed, 16 insertions, 2 deletions
diff --git a/client/src/Client.elm b/client/src/Client.elm
index 1938711..efd97fb 100644
--- a/client/src/Client.elm
+++ b/client/src/Client.elm
@@ -67,7 +67,18 @@ view model = case model of
]
[Html.text "change"]
]
- ]
+ ] ++
+ (case game.view.blackCard of
+ Nothing -> []
+ Just c -> [blackCard c])
+
+blackCard : String -> Html a
+blackCard string =
+ let blank = Html.span [Html.Attributes.class "blank"] [] in
+ Html.div [Html.Attributes.class "black"] <|
+ List.intersperse blank <|
+ List.map Html.text <|
+ String.split "\\BLANK" string
subscriptions : Model -> Sub Msg
subscriptions model = webSocketIn WebSocketIn
diff --git a/client/src/Messages.elm b/client/src/Messages.elm
index 3fbacc3..77b3830 100644
--- a/client/src/Messages.elm
+++ b/client/src/Messages.elm
@@ -11,19 +11,22 @@ import Set exposing (Set)
type alias GameView =
{ opponents: (List String)
, myName: String
+ , blackCard: (Maybe String)
}
jsonDecGameView : Json.Decode.Decoder ( GameView )
jsonDecGameView =
- Json.Decode.succeed (\popponents pmyName -> {opponents = popponents, myName = pmyName})
+ Json.Decode.succeed (\popponents pmyName pblackCard -> {opponents = popponents, myName = pmyName, blackCard = pblackCard})
|> required "opponents" (Json.Decode.list (Json.Decode.string))
|> required "myName" (Json.Decode.string)
+ |> fnullable "blackCard" (Json.Decode.string)
jsonEncGameView : GameView -> Value
jsonEncGameView val =
Json.Encode.object
[ ("opponents", (Json.Encode.list Json.Encode.string) val.opponents)
, ("myName", Json.Encode.string val.myName)
+ , ("blackCard", (maybeEncode (Json.Encode.string)) val.blackCard)
]