diff options
Diffstat (limited to 'src/client/View/Payments')
-rw-r--r-- | src/client/View/Payments/Add.elm | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/client/View/Payments/Add.elm b/src/client/View/Payments/Add.elm index f2230be..32010ef 100644 --- a/src/client/View/Payments/Add.elm +++ b/src/client/View/Payments/Add.elm @@ -2,20 +2,28 @@ module View.Payments.Add ( addPayment ) where -import Html exposing (..) +import Html as H exposing (..) import Html.Attributes exposing (..) import Html.Events exposing (..) +import Reads exposing (readInt) +import Result exposing (..) -import ServerCommunication as SC -import ServerCommunication exposing (serverCommunications) +import ServerCommunication as SC exposing (serverCommunications) import Update exposing (..) import Update.Payment exposing (..) +import View.Events exposing (onSubmitPrevDefault) + addPayment : String -> String -> Html addPayment name cost = - div - [ class "add" ] + H.form + [ class "add" + , onSubmitPrevDefault serverCommunications.address + <| case readInt cost of + Ok number -> SC.AddPayment name number + Err _ -> SC.NoCommunication + ] [ text "Name" , input [ value name @@ -29,6 +37,6 @@ addPayment name cost = ] [] , button - [ onClick serverCommunications.address (SC.AddPayment name cost) ] + [ type' "submit" ] [ text "Add" ] ] |