diff options
Diffstat (limited to 'Biz/App.hs')
-rw-r--r-- | Biz/App.hs | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/Biz/App.hs b/Biz/App.hs deleted file mode 100644 index 317a163..0000000 --- a/Biz/App.hs +++ /dev/null @@ -1,71 +0,0 @@ -{-# LANGUAGE DeriveGeneric #-} -{-# LANGUAGE MultiParamTypeClasses #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE NoImplicitPrelude #-} - --- | General utils for apps -module Biz.App - ( Area (..), - CSS (..), - HasCss (..), - Manifest (..), - Html (..), - ) -where - -import Alpha -import qualified Clay -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.API (Accept (..), MimeRender (..)) -import qualified System.Envy as Envy - -data Area = Test | Live - deriving (Generic, Show) - -instance Envy.Var Area where - toVar = show - fromVar "Test" = Just Test - fromVar "Live" = Just Live - fromVar _ = Just Test - -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 - --- | A wrapper for an HTML page. You need to provide an orphan --- 'Lucid.Base.ToHtml' instance in the web module of your app. --- --- Ideally this would be captured in a Biz.App type, with overrides for head --- elements, and we would wouldn't have to make the same basic orphan instance --- for each app. -newtype Html a = Html a - deriving (Show, Eq) - --- | Class for attaching some CSS to a page specifically. -class HasCss a where - cssFor :: a -> Clay.Css |