module LoggedIn.Home.View exposing ( view ) import Date import Html exposing (..) import Html.Attributes exposing (..) import Form import Utils.Form as Form import LoggedData exposing (LoggedData) import LoggedIn.Home.Header.View as Header import LoggedIn.Home.Model as Home import LoggedIn.Home.Msg as HomeMsg import LoggedIn.Home.View.Paging as Paging import LoggedIn.Home.View.Table as Table import LoggedIn.Msg as LoggedInMsg import Model.Payment as Payment import Model.Frequency exposing (Frequency(..)) import Msg exposing (Msg) view : LoggedData -> Home.Model -> Html Msg view loggedData home = let (name, frequency) = case Form.getOutput home.search of Just data -> (Maybe.withDefault "" data.name, data.frequency) Nothing -> ("", Punctual) payments = Payment.search name frequency loggedData.payments page = case frequency of Punctual -> home.punctualPage Monthly -> home.monthlyPage in div [ class "home" ] [ Header.view loggedData home payments frequency , Table.view loggedData home payments frequency page , Paging.view page (List.length payments) Msg.NoOp (Msg.UpdateLoggedIn << LoggedInMsg.HomeMsg << HomeMsg.UpdatePage) ]