From 18dc01b2c3f8f0d580bbc4bba8a13dc8dbb47664 Mon Sep 17 00:00:00 2001 From: nek0 Date: Sat, 17 Oct 2015 21:52:01 +0200 Subject: [PATCH] refined search site inner workings --- Handler/Search.hs | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/Handler/Search.hs b/Handler/Search.hs index dabbdc0..ce74d21 100755 --- a/Handler/Search.hs +++ b/Handler/Search.hs @@ -12,18 +12,13 @@ import System.FilePath.Posix getSearchR :: Handler Html getSearchR = do ((res, widget), _) <- runFormGet searchForm - results <- - case res of - FormSuccess query -> do - (ru, ra, rm, rc) <- getResults query - a <- return $ (decode (responseBody ru) :: Maybe (SearchResult SearchUser)) - b <- return $ (decode (responseBody ra) :: Maybe (SearchResult SearchAlbum)) - c <- return $ (decode (responseBody rm) :: Maybe (SearchResult SearchMedium)) - d <- return $ (decode (responseBody rc) :: Maybe (SearchResult SearchComment)) - return $ Just (a, b, c, d) - _ -> return $ Nothing - case results of - Just (a, b, c, d) -> do + case res of + FormSuccess query -> do + (ru, ra, rm, rc) <- getResults query + a <- return $ (decode (responseBody ru) :: Maybe (SearchResult SearchUser)) + b <- return $ (decode (responseBody ra) :: Maybe (SearchResult SearchAlbum)) + c <- return $ (decode (responseBody rm) :: Maybe (SearchResult SearchMedium)) + d <- return $ (decode (responseBody rc) :: Maybe (SearchResult SearchComment)) hitListA <- case a of Just as -> return $ hits $ searchHits as Nothing -> return [] @@ -77,10 +72,12 @@ getSearchR = do mediumList <- return . catMaybes =<< mapM (\i -> runDB $ selectFirst [MediumId ==. i] []) mediumIdList commentList <- return . catMaybes =<< mapM (\i -> runDB $ selectFirst [CommentId ==. i] []) commentIdList let allEmpty = (null userList) && (null albumList) && (null mediumList) && (null commentList) - defaultLayout $ + defaultLayout $ do + setTitle $ toHtml $ "Eidolon :: Search results for " ++ (T.unpack query) $(widgetFile "result") - Nothing -> - defaultLayout $ + _ -> + defaultLayout $ do + setTitle "Eidolon :: Search" $(widgetFile "search") searchForm :: Form T.Text