module Shared.Model exposing (Model)

import Config.Style.Colour.Types exposing (Theme(..))
import Config.Style.Fonts exposing (FontScale)
import Element exposing (Device)


{-| Normally, this value would live in "Shared.elm"
but that would lead to a circular dependency import cycle.

For that reason, both `Shared.Model` and `Shared.Msg` are in their
own file, so they can be imported by `Effect.elm`

-}
type alias Model =
    { height : Int
    , width : Int
    , device : Device
    , theme : Theme
    , fontScale : FontScale
    , isLoading : Bool
    , isFadingOut : Bool
    }
