A Menu containing no values
Decode a Menu from a Decode.Value, defaults to an empty Menu
You can for example pass the menu as a flag and initialize you app like:
main : Program Decode.Value Model Msg
main =
Browser.application
{ init = init << Ginger.Menu.fromValue
, view = view
, update = update
, subscriptions = subscriptions
, onUrlChange = OnUrlChange
, onUrlRequest = OnUrlRequest
}Build a custom menu Decoder re-using the decoders used in this module
type alias Menu =
{ main : List Item
, mainExtra : List Item
, footer : List Item
, footerExtra : List Item
}
customFromJson : Decoder Menu
customFromJson =
Decode.succeed Menu
|> Pipeline.required "main_menu" decodeMenuItems
|> Pipeline.required "main_menu_extra" decodeMenuItems
|> Pipeline.required "footer_menu" decodeMenuItems
|> Pipeline.required "footer_menu_extra" decodeMenuItems