aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Update/LoggedIn/Add.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/Update/LoggedIn/Add.elm')
-rw-r--r--src/client/elm/Update/LoggedIn/Add.elm29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/client/elm/Update/LoggedIn/Add.elm b/src/client/elm/Update/LoggedIn/Add.elm
new file mode 100644
index 0000000..1f28997
--- /dev/null
+++ b/src/client/elm/Update/LoggedIn/Add.elm
@@ -0,0 +1,29 @@
+module Update.LoggedIn.Add
+ ( AddPaymentAction(..)
+ , updateAddPayment
+ ) where
+
+import Model.View.LoggedIn.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
+ }