From de70e6455ae735a9d24e00677a07dbaf2b6cf355 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 12 Jun 2020 09:37:37 -0700 Subject: Reorganize a bunch of code Nothing should be functioning differntly, just made it easier to work on. --- Biz/App.hs | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Biz/App.hs (limited to 'Biz/App.hs') 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 + + -- cgit v1.2.3