aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Update/LoggedIn.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/Update/LoggedIn.elm')
-rw-r--r--src/client/elm/Update/LoggedIn.elm45
1 files changed, 25 insertions, 20 deletions
diff --git a/src/client/elm/Update/LoggedIn.elm b/src/client/elm/Update/LoggedIn.elm
index 69a1b75..74e213a 100644
--- a/src/client/elm/Update/LoggedIn.elm
+++ b/src/client/elm/Update/LoggedIn.elm
@@ -14,7 +14,7 @@ import Model exposing (Model)
import Model.User exposing (UserId)
import Model.Payment exposing (..)
import Model.Action.LoggedInAction exposing (..)
-import Model.Action.AccountAction exposing (..)
+import Model.Action.AccountAction as Account
import Model.Action.MonthlyAction as Monthly
import Model.Action.AddPaymentAction as AddPayment
import Model.View.LoggedInView exposing (..)
@@ -52,15 +52,17 @@ updateLoggedIn model action loggedInView =
newAdd = initAddPayment frequency
in case frequency of
Punctual ->
- ( { loggedInView
- | currentPage = 1
- , add = newAdd
- , account = updateAccount (UpdatePayer loggedInView.account.me model.currentTime cost) loggedInView.account
- , payments = newPayment :: loggedInView.payments
- , paymentsCount = loggedInView.paymentsCount + 1
- }
- , Effects.none
- )
+ let (newAccount, accountEffects) =
+ updateAccount (Account.UpdatePayer loggedInView.account.me model.currentTime cost) loggedInView.account
+ in ( { loggedInView
+ | currentPage = 1
+ , add = newAdd
+ , account = newAccount
+ , payments = newPayment :: loggedInView.payments
+ , paymentsCount = loggedInView.paymentsCount + 1
+ }
+ , Effects.map UpdateAccount accountEffects
+ )
Monthly ->
( { loggedInView
| add = newAdd
@@ -90,13 +92,15 @@ updateLoggedIn model action loggedInView =
, Effects.none
)
Punctual ->
- ( { loggedInView
- | account = updateAccount (UpdatePayer payment.userId (Date.toTime payment.creation) -payment.cost) loggedInView.account
- , payments = deletePayment payment.id loggedInView.payments
- , paymentsCount = loggedInView.paymentsCount - 1
- }
- , Effects.none
- )
+ let (newAccount, accountEffects) =
+ updateAccount (Account.UpdatePayer payment.userId (Date.toTime payment.creation) -payment.cost) loggedInView.account
+ in ( { loggedInView
+ | account = newAccount
+ , payments = deletePayment payment.id loggedInView.payments
+ , paymentsCount = loggedInView.paymentsCount - 1
+ }
+ , Effects.map UpdateAccount accountEffects
+ )
UpdatePage page ->
( { loggedInView | currentPage = page }
@@ -109,6 +113,7 @@ updateLoggedIn model action loggedInView =
)
UpdateAccount accountAction ->
- ( { loggedInView | account = updateAccount accountAction loggedInView.account }
- , Effects.none
- )
+ let (newAccount, accountEffects) = updateAccount accountAction loggedInView.account
+ in ( { loggedInView | account = newAccount }
+ , Effects.map UpdateAccount accountEffects
+ )