aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/LoggedIn/Home/Account/Update.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/LoggedIn/Home/Account/Update.elm')
-rw-r--r--src/client/elm/LoggedIn/Home/Account/Update.elm50
1 files changed, 12 insertions, 38 deletions
diff --git a/src/client/elm/LoggedIn/Home/Account/Update.elm b/src/client/elm/LoggedIn/Home/Account/Update.elm
index 8d002a3..59f1402 100644
--- a/src/client/elm/LoggedIn/Home/Account/Update.elm
+++ b/src/client/elm/LoggedIn/Home/Account/Update.elm
@@ -3,20 +3,18 @@ module LoggedIn.Home.Account.Update
) where
import Maybe
-import Dict
-import Task
import Effects exposing (Effects)
-import Server
+import LoggedData exposing (LoggedData)
import LoggedIn.Home.Account.Action as AccountAction
import LoggedIn.Home.Account.Model as AccountModel
import Utils.Maybe exposing (isJust)
-update : AccountAction.Action -> AccountModel.Model -> (AccountModel.Model, Effects AccountAction.Action)
-update action account =
+update : LoggedData -> AccountAction.Action -> AccountModel.Model -> (AccountModel.Model, Effects AccountAction.Action)
+update loggedData action account =
case action of
AccountAction.NoOp ->
@@ -31,45 +29,21 @@ update action account =
( { account | incomeEdition =
if isJust account.incomeEdition
then Nothing
- else Just (AccountModel.initIncomeEdition (Maybe.withDefault 0 (AccountModel.getCurrentIncome account)))
+ else Just (AccountModel.initIncomeEdition (Maybe.withDefault 0 (AccountModel.getCurrentIncome loggedData.incomes loggedData.me account)))
}
, Effects.none
)
AccountAction.UpdateIncomeEdition income ->
- case account.incomeEdition of
- Just incomeEdition ->
- ( { account | incomeEdition = Just { incomeEdition | income = income } }
- , Effects.none
- )
- Nothing ->
- ( account
- , Effects.none
- )
-
- AccountAction.UpdateEditionError error ->
- case account.incomeEdition of
- Just incomeEdition ->
- ( { account | incomeEdition = Just { incomeEdition | error = Just error } }
- , Effects.none
- )
- Nothing ->
- ( account
- , Effects.none
- )
-
- AccountAction.UpdateIncome currentTime amount ->
- ( account
- , Server.setIncome currentTime amount
- |> Task.map (\incomeId -> (AccountAction.ValidateUpdateIncome incomeId currentTime amount))
- |> flip Task.onError (always <| Task.succeed AccountAction.NoOp)
- |> Effects.task
+ ( case account.incomeEdition of
+ Nothing -> account
+ Just incomeEdition -> { account | incomeEdition = Just { incomeEdition | income = income } }
+ , Effects.none
)
- AccountAction.ValidateUpdateIncome incomeId currentTime amount ->
- ( { account
- | incomes = Dict.insert incomeId { userId = account.me, creation = currentTime, amount = amount } account.incomes
- , incomeEdition = Nothing
- }
+ AccountAction.UpdateEditionError error ->
+ ( case account.incomeEdition of
+ Nothing -> account
+ Just incomeEdition -> { account | incomeEdition = Just { incomeEdition | error = Just error } }
, Effects.none
)