blob: 3fe9d1f138540c96866992695ee77ba61c86b3f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
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)
]
|