From 9f68d326ffbb01090ba0b77afdc9f076b2e71fc8 Mon Sep 17 00:00:00 2001 From: Brian Hicks Date: Fri, 25 Sep 2020 14:18:19 -0500 Subject: [PATCH] peek back instead of reconstructing all of history --- src/History.elm | 7 ++++++- src/Main.elm | 3 +-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/History.elm b/src/History.elm index 772e6db..45e084a 100644 --- a/src/History.elm +++ b/src/History.elm @@ -1,4 +1,4 @@ -module History exposing (History, current, goBack, init, mapPush, push) +module History exposing (History, current, goBack, init, mapPush, peekBack, push) {-| -} @@ -45,6 +45,11 @@ mapPush fn history = push (fn (current history)) history +peekBack : History a -> Maybe a +peekBack (History guts) = + List.head guts.past + + goBack : History a -> Maybe (History a) goBack (History guts) = case guts.past of diff --git a/src/Main.elm b/src/Main.elm index b8d1ad8..1a57fab 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -377,8 +377,7 @@ rankings : Model -> Html Msg rankings model = let previousStandings = - History.goBack model.history - |> Maybe.map History.current + History.peekBack model.history |> Maybe.withDefault (History.current model.history) |> League.players |> List.sortBy (\player -> -player.rating)