module LoggedIn.Stat.View ( view ) where import Html exposing (..) import Html.Attributes exposing (..) import LoggedData exposing (LoggedData) import Model.Payment as Payment exposing (Payments) import Model.Conf exposing (Conf) import Model.Translations exposing (getMessage) import LoggedIn.View.Format as Format import View.Plural exposing (plural) view : LoggedData -> Html view loggedData = div [ class "stat" ] [ h1 [] [ text (getMessage "Overall" loggedData.translations) ] , paymentsDetail loggedData (Payment.punctual loggedData.payments) , h1 [] [ text (getMessage "ByMonths" loggedData.translations) ] , monthsDetail loggedData ] paymentsDetail : LoggedData -> Payments -> Html paymentsDetail loggedData payments = ul [] [ li [] [ let single = getMessage "Payment" loggedData.translations multiple = getMessage "Payments" loggedData.translations in text <| plural (List.length payments) single multiple ] , li [] [ payments |> List.map .cost |> List.sum |> Format.price loggedData.conf |> text ] ] monthsDetail : LoggedData -> Html monthsDetail loggedData = ul [] [] monthDetail : String -> Int -> Html monthDetail month amount = li [] [ text month , text " " , text (toString amount) ]