diff options
| author | Guillermo Ramos | 2025-03-14 11:52:09 +0100 | 
|---|---|---|
| committer | Guillermo Ramos | 2025-03-15 13:33:30 +0100 | 
| commit | a05b9066900a017ac75e77e687f5414ad6f8d25a (patch) | |
| tree | c85eb5a1519a4c8b50fb6fc9c6d5e9dfe19b3c12 /front/src | |
| parent | 8dff02998db9eac1efacf555ccbdec198d7fe213 (diff) | |
| download | hiccup-a05b9066900a017ac75e77e687f5414ad6f8d25a.tar.gz | |
New update: change interest rate
Diffstat (limited to 'front/src')
| -rw-r--r-- | front/src/Main.elm | 26 | 
1 files changed, 21 insertions, 5 deletions
| diff --git a/front/src/Main.elm b/front/src/Main.elm index bc3f763..ad8862b 100644 --- a/front/src/Main.elm +++ b/front/src/Main.elm @@ -271,6 +271,7 @@ modelToUrl { settings, rawSpecs } =  type SimUpdate      = Amortize Float +    | SetI1 Float  simUpdateEncode : SimUpdate -> JE.Value @@ -279,28 +280,35 @@ simUpdateEncode mupdate =          Amortize f ->              JE.object [ ( "Amortize", JE.float f ) ] +        SetI1 f -> +            JE.object [ ( "SetI1", JE.float f ) ] +  simUpdateDecoder : JD.Decoder SimUpdate  simUpdateDecoder =      JD.oneOf          [ JD.field "Amortize" <| JD.map Amortize JD.float +        , JD.field "SetI1" <| JD.map SetI1 JD.float          ]  simUpdateFlatten : List SimUpdate -> List SimUpdate  simUpdateFlatten us =      let -        { amortized } = +        { amortized, other } =              List.foldr                  (\upd acc ->                      case upd of                          Amortize f ->                              { acc | amortized = acc.amortized + f } + +                        SetI1 f -> +                            { acc | other = upd :: acc.other }                  ) -                { amortized = 0 } +                { amortized = 0, other = [] }                  us      in -    [ Amortize amortized ] +    Amortize amortized :: other  type alias PeriodicUpdate = @@ -1046,7 +1054,10 @@ simUpdateView : List (Attribute Msg) -> Model -> SimUpdate -> Html Msg  simUpdateView attrs m upd =      case upd of          Amortize f -> -            span attrs [ text "+", amountView m.settings.currency f ] +            p attrs [ text "+", amountView m.settings.currency f ] + +        SetI1 f -> +            p attrs [ text <| String.fromFloat f, text "%" ]  quotaView : Model -> MortgageSim -> Quota -> Html Msg @@ -1079,7 +1090,12 @@ quotaView m { updates } { month, payed, pending_principal } =              else                  ( text "" -                , div [] (List.map (simUpdateView [ class "bg-lime-200" ] m << .upd) <| monthUpdates.periodically) +                , div [] +                    (List.map (simUpdateView [ class "bg-lime-200" ] m << .upd) monthUpdates.periodically +                        ++ (List.map (simUpdateView [ class "bg-lime-200" ] m) <| +                                List.concatMap Tuple.second monthUpdates.byMonth +                           ) +                    )                  )      in      if modBy 12 (month - 1) == 0 || monthInExpandedYear then | 
