module LoggedIn.Home.Update exposing
  ( update
  )

import Form exposing (Form)

import LoggedData exposing (LoggedData)

import LoggedIn.Home.Msg as Home
import LoggedIn.Home.Model as Home

update : LoggedData -> Home.Msg -> Home.Model -> (Home.Model, Cmd Home.Msg)
update loggedData msg model =
  case msg of

    Home.NoOp ->
      ( model
      , Cmd.none
      )

    Home.UpdatePage page ->
      ( { model | currentPage = page }
      , Cmd.none
      )

    Home.SearchMsg formMsg ->
      ( { model
        | search = Form.update formMsg model.search
        , currentPage =
            case formMsg of
              Form.Input "name" _ -> 1
              _ -> model.currentPage
        }
      , Cmd.none
      )