diff options
-rw-r--r-- | front/src/Main.elm | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/front/src/Main.elm b/front/src/Main.elm index bc0b050..4806457 100644 --- a/front/src/Main.elm +++ b/front/src/Main.elm @@ -242,7 +242,7 @@ defaultRawSpecs = , total = "200000" , initial = "40000" , rate = "80" - , i1 = "1.621" + , i1 = "2.5" , years = "30" , vat = "6" , fee = "3" @@ -721,20 +721,15 @@ toRoute url = init : () -> Url -> Nav.Key -> ( Model, Cmd Msg ) init () url navKey = - let - ( settings, rawSpecs ) = - routeQuery (toRoute url) - in - ( { settings = settings - , navKey = navKey - , error = "" - , rawSpecs = rawSpecs - , expandedYears = Set.empty - , simulation = Nothing - , t = make_t settings.lang - } - , Cmd.none - ) + { settings = defaultSettings + , navKey = navKey + , error = "" + , rawSpecs = defaultRawSpecs + , expandedYears = Set.empty + , simulation = Nothing + , t = identity + } + |> update (ChangedUrl url) @@ -833,9 +828,7 @@ update msg m = ( { m | error = errorToString err }, Cmd.none ) RunSim specs -> - ( m - , batch [ runSim m specs, Nav.pushUrl m.navKey (modelToUrl m) ] - ) + ( m, Nav.pushUrl m.navKey (modelToUrl m) ) SetUrl (Internal url) -> ( m, Nav.pushUrl m.navKey (Url.toString url) ) @@ -847,13 +840,21 @@ update msg m = let ( settings, rawSpecs ) = routeQuery (toRoute url) + + newM = + { m + | settings = settings + , rawSpecs = rawSpecs + , t = make_t settings.lang + } in - ( { m - | settings = settings - , rawSpecs = rawSpecs - , t = make_t settings.lang - } - , Cmd.none + ( newM + , case parseSimSpecs rawSpecs of + Nothing -> + Cmd.none + + Just specs -> + runSim newM specs ) RmPeriodicUpdate pu -> @@ -867,7 +868,7 @@ update msg m = newM = setModelUpdates { updates | periodic = List.filter ((/=) pu) periodicUpdates } m in - ( newM, Nav.pushUrl m.navKey (modelToUrl newM) ) + ( m, Nav.pushUrl m.navKey (modelToUrl newM) ) RmUpdate mu -> let @@ -880,7 +881,7 @@ update msg m = newM = setModelUpdates { updates | byMonth = List.filter ((/=) mu) byMonUpdates } m in - ( newM, Nav.pushUrl m.navKey (modelToUrl newM) ) + ( m, Nav.pushUrl m.navKey (modelToUrl newM) ) UpdateSpecs field val -> let |