module Main ( main ) where import Graphics.Element exposing (..) import Html exposing (Html) import Http import Json.Decode as Json exposing ((:=)) import Task exposing (..) import Date exposing (..) import View.Page exposing (renderPage) main : Html main = renderPage getPayments : Task Http.Error (List Payment) getPayments = Http.get paymentsDecoder "/payments" type alias Payments = List Payment type alias Payment = { creation : Date , name : String , cost : Int , userName : String } paymentsDecoder : Json.Decoder Payments paymentsDecoder = Json.list paymentDecoder paymentDecoder : Json.Decoder Payment paymentDecoder = Json.object4 Payment ("creation" := dateDecoder) ("name" := Json.string) ("cost" := Json.int) ("userName" := Json.string) dateDecoder : Json.Decoder Date dateDecoder = Json.customDecoder Json.string Date.fromString