module Handler.Home (
getHomeR
, getSearchR
, postSearchPostR
, getOpenSearchR
) where
import Import
import Settings
import Text.Hamlet (hamletFile)
import qualified Data.Text as T
import Handler.Tags
import NotmuchCmd
searchTable :: String -> Widget
searchTable s = do
tagHeader
search <- notmuchSearch s
$(widgetFile "search")
getHomeR :: Handler RepHtml
getHomeR = defaultLayout $ do
folders <- extraFolders <$> getExtra
case folders of
((name,search):_) -> do setTitle $ toHtml $ "Notmuch - " `T.append` name
searchTable search
_ -> setTitle "Notmuch"
getSearchR :: String -> Handler RepHtml
getSearchR s = defaultLayout $ do
setTitle $ toHtml $ "Notmuch - " ++ s
searchTable s
postSearchPostR :: Handler ()
postSearchPostR = do
s <- runInputPost $ ireq textField "q"
redirect $ SearchR $ T.unpack s
getOpenSearchR :: Handler RepXml
getOpenSearchR = repXml <$> giveUrlRenderer $(hamletFile "templates/opensearch.hamlet")