diff options
Diffstat (limited to 'src/View/Page.elm')
-rw-r--r-- | src/View/Page.elm | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/src/View/Page.elm b/src/View/Page.elm index 3aa29a2..c85cf91 100644 --- a/src/View/Page.elm +++ b/src/View/Page.elm @@ -3,6 +3,7 @@ module View.Page ) where import List +import String (append) import Html (..) import Html.Attributes (..) @@ -10,7 +11,7 @@ import Html.Attributes as A import Json.Encode (string) import Model.Game (Game) -import Model.Round (roundOrder) +import Model.Round (..) import View.Game (gameView) import View.Time (timeView) @@ -29,18 +30,23 @@ pageView game = , p [] [ text "Use the arrow keys to move and 'e' to change your color." ] - , ( let orderedRounds = - game.rounds - |> List.sortWith roundOrder - |> List.reverse - in case orderedRounds of - [] -> - div [ class "bestScore" ] [] - bestRound :: _ -> - p - [ class "bestScore isDefined" ] - [ text <| "Best score: " ++ (toString bestRound.score) ++ " hits within " ++ (timeView bestRound.duration) ] + , ( case maybeBestRound game.rounds of + Nothing -> + div [ class "bestScore" ] [] + Just bestRound -> + p + [ class "bestScore isDefined" ] + [ roundView bestRound + |> append "Best score: " + |> text + ] ) + , ul + [ class "rounds" ] + ( List.map + (\round -> li [] [ text (roundView round) ]) + game.rounds + ) , a [ href "https://github.com/guyonvarch/catchvoid" ] [ img @@ -58,3 +64,9 @@ pageView game = ] ] +roundView : Round -> String +roundView round = + let score = toString round.score + hits = "hit" ++ (if round.score > 1 then "s" else "") + duration = timeView round.duration + in score ++ " " ++ hits ++ " within " ++ duration |