aboutsummaryrefslogtreecommitdiff
path: root/src/client/View/Page.elm
blob: ca8efc997e3a6d76913bdfd59525e6147c69924a (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
module View.Page
  ( renderPage
  ) where

import Html exposing (..)
import Html as H
import Html.Attributes exposing (..)
import Html.Attributes as A
import Html.Events exposing (..)

import Date
import Date exposing (Date)

import String exposing (append)

import Model exposing (Model)
import Model.Payment exposing (Payments, Payment)

renderPage : Model -> Html
renderPage model =
  header
    []
    [ h1
        []
        [ text "Payments" ]
    , table
        []
        ([ tr
            []
            [ td [] [ text "Utilisateur" ]
            , td [] [ text "Nom" ]
            , td [] [ text "Prix" ]
            , td [] [ text "Date" ]
            ]
        ] ++ (List.map renderPayment model.payments))
    ]

renderPayments : Payments -> List Html
renderPayments =
  List.map renderPayment
    << List.reverse
    << List.sortBy (Date.toTime << .creation)

renderPayment : Payment -> Html
renderPayment payment =
  tr
    []
    [ td [] [ text payment.name ]
    , td [] [ text payment.userName ]
    , td [] [ text (toString payment.cost) ]
    , td [] [ text (renderDate payment.creation) ]
    ]

renderDate : Date -> String
renderDate date =
  toString (Date.day date)
    |> flip append (" " ++ (toString (Date.month date)))
    |> flip append (" " ++ (toString (Date.year date)))