repo branch page ui
This commit is contained in:
parent
24d91ecda8
commit
3a3ac1f0f3
|
@ -67,6 +67,8 @@ html, body {
|
||||||
|
|
||||||
#gogs-nav-logo{
|
#gogs-nav-logo{
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gogs-nav-item:hover,
|
.gogs-nav-item:hover,
|
||||||
|
@ -619,6 +621,67 @@ html, body {
|
||||||
padding: 30px 30px 50px;
|
padding: 30px 30px 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.branch-list th{
|
||||||
|
background-color: #FFF;
|
||||||
|
line-height: 28px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-list td{
|
||||||
|
line-height: 36px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box tr:hover td{
|
||||||
|
background-color: rgba(19, 95, 215, 0.06) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .name{
|
||||||
|
padding-left: 20px;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .action{
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box td.date,.branch-box td.behind,.branch-box td.ahead{
|
||||||
|
width: 120px;
|
||||||
|
font-family: Verdana, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .graph{
|
||||||
|
display: block;
|
||||||
|
height: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .behind{
|
||||||
|
text-align: right;
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .behind .graph{
|
||||||
|
background-color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .ahead .graph{
|
||||||
|
background-color: #0093c4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .branch-main{
|
||||||
|
background-color: #444;
|
||||||
|
color: #FFF;
|
||||||
|
border-color: #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .branch-main a{
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.branch-box .branch-main .name .btn{
|
||||||
|
margin-left: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* wrapper and footer */
|
||||||
|
|
||||||
#wrapper {
|
#wrapper {
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
|
|
|
@ -13,6 +13,26 @@ import (
|
||||||
"github.com/gogits/gogs/modules/middleware"
|
"github.com/gogits/gogs/modules/middleware"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func Branches(ctx *middleware.Context, params martini.Params) {
|
||||||
|
if !ctx.Repo.IsValid {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.Data["Username"] = params["username"]
|
||||||
|
ctx.Data["Reponame"] = params["reponame"]
|
||||||
|
|
||||||
|
brs, err := models.GetBranches(params["username"], params["reponame"])
|
||||||
|
if err != nil {
|
||||||
|
ctx.Handle(200, "repo.Branches", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.Data["Branches"] = brs
|
||||||
|
ctx.Data["IsRepoToolbarBranches"] = true
|
||||||
|
|
||||||
|
ctx.Render.HTML(200, "repo/branches", ctx.Data)
|
||||||
|
}
|
||||||
|
|
||||||
func Single(ctx *middleware.Context, params martini.Params) {
|
func Single(ctx *middleware.Context, params martini.Params) {
|
||||||
if !ctx.Repo.IsValid {
|
if !ctx.Repo.IsValid {
|
||||||
return
|
return
|
||||||
|
|
42
templates/repo/branches.tmpl
Normal file
42
templates/repo/branches.tmpl
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{{template "base/head" .}}
|
||||||
|
{{template "base/navbar" .}}
|
||||||
|
{{template "repo/nav" .}}
|
||||||
|
{{template "repo/toolbar" .}}
|
||||||
|
<div id="gogs-body" class="container">
|
||||||
|
<div id="gogs-source">
|
||||||
|
<div class="panel panel-default branch-box info-box">
|
||||||
|
<div class="panel-heading info-head">
|
||||||
|
<h4>Branches</h4>
|
||||||
|
</div>
|
||||||
|
<table class="panel-footer table branch-list table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="name"></th>
|
||||||
|
<th class="behind">Behind</th>
|
||||||
|
<th class="ahead">Ahead</th>
|
||||||
|
<th class="date">Last Commit</th>
|
||||||
|
<th class="action"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr class="branch-main">
|
||||||
|
<td class="name" colspan="3">
|
||||||
|
<a href="#"><strong>BranchName</strong></a>
|
||||||
|
<button class="btn btn-primary btn-sm">base branch</button>
|
||||||
|
</td>
|
||||||
|
<td class="date">3 years ago</td>
|
||||||
|
<td class="action"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name"><a href="#"><strong>BranchName</strong></a></td>
|
||||||
|
<td class="behind">102 <span class="graph" style="width: 100%"></span></td>
|
||||||
|
<td class="ahead"><span class="graph" style="width: 4%"></span>4</td>
|
||||||
|
<td class="date">3 years ago</td>
|
||||||
|
<td class="action"><a class="btn btn-info btn-sm" href="#">compare</a></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{template "base/footer" .}}
|
|
@ -24,13 +24,15 @@
|
||||||
{{$paths := .Paths}}
|
{{$paths := .Paths}}
|
||||||
{{ $l := Subtract $n 1}}
|
{{ $l := Subtract $n 1}}
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="root dir"><a href="/{{$username}}/{{$reponame}}/tree/{{$branchname}}">{{.Repository.Name}}</a></li>
|
<li class="root dir">
|
||||||
|
<a href="/{{$username}}/{{$reponame}}/tree/{{$branchname}}">{{.Repository.Name}}</a></li>
|
||||||
{{range $i, $v := $treenames}}
|
{{range $i, $v := $treenames}}
|
||||||
<li class="dir">
|
<li class="dir">
|
||||||
{{if eq $i $l}}{{$v}}
|
{{if eq $i $l}}{{$v}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<a href="/{{$username}}/{{$reponame}}/tree/{{$branchname}}/{{index $paths $i}}">{{$v}}</a>
|
<a href="/{{$username}}/{{$reponame}}/tree/{{$branchname}}/{{index $paths $i}}">{{$v}}</a>
|
||||||
{{end}}</li>
|
{{end}}
|
||||||
|
</li>
|
||||||
{{end}}
|
{{end}}
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
@ -43,20 +45,21 @@
|
||||||
</div>
|
</div>
|
||||||
<table class="panel-footer table file-list">
|
<table class="panel-footer table file-list">
|
||||||
<thead class="hidden">
|
<thead class="hidden">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="icon"></th>
|
<th class="icon"></th>
|
||||||
<th class="name">Filename</th>
|
<th class="name">Filename</th>
|
||||||
<th class="text">Message</th>
|
<th class="text">Message</th>
|
||||||
<th class="date">Date modified</th>
|
<th class="date">Date modified</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{range .Files}}
|
{{range .Files}}
|
||||||
<tr {{if .IsDir}}class="is-dir"{{end}}>
|
<tr
|
||||||
<td class="icon">
|
{{if .IsDir}}class="is-dir"{{end}}>
|
||||||
<i class="fa {{if .IsDir}}fa-folder{{else}}fa-file-text-o{{end}}"></i>
|
<td class="icon">
|
||||||
</td>
|
<i class="fa {{if .IsDir}}fa-folder{{else}}fa-file-text-o{{end}}"></i>
|
||||||
<td class="name">
|
</td>
|
||||||
|
<td class="name">
|
||||||
<span class="wrap">
|
<span class="wrap">
|
||||||
{{if .IsDir}}
|
{{if .IsDir}}
|
||||||
<a href="/{{$username}}/{{$reponame}}/tree/{{$branchname}}/{{.Path}}">{{.Name}}</a>
|
<a href="/{{$username}}/{{$reponame}}/tree/{{$branchname}}/{{.Path}}">{{.Name}}</a>
|
||||||
|
@ -64,19 +67,19 @@
|
||||||
<a href="/{{$username}}/{{$reponame}}/blob/{{$branchname}}/{{.Name}}">{{.Name}}</a>
|
<a href="/{{$username}}/{{$reponame}}/blob/{{$branchname}}/{{.Name}}">{{.Name}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="text">
|
<td class="text">
|
||||||
<span class="wrap">
|
<span class="wrap">
|
||||||
{{.Message}}
|
{{.Message}}
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="date">
|
<td class="date">
|
||||||
<span class="wrap">
|
<span class="wrap">
|
||||||
{{TimeSince .Created}}
|
{{TimeSince .Created}}
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{end}}
|
{{end}}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
<div class="collapse navbar-collapse">
|
<div class="collapse navbar-collapse">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li class="{{if .IsRepoToolbarSource}}active{{end}}"><a href="/{{.RepositoryLink}}">Source</a></li>
|
<li class="{{if .IsRepoToolbarSource}}active{{end}}"><a href="/{{.RepositoryLink}}">Source</a></li>
|
||||||
<li><a href="/{{.RepositoryLink}}/commits">Commits</a></li>
|
<li class="{{if .IsRepoToolbarCommits}}active{{end}}"><a href="/{{.RepositoryLink}}/commits">Commits</a></li>
|
||||||
<li><a href="/{{.RepositoryLink}}/branches">Branches</a></li>
|
<li class="{{if .IsRepoToolbarBranches}}active{{end}}"><a href="/{{.RepositoryLink}}/branches">Branches</a></li>
|
||||||
<li><a href="/{{.RepositoryLink}}/pulls">Pull Requests</a></li>
|
<li class="{{if .IsRepoToolbarPulls}}active{{end}}"><a href="/{{.RepositoryLink}}/pulls">Pull Requests</a></li>
|
||||||
<li><a href="/{{.RepositoryLink}}/issues">Issues <!--<span class="badge">42</span>--></a></li>
|
<li class="{{if .IsRepoToolbarIssues}}active{{end}}"><a href="/{{.RepositoryLink}}/issues">Issues <!--<span class="badge">42</span>--></a></li>
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a>
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
|
|
1
web.go
1
web.go
|
@ -77,6 +77,7 @@ func runWeb(*cli.Context) {
|
||||||
m.Get("/:username/:reponame/commits", middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Commits)
|
m.Get("/:username/:reponame/commits", middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Commits)
|
||||||
m.Get("/:username/:reponame/issues", middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Issues)
|
m.Get("/:username/:reponame/issues", middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Issues)
|
||||||
m.Get("/:username/:reponame/pulls", middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Pulls)
|
m.Get("/:username/:reponame/pulls", middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Pulls)
|
||||||
|
m.Get("/:username/:reponame/branches", middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Branches)
|
||||||
m.Get("/:username/:reponame/tree/:branchname/**",
|
m.Get("/:username/:reponame/tree/:branchname/**",
|
||||||
middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Single)
|
middleware.SignInRequire(false), middleware.RepoAssignment(true), repo.Single)
|
||||||
m.Get("/:username/:reponame/tree/:branchname",
|
m.Get("/:username/:reponame/tree/:branchname",
|
||||||
|
|
Loading…
Reference in a new issue