diff options
author | Ben Sima <ben@bsima.me> | 2020-06-12 09:37:37 -0700 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2020-06-12 09:37:37 -0700 |
commit | de70e6455ae735a9d24e00677a07dbaf2b6cf355 (patch) | |
tree | 28452ff84e012604be1effffdb2ed323d192605a /Biz | |
parent | 37062e1ca6c479b7cf773931aa0e797ebcfafe8b (diff) |
Reorganize a bunch of code
Nothing should be functioning differntly, just made it easier to work on.
Diffstat (limited to 'Biz')
-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 + + |