aboutsummaryrefslogtreecommitdiff
path: root/src/client/Update/LoggedView/Add.elm
blob: 05c2c30cef2ee50ef07fb1a8fe9dc4cc629d8475 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
module Update.LoggedView.Add
  ( AddPaymentAction(..)
  , updateAddPayment
  ) where

import Model.View.Payment.Add exposing (..)

type AddPaymentAction =
  UpdateName String
  | UpdateCost String
  | AddError (Maybe String) (Maybe String)
  | ToggleFrequency

updateAddPayment : AddPaymentAction -> AddPayment -> AddPayment
updateAddPayment action addPayment =
  case action of
    UpdateName name ->
      { addPayment | name <- name }
    UpdateCost cost ->
      { addPayment | cost <- cost }
    AddError nameError costError ->
      { addPayment
      | nameError <- nameError
      , costError <- costError
      }
    ToggleFrequency ->
      { addPayment
      | frequency <- if addPayment.frequency == Punctual then Monthly else Punctual
      }