avoid using Blaze directly
New 0.5 changes the api, rather gratuitously, so run away. I can juse use Hamlet here.
This commit is contained in:
parent
1780c67b41
commit
a4c6b30e2c
6 changed files with 13 additions and 15 deletions
|
@ -5,7 +5,7 @@
|
||||||
- Licensed under the GNU GPL version 3 or higher.
|
- Licensed under the GNU GPL version 3 or higher.
|
||||||
-}
|
-}
|
||||||
|
|
||||||
{-# LANGUAGE RankNTypes, OverloadedStrings #-}
|
{-# LANGUAGE TemplateHaskell, QuasiQuotes, OverloadedStrings #-}
|
||||||
|
|
||||||
module Assistant.Alert where
|
module Assistant.Alert where
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ import qualified Data.Text as T
|
||||||
import Data.Text (Text)
|
import Data.Text (Text)
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import Data.String
|
import Data.String
|
||||||
import Text.Blaze
|
import Yesod
|
||||||
|
|
||||||
{- Different classes of alerts are displayed differently. -}
|
{- Different classes of alerts are displayed differently. -}
|
||||||
data AlertClass = Success | Message | Activity | Warning | Error
|
data AlertClass = Success | Message | Activity | Warning | Error
|
||||||
|
@ -57,16 +57,16 @@ data Alert = Alert
|
||||||
|
|
||||||
data AlertIcon = ActivityIcon | SuccessIcon | ErrorIcon | InfoIcon | TheCloud
|
data AlertIcon = ActivityIcon | SuccessIcon | ErrorIcon | InfoIcon | TheCloud
|
||||||
|
|
||||||
htmlIcon :: AlertIcon -> Html
|
htmlIcon :: AlertIcon -> GWidget sub master ()
|
||||||
htmlIcon ActivityIcon = bootStrapIcon "refresh"
|
htmlIcon ActivityIcon = bootStrapIcon "refresh"
|
||||||
htmlIcon InfoIcon = bootStrapIcon "info-sign"
|
htmlIcon InfoIcon = bootStrapIcon "info-sign"
|
||||||
htmlIcon SuccessIcon = bootStrapIcon "ok"
|
htmlIcon SuccessIcon = bootStrapIcon "ok"
|
||||||
htmlIcon ErrorIcon = bootStrapIcon "exclamation-sign"
|
htmlIcon ErrorIcon = bootStrapIcon "exclamation-sign"
|
||||||
-- utf-8 umbrella (utf-8 cloud looks too stormy)
|
-- utf-8 umbrella (utf-8 cloud looks too stormy)
|
||||||
htmlIcon TheCloud = preEscapedText "☂"
|
htmlIcon TheCloud = [whamlet|☂|]
|
||||||
|
|
||||||
bootStrapIcon :: Text -> Html
|
bootStrapIcon :: Text -> GWidget sub master ()
|
||||||
bootStrapIcon s = preEscapedText $ T.concat ["<i class=\"icon-", s, "\"></i>"]
|
bootStrapIcon name = [whamlet|<i .icon-#{name}></i>|]
|
||||||
|
|
||||||
{- When clicked, a button always redirects to a URL
|
{- When clicked, a button always redirects to a URL
|
||||||
- It may also run an IO action in the background, which is useful
|
- It may also run an IO action in the background, which is useful
|
||||||
|
|
2
debian/control
vendored
2
debian/control
vendored
|
@ -35,8 +35,6 @@ Build-Depends:
|
||||||
libghc-wai-logger-dev,
|
libghc-wai-logger-dev,
|
||||||
libghc-warp-dev,
|
libghc-warp-dev,
|
||||||
libghc-blaze-builder-dev,
|
libghc-blaze-builder-dev,
|
||||||
libghc-blaze-html-dev,
|
|
||||||
libghc-blaze-markup-dev,
|
|
||||||
libghc-crypto-api-dev,
|
libghc-crypto-api-dev,
|
||||||
libghc-network-multicast-dev,
|
libghc-network-multicast-dev,
|
||||||
libghc-network-info-dev,
|
libghc-network-info-dev,
|
||||||
|
|
|
@ -184,4 +184,6 @@ git-annex HEAD from git, Ubuntu 12.10.
|
||||||
|
|
||||||
Please provide any additional information below.
|
Please provide any additional information below.
|
||||||
|
|
||||||
|
> Hmm, seems that Blaze's API is not stable, and I should avoid using it
|
||||||
|
> directly. Converted this code to using Hamlet instead for its html
|
||||||
|
> generation. [[done]] --[[Joey]]
|
||||||
|
|
|
@ -36,8 +36,6 @@ quite a lot.
|
||||||
* [wai-logger](http://hackage.haskell.org/package/wai-logger)
|
* [wai-logger](http://hackage.haskell.org/package/wai-logger)
|
||||||
* [warp](http://hackage.haskell.org/package/warp)
|
* [warp](http://hackage.haskell.org/package/warp)
|
||||||
* [blaze-builder](http://hackage.haskell.org/package/blaze-builder)
|
* [blaze-builder](http://hackage.haskell.org/package/blaze-builder)
|
||||||
* [blaze-html](http://hackage.haskell.org/package/blaze-html)
|
|
||||||
* [blaze-markup](http://hackage.haskell.org/package/blaze-markup)
|
|
||||||
* [crypto-api](http://hackage.haskell.org/package/crypto-api)
|
* [crypto-api](http://hackage.haskell.org/package/crypto-api)
|
||||||
* [hamlet](http://hackage.haskell.org/package/hamlet)
|
* [hamlet](http://hackage.haskell.org/package/hamlet)
|
||||||
* [clientsession](http://hackage.haskell.org/package/clientsession)
|
* [clientsession](http://hackage.haskell.org/package/clientsession)
|
||||||
|
|
|
@ -89,7 +89,7 @@ Executable git-annex
|
||||||
if flag(Webapp) && flag(Assistant)
|
if flag(Webapp) && flag(Assistant)
|
||||||
Build-Depends: yesod, yesod-static, case-insensitive,
|
Build-Depends: yesod, yesod-static, case-insensitive,
|
||||||
http-types, transformers, wai, wai-logger, warp, blaze-builder,
|
http-types, transformers, wai, wai-logger, warp, blaze-builder,
|
||||||
blaze-html, blaze-markup, crypto-api, hamlet, clientsession,
|
crypto-api, hamlet, clientsession,
|
||||||
template-haskell, yesod-default (>= 1.1.0), data-default
|
template-haskell, yesod-default (>= 1.1.0), data-default
|
||||||
CPP-Options: -DWITH_WEBAPP
|
CPP-Options: -DWITH_WEBAPP
|
||||||
|
|
||||||
|
|
|
@ -5,15 +5,15 @@
|
||||||
$if block
|
$if block
|
||||||
<h4 .alert-heading>
|
<h4 .alert-heading>
|
||||||
$maybe i <- alertIcon alert
|
$maybe i <- alertIcon alert
|
||||||
#{htmlIcon i} #
|
^{htmlIcon i} #
|
||||||
#{h}
|
#{h}
|
||||||
$else
|
$else
|
||||||
$maybe i <- alertIcon alert
|
$maybe i <- alertIcon alert
|
||||||
#{htmlIcon i} #
|
^{htmlIcon i} #
|
||||||
<strong>#{h}</strong> #
|
<strong>#{h}</strong> #
|
||||||
$nothing
|
$nothing
|
||||||
$maybe i <- alertIcon alert
|
$maybe i <- alertIcon alert
|
||||||
#{htmlIcon i} #
|
^{htmlIcon i} #
|
||||||
#{renderAlertMessage alert}
|
#{renderAlertMessage alert}
|
||||||
$maybe button <- alertButton alert
|
$maybe button <- alertButton alert
|
||||||
<br>
|
<br>
|
||||||
|
|
Loading…
Add table
Reference in a new issue