module Main ( main ) where import Graphics.Element exposing (..) import Html exposing (Html) import Http import Task exposing (..) import Model exposing (Model, initialModel) import Model.Payment exposing (Payments, paymentsDecoder) import Update exposing (Action(..), actions, updateModel) import View.Page exposing (renderPage) main : Signal Html main = Signal.map renderPage model model : Signal Model model = Signal.foldp updateModel initialModel actions.signal port fetchPayments : Task Http.Error () port fetchPayments = getPayments `Task.andThen` report report : Payments -> Task x () report payments = Signal.send actions.address (UpdatePayments payments) getPayments : Task Http.Error Payments getPayments = Http.get paymentsDecoder "/payments"