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.
This commit is contained in:
Joey Hess 2012-09-08 19:57:15 -04:00
parent e6e0877378
commit e59b0a1c88
9 changed files with 100 additions and 41 deletions

View file

@ -16,6 +16,7 @@ import Assistant.ScanRemotes
import Assistant.TransferQueue
import Assistant.TransferSlots
import Assistant.Threads.WebApp
import Assistant.WebApp
import Utility.WebApp
import Utility.Daemon (checkDaemon, lockPidFile)
import Init
@ -92,10 +93,12 @@ firstRun = do
scanremotes <- newScanRemoteMap
transferqueue <- newTransferQueue
transferslots <- newTransferSlots
urlrenderer <- newUrlRenderer
v <- newEmptyMVar
let callback a = Just $ a v
void $ runNamedThread dstatus $
webAppThread Nothing dstatus scanremotes transferqueue transferslots
webAppThread Nothing dstatus scanremotes
transferqueue transferslots urlrenderer
(callback signaler) (callback mainthread)
where
signaler v = do