This commit is contained in:
Dmitry Zuikov 2024-04-24 07:35:42 +03:00
parent e2f384588a
commit 506b789c3d
2 changed files with 41 additions and 2 deletions

View File

@ -151,6 +151,15 @@ newtype RepoBrief = RepoBrief Text
deriving stock (Generic) deriving stock (Generic)
deriving newtype (ToField,FromField) deriving newtype (ToField,FromField)
newtype RepoForks = RepoForks Int
deriving stock (Generic,Data)
deriving newtype (ToField,FromField,Show,Pretty)
newtype RepoCommitsNum = RepoCommitsNum Int
deriving stock (Generic,Data)
deriving newtype (ToField,FromField,Show,Pretty)
newtype RepoLww = RepoLww (LWWRefKey 'HBS2Basic) newtype RepoLww = RepoLww (LWWRefKey 'HBS2Basic)
deriving stock (Generic) deriving stock (Generic)
deriving newtype (ToField,FromField,Pretty) deriving newtype (ToField,FromField,Pretty)
@ -222,6 +231,12 @@ instance HasColumnName RepoName where
instance HasColumnName RepoBrief where instance HasColumnName RepoBrief where
columnName = "brief" columnName = "brief"
instance HasColumnName RepoForks where
columnName = "forks"
instance HasColumnName RepoCommitsNum where
columnName = "kommits"
instance HasColumnName RepoRefLog where instance HasColumnName RepoRefLog where
columnName = "reflog" columnName = "reflog"
@ -274,6 +289,8 @@ data RepoListItem =
, rlRepoName :: RepoName , rlRepoName :: RepoName
, rlRepoBrief :: RepoBrief , rlRepoBrief :: RepoBrief
, rlRepoGK0 :: RepoHeadGK0 , rlRepoGK0 :: RepoHeadGK0
, rlRepoForks :: RepoForks
, rlRepoCommits :: RepoCommitsNum
} }
deriving stock (Generic) deriving stock (Generic)
@ -311,6 +328,8 @@ selectRepoList pred = fmap fixName <$> withState do
, r.name , r.name
, r.brief , r.brief
, r.gk0 , r.gk0
, r.forks
, r.kommits
from repolistview r from repolistview r
where {where_} where {where_}
{limit_} {limit_}
@ -376,10 +395,19 @@ ranked_repos as (
order by seq desc order by seq desc
) )
select lww, lwwseq, reflog, seq, repohead, tx, name, brief, gk0 select lww
, lwwseq
, reflog
, seq
, repohead
, tx
, name
, brief
, gk0
, (select count(1) from fork f where f.a = ranked_repos.lww) as forks
, (select count(distinct(kommit)) from repocommit r where r.lww = ranked_repos.lww) as kommits
from ranked_repos from ranked_repos
where rn = 1; where rn = 1;
|] |]

View File

@ -860,11 +860,22 @@ repoPage tab lww params = rootPage do
div_ [ class_ "attrval"] $ toHtml p div_ [ class_ "attrval"] $ toHtml p
div_ [class_ "info-block" ] do div_ [class_ "info-block" ] do
when (Text.length manifest > 100) do when (Text.length manifest > 100) do
div_ [ class_ "attr" ] do div_ [ class_ "attr" ] do
div_ [ class_ "attrname"] do div_ [ class_ "attrname"] do
a_ [ href_ (toURL (RepoPage ManifestTab lww))] "Manifest" a_ [ href_ (toURL (RepoPage ManifestTab lww))] "Manifest"
div_ [ class_ "attr" ] do
div_ [ class_ "attrname"] do
a_ [ href_ (toURL (RepoPage ManifestTab lww))] "Forks"
div_ [ class_ "attrval"] $ toHtml (show $ rlRepoForks)
div_ [ class_ "attr" ] do
div_ [ class_ "attrname"] do
a_ [ href_ (toURL (RepoPage (CommitsTab Nothing) lww))] "Commits"
div_ [ class_ "attrval"] $ toHtml (show $ rlRepoCommits)
for_ mbHead $ \rh -> do for_ mbHead $ \rh -> do
let theHead = headMay [ v | (GitRef "HEAD", v) <- view repoHeadRefs rh ] let theHead = headMay [ v | (GitRef "HEAD", v) <- view repoHeadRefs rh ]