module LoggedIn.Home.Update exposing ( update ) import Form exposing (Form) import LoggedData exposing (LoggedData) import LoggedIn.Home.Msg as HomeMsg import LoggedIn.Home.Model as HomeModel update : LoggedData -> HomeMsg.Msg -> HomeModel.Model -> (HomeModel.Model, Cmd HomeMsg.Msg) update loggedData msg homeModel = case msg of HomeMsg.NoOp -> (homeModel, Cmd.none) HomeMsg.ToggleEdit id -> ( { homeModel | paymentEdition = if homeModel.paymentEdition == Just id then Nothing else Just id } , Cmd.none ) HomeMsg.UpdatePage page -> ( { homeModel | currentPage = page } , Cmd.none ) HomeMsg.ShowMonthlyDetail -> ( { homeModel | monthlyDetail = True } , Cmd.none ) HomeMsg.ToggleMonthlyDetail -> ( { homeModel | monthlyDetail = not homeModel.monthlyDetail } , Cmd.none ) HomeMsg.SearchMsg formMsg -> ( { homeModel | search = Form.update formMsg homeModel.search , currentPage = case formMsg of Form.Input "searchText" _ -> 1 _ -> homeModel.currentPage } , Cmd.none ) HomeMsg.AddPaymentMsg formMsg -> ( { homeModel | addPayment = Form.update formMsg homeModel.addPayment } , Cmd.none )