aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/LoggedIn/Monthly/Update.elm
blob: 62b40e6d344b0f64310f991f469cd59215121101 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module LoggedIn.Monthly.Update
  ( update
  ) where

import LoggedIn.Monthly.Action as MonthlyAction
import LoggedIn.Monthly.Model as MonthlyModel

update : MonthlyAction.Action -> MonthlyModel.Model -> MonthlyModel.Model
update action monthly =
  case action of
    MonthlyAction.ToggleDetail ->
      { monthly | visibleDetail = not monthly.visibleDetail }
    MonthlyAction.AddPayment payment ->
      { monthly
      | payments = payment :: monthly.payments
      , visibleDetail = True
      }
    MonthlyAction.DeletePayment payment ->
      { monthly
      | payments = List.filter (((/=) payment.id) << .id) monthly.payments
      }