forked from gitea/gitea
		
	Apply ng to issue dashboard
This commit is contained in:
		
							parent
							
								
									e9c599b48a
								
							
						
					
					
						commit
						96a71aaed8
					
				| @ -2413,6 +2413,35 @@ textarea#issue-add-content { | ||||
| #milestone-list .action-bar a { | ||||
|   margin-left: 12px; | ||||
| } | ||||
| .issues.list-group { | ||||
|   margin: 10px 0 20px 0; | ||||
| } | ||||
| .issues.list-group > .list-group-item { | ||||
|   background-color: #FFF; | ||||
|   border: 1px solid #e5e5e5; | ||||
|   display: block; | ||||
|   padding: 10px 15px; | ||||
|   margin-bottom: -1px; | ||||
| } | ||||
| .issues.list-group > .list-group-item:hover { | ||||
|   background-color: rgba(19, 95, 215, 0.03); | ||||
| } | ||||
| .issues.list-group > .list-group-item > .title { | ||||
|   margin-bottom: 16px; | ||||
|   font-weight: bold; | ||||
|   font-size: 1.2em; | ||||
| } | ||||
| .issues.list-group > .list-group-item > .title > a { | ||||
|   color: #444; | ||||
| } | ||||
| .issues.list-group > .list-group-item > .info span { | ||||
|   margin-right: 12px; | ||||
|   color: #888; | ||||
|   line-height: 20px; | ||||
| } | ||||
| .issues.list-group > .list-group-item > .info span > a { | ||||
|   color: #444; | ||||
| } | ||||
| .org-header-alert .alert { | ||||
|   margin-top: 10px; | ||||
| } | ||||
|  | ||||
| @ -188,7 +188,8 @@ input:focus, | ||||
|   background-color: #f2fffc; | ||||
|   outline: none; | ||||
| } | ||||
| button { | ||||
| button, | ||||
| .btn { | ||||
|   overflow: visible; | ||||
|   padding: .6em 1.2em; | ||||
| } | ||||
| @ -431,6 +432,19 @@ dt { | ||||
|   background-color: #fafafa; | ||||
|   color: #444444; | ||||
| } | ||||
| .btn-white { | ||||
|   background-color: #ffffff; | ||||
|   color: #444444; | ||||
|   border: 1px solid #c6c6c6; | ||||
| } | ||||
| .btn-white:hover { | ||||
|   background-color: #e8e8e8; | ||||
|   color: #444444; | ||||
| } | ||||
| .btn-white.active { | ||||
|   background-color: #e8e8e8; | ||||
|   color: #444444; | ||||
| } | ||||
| .btn-active { | ||||
|   box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset, 0 0 4px rgba(0, 0, 0, 0.15) inset; | ||||
| } | ||||
| @ -475,6 +489,22 @@ dt { | ||||
|   background-image: none !important; | ||||
|   color: #ffffff; | ||||
| } | ||||
| .btn-group { | ||||
|   display: inline-block; | ||||
| } | ||||
| .btn-group > .btn { | ||||
|   position: relative; | ||||
|   float: left; | ||||
|   margin-right: -1px; | ||||
| } | ||||
| .btn-group > .btn:first-child { | ||||
|   border-bottom-left-radius: .25em; | ||||
|   border-top-left-radius: .25em; | ||||
| } | ||||
| .btn-group > .btn:last-child { | ||||
|   border-bottom-right-radius: .25em; | ||||
|   border-top-right-radius: .25em; | ||||
| } | ||||
| .ipt:focus { | ||||
|   border-color: #428bca; | ||||
| } | ||||
| @ -550,6 +580,10 @@ ul.menu > li > a:hover { | ||||
|   background-color: #eaeaea; | ||||
|   color: #444444; | ||||
| } | ||||
| ul.menu > li > a.active { | ||||
|   background-color: #4183c4; | ||||
|   color: #FFF; | ||||
| } | ||||
| ul.menu > li.current > a, | ||||
| ul.menu > li.hover > a { | ||||
|   color: #444444; | ||||
| @ -597,6 +631,7 @@ ul.menu-vertical > li.head, | ||||
| ul.menu-down > li.head { | ||||
|   display: block; | ||||
|   padding: .4em 1.2em; | ||||
|   margin-bottom: 4px; | ||||
| } | ||||
| ul.menu-vertical > li.down, | ||||
| ul.menu-down > li.down { | ||||
|  | ||||
| @ -511,4 +511,30 @@ textarea#issue-add-content { | ||||
|       margin-left: 12px; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| } | ||||
| 
 | ||||
| .issues.list-group { | ||||
| 	margin: 10px 0 20px 0; | ||||
| 	> .list-group-item { | ||||
|   		background-color: #FFF; | ||||
| 		border: 1px solid #e5e5e5; | ||||
| 		display: block; | ||||
|   		padding: 10px 15px; | ||||
|   		margin-bottom: -1px; | ||||
|   		&:hover { | ||||
| 		  background-color: rgba(19, 95, 215, 0.03); | ||||
| 		} | ||||
|   		> .title { | ||||
| 		  margin-bottom: 16px; | ||||
| 		  font-weight: bold; | ||||
| 		  font-size: 1.2em; | ||||
| 		  > a { color: #444; } | ||||
| 		} | ||||
| 		> .info span { | ||||
| 		  margin-right: 12px; | ||||
| 		  color: #888; | ||||
| 		  line-height: 20px; | ||||
| 		  > a { color: #444; } | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @ -70,6 +70,19 @@ | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| .btn-white { | ||||
|   background-color: @btnWhiteColor; | ||||
|   color: @baseFontColor; | ||||
|   border: 1px solid @btnWhiteBorderColor; | ||||
|   &:hover { | ||||
|     background-color: @btnWhiteHoverColor; | ||||
|     color: @baseFontColor; | ||||
|   } | ||||
|   &.active { | ||||
|     background-color: @btnWhiteHoverColor; | ||||
|     color: @baseFontColor; | ||||
|   } | ||||
| } | ||||
| // status buttons | ||||
| 
 | ||||
| .btn-active { | ||||
| @ -118,6 +131,22 @@ | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| .btn-group { | ||||
|   display: inline-block; | ||||
|   > .btn { | ||||
|   	position: relative; | ||||
| 	float: left; | ||||
| 	margin-right: -1px; | ||||
| 	&:first-child{ | ||||
| 		border-bottom-left-radius: .25em; | ||||
|   		border-top-left-radius: .25em; | ||||
| 	} | ||||
| 	&:last-child{ | ||||
| 		border-bottom-right-radius: .25em; | ||||
|   		border-top-right-radius: .25em; | ||||
| 	} | ||||
|   } | ||||
| } | ||||
| // input form elements | ||||
| .ipt { | ||||
|     &:focus { | ||||
| @ -198,4 +227,4 @@ label { | ||||
|             color: @labelRedColor; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -11,6 +11,10 @@ ul.menu { | ||||
|         background-color: @lineMenuHoverBgColor; | ||||
|         color: @lineMenuHoverFontColor; | ||||
|       } | ||||
|       &.active { | ||||
| 		  background-color: #4183c4; | ||||
| 		  color: #FFF; | ||||
| 	  } | ||||
|     } | ||||
|     &.current > a, | ||||
|     &.hover > a { | ||||
| @ -67,6 +71,7 @@ ul.menu-down { | ||||
|   > li.head { | ||||
|     display: block; | ||||
|     padding: .4em 1.2em; | ||||
| 	margin-bottom: 4px; | ||||
|   } | ||||
|   > li.down { | ||||
|     position: relative; | ||||
| @ -163,4 +168,4 @@ ul.menu-radius { | ||||
|     content: "\25B4"; | ||||
|     margin-left: .4em; | ||||
|   } | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -238,7 +238,7 @@ input, | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| button { | ||||
| button,.btn { | ||||
|   overflow: visible; | ||||
|   padding: .6em 1.2em; | ||||
| } | ||||
| @ -365,4 +365,4 @@ pre { | ||||
| 
 | ||||
| dt { | ||||
|     font-weight: bold; | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -45,6 +45,10 @@ | ||||
| @btnGrayHoverColor: #FAFAFA; | ||||
| @btnGrayBorderColor: #D0D0D0; | ||||
| 
 | ||||
| @btnWhiteColor: #FFF; | ||||
| @btnWhiteHoverColor: #e8e8e8; | ||||
| @btnWhiteBorderColor: #c6c6c6; | ||||
| 
 | ||||
| @lineMenuHoverBgColor: #EAEAEA; | ||||
| @lineMenuHoverFontColor: #444; | ||||
| 
 | ||||
|  | ||||
| @ -261,8 +261,10 @@ func Email2User(ctx *middleware.Context) { | ||||
| 	ctx.Redirect(setting.AppSubUrl + "/user/" + u.Name) | ||||
| } | ||||
| 
 | ||||
| func Issues(ctx *middleware.Context) { | ||||
| 	ctx.Data["Title"] = "Your Issues" | ||||
| func Issues(ctx *middleware.Context) {	 | ||||
| 	ctx.Data["Title"] = ctx.Tr("issues") | ||||
| 	ctx.Data["PageIsDashboard"] = true | ||||
| 	ctx.Data["PageIsIssues"] = true | ||||
| 
 | ||||
| 	viewType := ctx.Query("type") | ||||
| 	types := []string{"assigned", "created_by"} | ||||
| @ -386,5 +388,8 @@ func Issues(ctx *middleware.Context) { | ||||
| 	} else { | ||||
| 		ctx.Data["ShowCount"] = issueStats.OpenCount | ||||
| 	} | ||||
| 	 | ||||
| 	ctx.Data["ContextUser"] = ctx.User | ||||
| 	 | ||||
| 	ctx.HTML(200, ISSUES) | ||||
| } | ||||
|  | ||||
| @ -1,53 +1,44 @@ | ||||
| {{template "base/head" .}} | ||||
| {{template "base/navbar" .}} | ||||
| <div id="body-nav"> | ||||
|     <div class="container"> | ||||
|         <ul class="nav nav-pills pull-right"> | ||||
|             <li><a href="{{AppSubUrl}}/">News Feed</a></li> | ||||
|             <li class="active"><a href="{{AppSubUrl}}/issues">Issues</a></li> | ||||
|             <!-- <li><a href="{{AppSubUrl}}/pulls">Pull Requests</a></li> | ||||
|             <li><a href="{{AppSubUrl}}/stars">Stars</a></li> --> | ||||
|         </ul> | ||||
|         <h3>Your Issues</h3> | ||||
|     </div> | ||||
| {{template "ng/base/head" .}} | ||||
| {{template "ng/base/header" .}} | ||||
| {{template "user/dashboard/nav" .}} | ||||
| <div id="dashboard-wrapper"> | ||||
| 	<div id="dashboard" class="container" data-page="user"> | ||||
| 		{{if .HasInfo}}<div class="alert alert-info">{{.InfoMsg}}</div>{{end}} | ||||
| 		<div id="issue"> | ||||
| 		    <div class="left grid-1-5 filter-list"> | ||||
| 		        <ul class="list-unstyled menu menu-vertical"> | ||||
| 		            <li><a href="{{AppSubUrl}}/issues?state={{.State}}&repoid={{.RepoId}}" class="radius{{if eq .ViewType "all"}} active{{end}}" >In your repositories <strong class="pull-right">{{.IssueStats.AllCount}}</strong></a></li> | ||||
| 		            <li><a href="{{AppSubUrl}}/issues?type=assigned&repoid={{.RepoId}}&state={{.State}}" class="radius{{if eq .ViewType "assigned"}} active{{end}}">Assigned to you <strong class="pull-right">{{.IssueStats.AssignCount}}</strong></a></li> | ||||
| 		            <li><a href="{{AppSubUrl}}/issues?type=created_by&repoid={{.RepoId}}&state={{.State}}" class="radius{{if eq .ViewType "created_by"}} active{{end}}">Created by you <strong class="pull-right">{{.IssueStats.CreateCount}}</strong></a></li> | ||||
| 		            <li><hr/></li> | ||||
| 		            {{range .Repos}} | ||||
| 		            <li><a href="{{AppSubUrl}}/issues?type={{$.ViewType}}{{if eq $.RepoId .Id}}{{else}}&repoid={{.Id}}{{end}}&state={{$.State}}" class="radius{{if eq $.RepoId .Id}} active{{end}}">{{$.SignedUser.Name}}/{{.Name}} <strong class="pull-right">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</strong></a></li> | ||||
| 		            {{end}} | ||||
| 		        </ul> | ||||
| 		    </div> | ||||
| 		    <div class="right grid-3-4"> | ||||
| 		        <div class="filter-option"> | ||||
| 		            <div class="btn-group"> | ||||
| 		                <a class="btn btn-white btn-small issue-open{{if not .IsShowClosed}} active{{end}}" href="{{AppSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}">Open</a> | ||||
| 		                <a class="btn btn-white btn-small issue-close{{if .IsShowClosed}} active{{end}}" href="{{AppSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}&state=closed">Closed</a> | ||||
| 		            </div> | ||||
| 		        </div> | ||||
| 		        <div class="issues list-group"> | ||||
| 		            {{range .Issues}}{{if .}} | ||||
| 		            <div class="list-group-item issue-item" id="issue-{{.Id}}" onclick="window.location.href='{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}'"> | ||||
| 		                <span class="number pull-right">#{{.Index}}</span> | ||||
| 		                <h5 class="title"><a href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a></h5> | ||||
| 		                <p class="info"> | ||||
| 		                    <span class="author"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" width="20"/> | ||||
| 		                    <a href="{{AppSubUrl}}/{{.Poster.Name}}">{{.Poster.Name}}</a></span> | ||||
| 		                    <span class="time">{{TimeSince .Created $.Lang}}</span> | ||||
| 		                    <span class="comment"><i class="fa fa-comments"></i> {{.NumComments}}</span> | ||||
| 		                </p> | ||||
| 		            </div> | ||||
| 		            {{end}}{{end}} | ||||
| 		        </div> | ||||
| 		    </div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| </div> | ||||
| 
 | ||||
| <div id="body" class="container" data-page="user"> | ||||
|     {{if .HasInfo}}<div class="alert alert-info">{{.InfoMsg}}</div>{{end}} | ||||
|     <div id="issue"> | ||||
|         <div class="col-md-3 filter-list"> | ||||
|             <ul class="list-unstyled"> | ||||
|                 <li><a href="{{AppSubUrl}}/issues?state={{.State}}&repoid={{.RepoId}}"{{if eq .ViewType "all"}} class="active"{{end}}>In your repositories <strong class="pull-right">{{.IssueStats.AllCount}}</strong></a></li> | ||||
|                 <li><a href="{{AppSubUrl}}/issues?type=assigned&repoid={{.RepoId}}&state={{.State}}"{{if eq .ViewType "assigned"}} class="active"{{end}}>Assigned to you <strong class="pull-right">{{.IssueStats.AssignCount}}</strong></a></li> | ||||
|                 <li><a href="{{AppSubUrl}}/issues?type=created_by&repoid={{.RepoId}}&state={{.State}}"{{if eq .ViewType "created_by"}} class="active"{{end}}>Created by you <strong class="pull-right">{{.IssueStats.CreateCount}}</strong></a></li> | ||||
|                 <li><hr/></li> | ||||
|                 {{range .Repos}} | ||||
|                 <li><a href="{{AppSubUrl}}/issues?type={{$.ViewType}}{{if eq $.RepoId .Id}}{{else}}&repoid={{.Id}}{{end}}&state={{$.State}}" class="sm{{if eq $.RepoId .Id}} active{{end}}">{{$.SignedUser.Name}}/{{.Name}} <strong class="pull-right">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</strong></a></li> | ||||
|                 {{end}} | ||||
|             </ul> | ||||
|         </div> | ||||
|         <div class="col-md-9"> | ||||
|             <div class="filter-option"> | ||||
|                 <div class="btn-group"> | ||||
|                     <a class="btn btn-default issue-open{{if not .IsShowClosed}} active{{end}}" href="{{AppSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}">Open</a> | ||||
|                     <a class="btn btn-default issue-close{{if .IsShowClosed}} active{{end}}" href="{{AppSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}&state=closed">Closed</a> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div class="issues list-group"> | ||||
|                 {{range .Issues}}{{if .}} | ||||
|                 <div class="list-group-item issue-item" id="issue-{{.Id}}"> | ||||
|                     <span class="number pull-right">#{{.Index}}</span> | ||||
|                     <h5 class="title"><a href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a></h5> | ||||
|                     <p class="info"> | ||||
|                         <span class="author"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" width="20"/> | ||||
|                         <a href="{{AppSubUrl}}/{{.Poster.Name}}">{{.Poster.Name}}</a></span> | ||||
|                         <span class="time">{{TimeSince .Created $.Lang}}</span> | ||||
|                         <span class="comment"><i class="fa fa-comments"></i> {{.NumComments}}</span> | ||||
|                     </p> | ||||
|                 </div> | ||||
|                 {{end}}{{end}} | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| {{template "base/footer" .}} | ||||
| {{template "ng/base/footer" .}} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Antoine GIRARD
						Antoine GIRARD