aboutsummaryrefslogtreecommitdiff
path: root/src/client/View/LoggedIn/Account.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/View/LoggedIn/Account.elm')
-rw-r--r--src/client/View/LoggedIn/Account.elm130
1 files changed, 0 insertions, 130 deletions
diff --git a/src/client/View/LoggedIn/Account.elm b/src/client/View/LoggedIn/Account.elm
deleted file mode 100644
index 706f7cc..0000000
--- a/src/client/View/LoggedIn/Account.elm
+++ /dev/null
@@ -1,130 +0,0 @@
-module View.LoggedIn.Account
- ( account
- ) where
-
-import Html exposing (..)
-import Html as H exposing (..)
-import Html.Attributes exposing (..)
-import Html.Events exposing (..)
-import List
-
-import ServerCommunication as SC exposing (serverCommunications)
-
-import Update exposing (..)
-import Update.LoggedIn exposing (..)
-import Update.LoggedIn.Account exposing (..)
-
-import Model exposing (Model)
-import Model.User exposing (getUserName)
-import Model.Payer exposing (..)
-import Model.View.LoggedInView exposing (LoggedInView)
-import Model.Translations exposing (getParamMessage, getMessage)
-import Model.View.LoggedIn.Account exposing (..)
-
-import View.Expand exposing (..)
-import View.Price exposing (price)
-import View.Events exposing (onSubmitPrevDefault)
-
-import Utils.Either exposing (toMaybeError)
-
-account : Model -> LoggedInView -> Html
-account model loggedInView =
- let account = loggedInView.account
- in div
- [ classList
- [ ("account", True)
- , ("detail", account.visibleDetail)
- ]
- ]
- [ exceedingPayers model loggedInView
- , if account.visibleDetail
- then income model account
- else text ""
- ]
-
-exceedingPayers : Model -> LoggedInView -> Html
-exceedingPayers model loggedInView =
- button
- [ class "header"
- , onClick actions.address (UpdateLoggedIn << UpdateAccount <| ToggleDetail)
- ]
- ( (List.map (exceedingPayer model loggedInView) (getOrderedExceedingPayers model.currentTime loggedInView.account.payers))
- ++ [ expand ExpandDown loggedInView.account.visibleDetail ]
- )
-
-exceedingPayer : Model -> LoggedInView -> ExceedingPayer -> Html
-exceedingPayer model loggedInView payer =
- div
- [ class "exceedingPayer" ]
- [ span
- [ class "userName" ]
- [ payer.userId
- |> getUserName loggedInView.users
- |> Maybe.withDefault "−"
- |> text
- ]
- , span
- [ class "amount" ]
- [ text ("+ " ++ (price model payer.amount)) ]
- ]
-
-income : Model -> Account -> Html
-income model account =
- case account.incomeEdition of
- Just edition ->
- incomeEdition model account edition
- Nothing ->
- incomeRead model account
-
-incomeRead : Model -> Account -> Html
-incomeRead model account =
- div
- [ class "income" ]
- [ ( case getCurrentIncome account of
- Nothing ->
- text (getMessage "NoIncome" model.translations)
- Just income ->
- text (getParamMessage [price model income] "Income" model.translations)
- )
- , toggleIncomeEdition "editIncomeEdition" (getMessage "Edit" model.translations)
- ]
-
-incomeEdition : Model -> Account -> IncomeEdition -> Html
-incomeEdition model account edition =
- H.form
- [ case validateIncome edition.income model.translations of
- Ok validatedAmount ->
- onSubmitPrevDefault serverCommunications.address (SC.SetIncome model.currentTime validatedAmount)
- Err error ->
- onSubmitPrevDefault actions.address (UpdateLoggedIn << UpdateAccount << UpdateEditionError <| error)
- , class "income"
- ]
- [ label
- [ for "incomeInput" ]
- [ text (getMessage "NewIncome" model.translations) ]
- , input
- [ id "incomeInput"
- , value edition.income
- , on "input" targetValue (Signal.message actions.address << UpdateLoggedIn << UpdateAccount << UpdateIncomeEdition)
- , maxlength 10
- ]
- []
- , button
- [ type' "submit"
- , class "validateIncomeEdition"
- ]
- [ text (getMessage "Validate" model.translations) ]
- , toggleIncomeEdition "undoIncomeEdition" (getMessage "Undo" model.translations)
- , case edition.error of
- Just error -> div [ class "error" ] [ text error ]
- Nothing -> text ""
- ]
-
-toggleIncomeEdition : String -> String -> Html
-toggleIncomeEdition className name =
- button
- [ type' "button"
- , class className
- , onClick actions.address (UpdateLoggedIn << UpdateAccount <| ToggleIncomeEdition)
- ]
- [ text name ]