mirror of
https://code.sup39.dev/repos/Wqawg
synced 2024-12-27 17:34:52 +09:00
Add breadcrumb to repo tree content view
This commit is contained in:
parent
979156b8ae
commit
d37108fa6f
2 changed files with 14 additions and 2 deletions
|
@ -36,7 +36,7 @@ import ClassyPrelude.Conduit hiding (last, toStrict, unpack)
|
|||
import Yesod hiding (Header, parseTime, (==.))
|
||||
import Yesod.Auth
|
||||
|
||||
import Prelude (last)
|
||||
import Prelude (init, last, tail)
|
||||
|
||||
import Data.Byteable (toBytes)
|
||||
import Data.ByteString.Lazy (toStrict)
|
||||
|
@ -50,6 +50,7 @@ import Data.Git.Storage.Object (Object (..))
|
|||
import Data.Git.Types (Blob (..), Commit (..), Person (..), entName)
|
||||
import Data.Graph.Inductive.Graph (noNodes)
|
||||
import Data.Graph.Inductive.Query.Topsort
|
||||
import Data.List (inits)
|
||||
import Data.Text (unpack)
|
||||
import Data.Text.Encoding (decodeUtf8With)
|
||||
import Data.Text.Encoding.Error (lenientDecode)
|
||||
|
@ -204,6 +205,12 @@ getRepoSourceR user repo ref dir = do
|
|||
Right tokens ->
|
||||
return $ Right $ format True tokens
|
||||
Right v -> return $ Right $ map mkrow v
|
||||
let parent = if null dir then [] else init dir
|
||||
dirs = zip parent (tail $ inits parent)
|
||||
title = case (dir, display) of
|
||||
([], _) -> "Files"
|
||||
(_, Left _) -> last dir
|
||||
(_, Right _) -> last dir <> "/"
|
||||
defaultLayout $ do
|
||||
setTitle $ toHtml $ intercalate " > " $
|
||||
["Vervis", "People", user, "Repos", repo]
|
||||
|
|
|
@ -26,7 +26,12 @@ $forall RefName tag <- tags
|
|||
<li>
|
||||
<a href=@{RepoSourceR user repo (pack tag) []}>#{tag}
|
||||
|
||||
<h2>Files for #{ref}
|
||||
<a href=@{RepoSourceR user repo ref []}>#{ref}
|
||||
<span>::
|
||||
$forall (piece, piecePath) <- dirs
|
||||
<a href=@{RepoSourceR user repo ref piecePath}>#{piece}
|
||||
<span>/
|
||||
<h2>#{title}
|
||||
$case display
|
||||
$of Left (Left plain)
|
||||
<pre>
|
||||
|
|
Loading…
Reference in a new issue