diff --git a/src/Perf/Web/Foundation.hs b/src/Perf/Web/Foundation.hs index 4aafaa4..f513ab9 100644 --- a/src/Perf/Web/Foundation.hs +++ b/src/Perf/Web/Foundation.hs @@ -11,6 +11,7 @@ import Perf.Types.Prim mkYesodData "App" [parseRoutes| / HomeR GET + /branches BranchesR GET /branch/#Text BranchR GET /branch/#Text/#Hash BranchCommitR GET /commit/#Hash CommitR GET @@ -25,7 +26,8 @@ instance YesodBreadcrumbs App where breadcrumb r = case r of HomeR -> return ("Home",Nothing) - BranchR name -> return (name, Just HomeR) + BranchesR -> return ("Branches",Just HomeR) + BranchR name -> return (name, Just BranchesR) CommitR hash -> return (coerce hash, Just HomeR) CompareCommitsR hash0 hash1 -> let short x = T.take 8 $ coerce x diff --git a/src/Perf/Web/Routes.hs b/src/Perf/Web/Routes.hs index 94ddfb2..2f1c282 100644 --- a/src/Perf/Web/Routes.hs +++ b/src/Perf/Web/Routes.hs @@ -31,8 +31,11 @@ import RIO qualified import Data.Foldable import Yesod hiding (toHtml, Html) -getHomeR :: Handler (Html ()) -getHomeR = do +getHomeR :: Handler () +getHomeR = redirect $ BranchR "master" + +getBranchesR :: Handler (Html ()) +getBranchesR = do master <- db $ selectList @DB.Branch [DB.BranchName ==. "master"] [] branches <- fmap (List.filter (not . T.isPrefixOf "gh-readonly-queue/" . (.entityVal.branchName))) $ db $ selectList @DB.Branch [DB.BranchName !=. "master"] [Desc DB.BranchCreatedAt]