summaryrefslogtreecommitdiff
path: root/Assistant/WebApp/SideBar.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-09-08 19:57:15 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-09-08 19:57:15 -0400
commite59b0a1c884b4222162b444d0d306f67f2a6ca30 (patch)
tree78c2b8c0cfe9c6c52e31b0de2b4a730a7f080635 /Assistant/WebApp/SideBar.hs
parente6e0877378af85293356b1c7d644a6df6cc40415 (diff)
first pass at alert buttons
They work fine. But I had to go to a lot of trouble to get Yesod to render routes in a pure function. It may instead make more sense to have each alert have an assocated IO action, and a single route that runs the IO action of a given alert id. I just wish I'd realized that before the past several hours of struggling with something Yesod really doesn't want to allow.
Diffstat (limited to 'Assistant/WebApp/SideBar.hs')
-rw-r--r--Assistant/WebApp/SideBar.hs18
1 files changed, 6 insertions, 12 deletions
diff --git a/Assistant/WebApp/SideBar.hs b/Assistant/WebApp/SideBar.hs
index 20fd09c2e..fd1f70038 100644
--- a/Assistant/WebApp/SideBar.hs
+++ b/Assistant/WebApp/SideBar.hs
@@ -36,24 +36,18 @@ sideBarDisplay = do
$(widgetFile "sidebar/main")
autoUpdate ident NotifierSideBarR (10 :: Int) (10 :: Int)
where
+ bootstrapclass :: AlertClass -> Text
bootstrapclass Activity = "alert-info"
bootstrapclass Warning = "alert"
bootstrapclass Error = "alert-error"
bootstrapclass Success = "alert-success"
bootstrapclass Message = "alert-info"
- renderalert (alertid, alert) = addalert
- alertid
- (alertClosable alert)
- (alertBlockDisplay alert)
- (bootstrapclass $ alertClass alert)
- (renderAlertHeader alert)
- (renderAlertMessage alert)
- (alertIcon alert)
-
- addalert :: AlertId -> Bool -> Bool -> Text -> Maybe Text -> Text -> Maybe String -> Widget
- addalert i closable block divclass heading message icon = do
- let alertid = show i
+ renderalert (aid, alert) = do
+ let alertid = show aid
+ let closable = alertClosable alert
+ let block = alertBlockDisplay alert
+ let divclass = bootstrapclass $ alertClass alert
$(widgetFile "sidebar/alert")
{- Called by client to get a sidebar display.