aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/View/LoggedIn/Add.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/View/LoggedIn/Add.elm')
-rw-r--r--src/client/elm/View/LoggedIn/Add.elm122
1 files changed, 0 insertions, 122 deletions
diff --git a/src/client/elm/View/LoggedIn/Add.elm b/src/client/elm/View/LoggedIn/Add.elm
deleted file mode 100644
index 2f580f9..0000000
--- a/src/client/elm/View/LoggedIn/Add.elm
+++ /dev/null
@@ -1,122 +0,0 @@
-module View.LoggedIn.Add
- ( addPayment
- ) where
-
-import Html as H exposing (..)
-import Html.Attributes exposing (..)
-import Html.Events exposing (..)
-import Reads exposing (readInt)
-import Result exposing (..)
-
-import ServerCommunication as SC exposing (serverCommunications)
-
-import Update exposing (..)
-import Update.LoggedIn exposing (..)
-import Update.LoggedIn.Add exposing (..)
-
-import Model exposing (Model)
-import Model.View.LoggedIn.Add exposing (..)
-import Model.Translations exposing (getMessage)
-import Model.View.LoggedInView exposing (LoggedInView)
-
-import View.Events exposing (onSubmitPrevDefault)
-import View.Icon exposing (renderIcon)
-
-import Utils.Maybe exposing (isJust)
-import Utils.Either exposing (toMaybeError)
-
-addPayment : Model -> LoggedInView -> Html
-addPayment model loggedInView =
- H.form
- [ case (validateName loggedInView.add.name model.translations, validateCost loggedInView.add.cost model.translations) of
- (Ok name, Ok cost) ->
- let action =
- case loggedInView.add.frequency of
- Punctual -> SC.AddPayment name cost
- Monthly -> SC.AddMonthlyPayment name cost
- in onSubmitPrevDefault serverCommunications.address action
- (resName, resCost) ->
- onSubmitPrevDefault actions.address (UpdateLoggedIn <| UpdateAdd <| AddError (toMaybeError resName) (toMaybeError resCost))
- , class "addPayment"
- ]
- [ addPaymentName loggedInView.add
- , addPaymentCost model loggedInView.add
- , paymentFrequency model loggedInView.add
- , button
- [ type' "submit"
- , class "add" ]
- [ text (getMessage "Add" model.translations)]
- ]
-
-addPaymentName : AddPayment -> Html
-addPaymentName addPayment =
- div
- [ classList
- [ ("name", True)
- , ("error", isJust addPayment.nameError)
- ]
- ]
- [ input
- [ id "nameInput"
- , value addPayment.name
- , on "input" targetValue (Signal.message actions.address << UpdateLoggedIn << UpdateAdd << UpdateName)
- , maxlength 20
- ]
- []
- , label
- [ for "nameInput" ]
- [ renderIcon "shopping-cart" ]
- , case addPayment.nameError of
- Just error ->
- div [ class "errorMessage" ] [ text error ]
- Nothing ->
- text ""
- ]
-
-addPaymentCost : Model -> AddPayment -> Html
-addPaymentCost model addPayment =
- div
- [ classList
- [ ("cost", True)
- , ("error", isJust addPayment.costError)
- ]
- ]
- [ input
- [ id "costInput"
- , value addPayment.cost
- , on "input" targetValue (Signal.message actions.address << UpdateLoggedIn << UpdateAdd << UpdateCost)
- , maxlength 7
- ]
- []
- , label
- [ for "costInput" ]
- [ text model.config.currency ]
- , case addPayment.costError of
- Just error ->
- div [ class "errorMessage" ] [ text error ]
- Nothing ->
- text ""
- ]
-
-paymentFrequency : Model -> AddPayment -> Html
-paymentFrequency model addPayment =
- button
- [ type' "button"
- , class "frequency"
- , onClick actions.address (UpdateLoggedIn << UpdateAdd <| ToggleFrequency)
- ]
- [ div
- [ classList
- [ ("punctual", True)
- , ("selected", addPayment.frequency == Punctual)
- ]
- ]
- [ text (getMessage "Punctual" model.translations) ]
- , div
- [ classList
- [ ("monthly", True)
- , ("selected", addPayment.frequency == Monthly)
- ]
- ]
- [ text (getMessage "Monthly" model.translations) ]
- ]