aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/LoggedIn/Update.elm
blob: 189d901122a1b2a47560b7287a088d9157f1d0b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
          )