diff options
author | Jasper Van der Jeugt | 2020-07-30 16:16:52 +0200 |
---|---|---|
committer | Jasper Van der Jeugt | 2020-07-30 16:16:52 +0200 |
commit | f5a7875d605010540ec7c9c8f2a3ff4ed0702597 (patch) | |
tree | 2ea9642ff2c50ee86d861126d8a766fbd922e3d8 /client/src/Messages.elm | |
parent | 4e1068c41b84f0813b82fe61816271b92ca76f48 (diff) |
Allow people to change their name
Diffstat (limited to 'client/src/Messages.elm')
-rw-r--r-- | client/src/Messages.elm | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/client/src/Messages.elm b/client/src/Messages.elm index 2239a74..730a66d 100644 --- a/client/src/Messages.elm +++ b/client/src/Messages.elm @@ -9,16 +9,23 @@ import Set exposing (Set) type alias GameView = - { players: (List String) + { opponents: (List String) + , playerName: String } jsonDecGameView : Json.Decode.Decoder ( GameView ) jsonDecGameView = - Json.Decode.succeed (\pplayers -> {players = pplayers}) |> custom (Json.Decode.list (Json.Decode.string)) + Json.Decode.succeed (\popponents pplayerName -> {opponents = popponents, playerName = pplayerName}) + |> required "opponents" (Json.Decode.list (Json.Decode.string)) + |> required "playerName" (Json.Decode.string) jsonEncGameView : GameView -> Value jsonEncGameView val = - (Json.Encode.list Json.Encode.string) val.players + Json.Encode.object + [ ("opponents", (Json.Encode.list Json.Encode.string) val.opponents) + , ("playerName", Json.Encode.string val.playerName) + ] + type ServerMessage = @@ -44,3 +51,17 @@ jsonEncServerMessage val = in encodeSumObjectWithSingleField keyval val + +type ClientMessage = + ChangeName String + +jsonDecClientMessage : Json.Decode.Decoder ( ClientMessage ) +jsonDecClientMessage = + Json.Decode.lazy (\_ -> Json.Decode.map ChangeName (Json.Decode.string)) + + +jsonEncClientMessage : ClientMessage -> Value +jsonEncClientMessage (ChangeName v1) = + Json.Encode.string v1 + + |