From fb5629d7f705b7e80dcf1852da58d2864c2b0d25 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 19 Jun 2016 01:00:53 +0200 Subject: Show payment count and sum right after search --- src/client/elm/LoggedIn/Stat/Account/View.elm | 38 +++++++++++++++++++++++++++ src/client/elm/LoggedIn/Stat/View.elm | 13 +++++---- 2 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 src/client/elm/LoggedIn/Stat/Account/View.elm (limited to 'src/client/elm/LoggedIn/Stat') diff --git a/src/client/elm/LoggedIn/Stat/Account/View.elm b/src/client/elm/LoggedIn/Stat/Account/View.elm new file mode 100644 index 0000000..3eb5ef4 --- /dev/null +++ b/src/client/elm/LoggedIn/Stat/Account/View.elm @@ -0,0 +1,38 @@ +module LoggedIn.Stat.Account.View exposing + ( view + ) + +import Html exposing (..) +import Html.Attributes exposing (..) + +import Msg exposing (Msg) + +import LoggedData exposing (LoggedData) + +import LoggedIn.View.Format as Format + +import Model exposing (Model) +import Model.User exposing (getUserName) +import Model.Payer exposing (..) + +view : LoggedData -> Html Msg +view loggedData = + ul + [ class "exceedingPayers" ] + (List.map (exceedingPayer loggedData) (getOrderedExceedingPayers loggedData.currentTime loggedData.users loggedData.incomes loggedData.payments)) + +exceedingPayer : LoggedData -> ExceedingPayer -> Html Msg +exceedingPayer loggedData payer = + li + [] + [ span + [ class "userName" ] + [ payer.userId + |> getUserName loggedData.users + |> Maybe.withDefault "−" + |> text + ] + , span + [ class "amount" ] + [ text ("+ " ++ (Format.price loggedData.conf payer.amount)) ] + ] diff --git a/src/client/elm/LoggedIn/Stat/View.elm b/src/client/elm/LoggedIn/Stat/View.elm index bb1ec84..f99ef0e 100644 --- a/src/client/elm/LoggedIn/Stat/View.elm +++ b/src/client/elm/LoggedIn/Stat/View.elm @@ -19,9 +19,9 @@ import Model.Translations exposing (getMessage, getParamMessage) import LoggedIn.View.Format as Format import LoggedIn.View.Date as Date - import View.Plural exposing (plural) -import LoggedIn.View.Format as Format + +import LoggedIn.Stat.Account.View as AccountView import Utils.Tuple as Tuple import Utils.List as List @@ -30,7 +30,9 @@ view : LoggedData -> Html Msg view loggedData = div [ class "stat" ] - [ h1 [] [ text (getMessage "Overall" loggedData.translations) ] + [ h1 [] [ text (getMessage "Balance" loggedData.translations) ] + , AccountView.view loggedData + , h1 [] [ text (getMessage "Overall" loggedData.translations) ] , paymentsDetail loggedData (Payment.punctual loggedData.payments) , h1 [] [ text (getMessage "ByMonths" loggedData.translations) ] , monthsDetail loggedData @@ -42,10 +44,7 @@ paymentsDetail loggedData payments = [] [ li [] - [ let single = getMessage "Payment" loggedData.translations - multiple = getMessage "Payments" loggedData.translations - in text <| plural (List.length payments) single multiple - ] + [ text <| plural loggedData.translations (List.length payments) "Payment" "Payments" ] , li [] [ text (paymentsSum loggedData.conf payments) -- cgit v1.2.3