module LoggedIn.Update ( update ) where import Effects exposing (Effects) import Model exposing (Model) import LoggedIn.Action as LoggedInAction import LoggedIn.Model as LoggedInModel import LoggedIn.Home.Action as HomeAction import LoggedIn.Home.Update as HomeUpdate type Action = HomeAction HomeAction.Action update : Model -> LoggedInAction.Action -> LoggedInModel.Model -> (LoggedInModel.Model, Effects LoggedInAction.Action) update model action loggedIn = case action of LoggedInAction.NoOp -> (loggedIn, Effects.none) LoggedInAction.HomeAction homeAction -> case HomeUpdate.update model homeAction loggedIn.home of (home, effects) -> ( { loggedIn | home = home } , Effects.map LoggedInAction.HomeAction effects )