diff options
Diffstat (limited to 'Biz/App.hs')
-rw-r--r-- | Biz/App.hs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Biz/App.hs b/Biz/App.hs new file mode 100644 index 0000000..95e7271 --- /dev/null +++ b/Biz/App.hs @@ -0,0 +1,43 @@ +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE MultiParamTypeClasses #-} +{-# LANGUAGE OverloadedStrings #-} + +-- | General utils for apps +module Biz.App (CSS(..), Manifest(..)) where + +import Alpha +import Data.Aeson (ToJSON) +import qualified Data.Text.Lazy as Lazy +import qualified Data.Text.Lazy.Encoding as Lazy +import Network.HTTP.Media + ( (//), + (/:), + ) +import Servant + +newtype CSS + = CSS + { unCSS :: Text + } + +instance Accept CSS where + contentType _ = "text" // "css" /: ("charset", "utf-8") + +instance MimeRender CSS Text where + mimeRender _ = Lazy.encodeUtf8 . Lazy.fromStrict + +-- | The manifest describes your app for web app thumbnails, iPhone tiles, etc. +data Manifest + = Manifest + { name :: Text, + short_name :: Text, + start_url :: Text, + display :: Text, + theme_color :: Text, + description :: Text + } + deriving (Show, Eq, Generic) + +instance ToJSON Manifest + + |