{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}

module WikiMusic.SSR.Model.Env
  ( Env (..),
    PalettesCss (..),
  )
where

import Data.Text
import Data.Time
import Optics
import Servant.Client
import WikiMusic.SSR.Model.Config

data PalettesCss = PalettesCss
  { PalettesCss -> Text
green :: Text,
    PalettesCss -> Text
mauve :: Text
  }

makeFieldLabelsNoPrefix ''PalettesCss

data Env = Env
  { Env -> AppConfig
cfg :: AppConfig,
    Env -> ZonedTime
processStartedAt :: ZonedTime,
    Env -> Text
reportedVersion :: Text,
    Env -> Text
mainCss :: Text,
    Env -> Text
darkCss :: Text,
    Env -> Text
lightCss :: Text,
    Env -> ClientEnv
clientEnv :: ClientEnv,
    Env -> PalettesCss
palettes :: PalettesCss
  }

makeFieldLabelsNoPrefix ''Env