module Model ( Model , initialModel ) where import Time exposing (Time) import Json.Decode as Json import Model.View exposing (..) import Model.Translations exposing (..) import Model.Config exposing (..) type alias Model = { view : View , currentTime : Time , translations : Translations , config : Config } initialModel : Time -> String -> String -> Model initialModel initialTime translationsValue configValue = { view = LoadingView , currentTime = initialTime , translations = case Json.decodeString translationsDecoder translationsValue of Ok translations -> translations Err err -> [] , config = case Json.decodeString configDecoder configValue of Ok config -> config Err err -> { currency = "" } }