module LoggedIn.Home.Update ( update ) where import Effects exposing (Effects) import LoggedData exposing (LoggedData) import LoggedIn.Home.Action as HomeAction import LoggedIn.Home.Model as HomeModel import LoggedIn.Home.AddPayment.Update as AddPaymentUpdate update : LoggedData -> HomeAction.Action -> HomeModel.Model -> (HomeModel.Model, Effects HomeAction.Action) update loggedData action homeModel = case action of HomeAction.NoOp -> (homeModel, Effects.none) HomeAction.UpdateAdd addPaymentAction -> ( { homeModel | add = AddPaymentUpdate.update addPaymentAction homeModel.add } , Effects.none ) HomeAction.ToggleEdit id -> ( { homeModel | paymentEdition = if homeModel.paymentEdition == Just id then Nothing else Just id } , Effects.none ) HomeAction.UpdatePage page -> ( { homeModel | currentPage = page } , Effects.none ) HomeAction.ShowMonthlyDetail -> ( { homeModel | monthlyDetail = True } , Effects.none ) HomeAction.ToggleMonthlyDetail -> ( { homeModel | monthlyDetail = not homeModel.monthlyDetail } , Effects.none )