diff --git a/hbs2-git/hbs2-git-dashboard-assets/assets/icon/git-branch.svg b/hbs2-git/hbs2-git-dashboard-assets/assets/icon/git-branch.svg new file mode 100644 index 00000000..8a97e6dc --- /dev/null +++ b/hbs2-git/hbs2-git-dashboard-assets/assets/icon/git-branch.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/hbs2-git/hbs2-git-dashboard-assets/assets/icon/git-tag.svg b/hbs2-git/hbs2-git-dashboard-assets/assets/icon/git-tag.svg new file mode 100644 index 00000000..3d498598 --- /dev/null +++ b/hbs2-git/hbs2-git-dashboard-assets/assets/icon/git-tag.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/Web/Html/Root.hs b/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/Web/Html/Root.hs index a88c252b..62d497ce 100644 --- a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/Web/Html/Root.hs +++ b/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/Web/Html/Root.hs @@ -1,5 +1,5 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -{-# Language OverloadedStrings #-} +{-# Language MultiWayIf #-} module HBS2.Git.Web.Html.Root where import HBS2.Git.DashBoard.Prelude @@ -207,10 +207,19 @@ repoRefs :: (DashBoardPerks m, MonadReader DashBoardEnv m) repoRefs lww refs = do table_ [] do for_ refs $ \(r,h) -> do + let r_ = Text.pack $ show $ pretty r let co = show $ pretty h let uri = path [ "repo", show $ pretty lww, "tree", co, co ] - tr_ mempty do - td_ mempty (toHtml $ show $ pretty r) + tr_ do + td_ do + + if | Text.isPrefixOf "refs/heads" r_ -> do + img_ [src_ "/icon/git-branch.svg"] + | Text.isPrefixOf "refs/tags" r_ -> do + img_ [src_ "/icon/git-tag.svg"] + | otherwise -> mempty + + td_ (toHtml r_) td_ [class_ "mono"] $ a_ [ href_ "#" , hxGet_ uri , hxTarget_ "#repo-tab-data"