2015-08-25 16:58:34 +02:00
{{ template "base/head" . }}
< div class = "dashboard issues" >
2015-12-07 23:30:52 +01:00
{{ template "user/dashboard/navbar" . }}
< div class = "ui container" >
2017-12-31 01:47:52 +01:00
< div class = "ui stackable grid" >
2015-12-07 23:30:52 +01:00
< div class = "four wide column" >
< div class = "ui secondary vertical filter menu" >
2019-12-02 04:50:36 +01:00
< a class = " {{ if eq .ViewType "your_repositories" }} ui basic blue button {{ end }} item" href = " {{ .Link }} ?type=your_repositories&repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort= {{ $.SortType }} &state= {{ .State }} " >
2015-12-07 23:30:52 +01:00
{{ .i18n.Tr "home.issues.in_your_repos" }}
2017-02-14 15:15:18 +01:00
< strong class = "ui right" > {{ .IssueStats.YourRepositoriesCount }} </ strong >
2015-12-07 23:30:52 +01:00
< / a >
{{ if not .ContextUser.IsOrganization }}
2019-12-02 04:50:36 +01:00
< a class = " {{ if eq .ViewType "assigned" }} ui basic blue button {{ end }} item" href = " {{ .Link }} ?type=assigned&repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort= {{ $.SortType }} &state= {{ .State }} " >
2015-12-07 23:30:52 +01:00
{{ .i18n.Tr "repo.issues.filter_type.assigned_to_you" }}
< strong class = "ui right" > {{ .IssueStats.AssignCount }} </ strong >
< / a >
2019-12-02 04:50:36 +01:00
< a class = " {{ if eq .ViewType "created_by" }} ui basic blue button {{ end }} item" href = " {{ .Link }} ?type=created_by&repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort= {{ $.SortType }} &state= {{ .State }} " >
2015-12-07 23:30:52 +01:00
{{ .i18n.Tr "repo.issues.filter_type.created_by_you" }}
< strong class = "ui right" > {{ .IssueStats.CreateCount }} </ strong >
< / a >
2019-12-02 04:50:36 +01:00
< a class = " {{ if eq .ViewType "mentioned" }} ui basic blue button {{ end }} item" href = " {{ .Link }} ?type=mentioned&repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort= {{ $.SortType }} &state= {{ .State }} " >
2019-09-18 09:24:44 +02:00
{{ .i18n.Tr "repo.issues.filter_type.mentioning_you" }}
< strong class = "ui right" > {{ .IssueStats.MentionCount }} </ strong >
< / a >
2015-12-07 23:30:52 +01:00
{{ end }}
< div class = "ui divider" > < / div >
2020-02-29 07:52:05 +01:00
< a class = " {{ if not $.RepoIDs }} ui basic blue button {{ end }} repo name item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &sort= {{ $.SortType }} &state= {{ $.State }} &q= {{ $.Keyword }} " >
2019-12-02 04:50:36 +01:00
< span class = "text truncate" > All< / span >
2019-12-17 22:34:11 +01:00
< div class = "ui {{ if $.IsShowClosed }} red {{ else }} green {{ end }} label" > {{ .TotalIssueCount }} </ div >
2019-12-02 04:50:36 +01:00
< / a >
2015-12-07 23:30:52 +01:00
{{ range .Repos }}
2019-12-02 04:50:36 +01:00
{{ with $Repo := . }}
< a class = " {{ range $.RepoIDs }}{{ if eq . $Repo .ID }} ui basic blue button {{ end }}{{ end }} repo name item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[
{{ with $include := true }}
{{ range $.RepoIDs }}
{{ if eq . $Repo .ID }}
{{ $include = false }}
{{ else }}
{{ . }} %2C
{{ end }}
{{ end }}
{{ if eq $include true }}
{{ $Repo .ID }} %2C
{{ end }}
{{ end }}
2020-02-29 07:52:05 +01:00
]& sort={{ $.SortType }} & state={{ $.State }} & q={{ $.Keyword }} " title="{{ .FullName }} ">
2019-12-02 04:50:36 +01:00
< span class = "text truncate" > {{ $Repo .FullName }} </ span >
2019-12-17 22:34:11 +01:00
< div class = "ui {{ if $.IsShowClosed }} red {{ else }} green {{ end }} label" > {{ index $.Counts $Repo .ID }} </ div >
2019-12-02 04:50:36 +01:00
< / a >
{{ end }}
2015-12-07 23:30:52 +01:00
{{ end }}
< / div >
< / div >
2015-08-25 16:58:34 +02:00
< div class = "twelve wide column content" >
2020-02-29 07:52:05 +01:00
< div class = "ui three column stackable grid" >
< div class = "column" >
< div class = "ui tiny basic status buttons" >
< a class = "ui {{ if not .IsShowClosed }} green active {{ end }} basic button" href = " {{ .Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort= {{ $.SortType }} &state=open&q= {{ $.Keyword }} " >
{{ svg "octicon-issue-opened" 16 }}
{{ .i18n.Tr "repo.issues.open_tab" .ShownIssueStats.OpenCount }}
< / a >
< a class = "ui {{ if .IsShowClosed }} red active {{ end }} basic button" href = " {{ .Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort= {{ $.SortType }} &state=closed&q= {{ $.Keyword }} " >
{{ svg "octicon-issue-closed" 16 }}
{{ .i18n.Tr "repo.issues.close_tab" .ShownIssueStats.ClosedCount }}
< / a >
< / div >
< / div >
< div class = "column center aligned" >
< form class = "ui form ignore-dirty" >
< div class = "ui fluid action input" >
< input type = "hidden" name = "type" value = " {{ $.ViewType }} " />
< input type = "hidden" name = "repos" value = "[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]" />
< input type = "hidden" name = "sort" value = " {{ $.SortType }} " />
< input type = "hidden" name = "state" value = " {{ $.State }} " />
< div class = "ui search action input" >
< input name = "q" value = " {{ $.Keyword }} " placeholder = " {{ .i18n.Tr "explore.search" }} ..." autofocus >
2020-05-12 21:08:43 +02:00
< button class = "ui blue button" type = "submit" > {{ .i18n.Tr "explore.search" }} </ button >
2020-02-29 07:52:05 +01:00
< / div >
< / div >
< / form >
< / div >
< div class = "column right aligned" >
<!-- Sort -->
< div class = "ui dropdown type jump item" >
< span class = "text" >
{{ .i18n.Tr "repo.issues.filter_sort" }}
< i class = "dropdown icon" > < / i >
< / span >
< div class = "menu" >
< a class = " {{ if or ( eq .SortType "latest" ) ( not .SortType ) }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=latest&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.latest" }} </ a >
< a class = " {{ if eq .SortType "oldest" }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=oldest&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.oldest" }} </ a >
< a class = " {{ if eq .SortType "recentupdate" }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=recentupdate&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.recentupdate" }} </ a >
< a class = " {{ if eq .SortType "leastupdate" }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=leastupdate&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.leastupdate" }} </ a >
< a class = " {{ if eq .SortType "mostcomment" }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=mostcomment&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.mostcomment" }} </ a >
< a class = " {{ if eq .SortType "leastcomment" }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=leastcomment&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.leastcomment" }} </ a >
< a class = " {{ if eq .SortType "nearduedate" }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=nearduedate&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.nearduedate" }} </ a >
< a class = " {{ if eq .SortType "farduedate" }} active {{ end }} item" href = " {{ $.Link }} ?type= {{ $.ViewType }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]&sort=farduedate&state= {{ $.State }} &q= {{ $.Keyword }} " > {{ .i18n.Tr "repo.issues.filter_sort.farduedate" }} </ a >
< / div >
2015-11-04 18:50:02 +01:00
< / div >
< / div >
< / div >
2015-08-25 16:58:34 +02:00
< div class = "issue list" >
2020-03-06 04:44:06 +01:00
{{ $approvalCounts := .ApprovalCounts }}
2015-08-25 16:58:34 +02:00
{{ range .Issues }}
2019-05-08 10:41:35 +02:00
2017-12-11 05:37:04 +01:00
{{ $timeStr := TimeSinceUnix .CreatedUnix $.Lang }}
2019-12-03 01:33:25 +01:00
{{ if .Repo }}
2015-12-07 23:30:52 +01:00
< li class = "item" >
2019-12-02 04:50:36 +01:00
< div class = "ui label" > {{ .Repo.FullName }} #{{ .Index }} </ div >
2020-04-28 20:05:39 +02:00
< a class = "title" href = " {{ .HTMLURL }} " > {{ RenderEmoji .Title }} </ a >
2015-08-25 16:58:34 +02:00
2020-02-03 23:14:38 +01:00
{{ if .IsPull }}
{{ if ( index $.CommitStatus .PullRequest.ID ) }}
{{ template "repo/commit_status" ( index $.CommitStatus .PullRequest.ID ) }}
{{ end }}
{{ end }}
2019-04-02 21:54:29 +02:00
2017-12-31 01:47:52 +01:00
{{ with .Labels }}
{{ /* If we have any labels , we should show them
with a 2.5 line height, this way they don't look
awful and they don't stack on top of each other,
especially on mobile views. */}}
< span style = "line-height: 2.5" >
{{ range . }}
2020-05-01 19:58:45 +02:00
< a class = "ui label" href = " {{ $.Link }} ?q= {{ $.Keyword }} &type= {{ $.ViewType }} &state= {{ $.State }} &labels= {{ .ID }} &milestone= {{ $.MilestoneID }} &assignee= {{ $.AssigneeID }} &repos=[ {{ range $.RepoIDs }}{{ . }} %2C {{ end }} ]" style = "color: {{ .ForegroundColor }} ; background-color: {{ .Color }} " title = " {{ .Description | RenderEmojiPlain }} " > {{ .Name | RenderEmoji }} </ a >
2017-12-31 01:47:52 +01:00
{{ end }}
< / span >
2017-02-07 16:33:18 +01:00
{{ end }}
2015-12-07 23:30:52 +01:00
{{ if .NumComments }}
2020-02-11 18:02:41 +01:00
< span class = "comment ui right" > {{ svg "octicon-comment" 16 }} {{ .NumComments }} </ span >
2015-08-25 16:58:34 +02:00
{{ end }}
2018-04-29 07:58:47 +02:00
{{ if .TotalTrackedTime }}
2020-02-11 18:02:41 +01:00
< span class = "comment ui right" > {{ svg "octicon-clock" 16 }} {{ .TotalTrackedTime | Sec2Time }} </ span >
2018-04-29 07:58:47 +02:00
{{ end }}
2015-12-07 23:30:52 +01:00
< p class = "desc" >
2019-07-08 04:14:12 +02:00
{{ if .OriginalAuthor }}
{{ $.i18n.Tr .GetLastEventLabelFake $timeStr .OriginalAuthor | Safe }}
{{ else if gt .Poster.ID 0 }}
2019-05-08 10:41:35 +02:00
{{ $.i18n.Tr .GetLastEventLabel $timeStr .Poster.HomeLink ( .Poster.GetDisplayName | Escape ) | Safe }}
2019-03-27 23:22:39 +01:00
{{ else }}
2019-05-08 10:41:35 +02:00
{{ $.i18n.Tr .GetLastEventLabelFake $timeStr ( .Poster.GetDisplayName | Escape ) | Safe }}
2019-03-27 23:22:39 +01:00
{{ end }}
2019-09-12 11:31:36 +02:00
{{ if .Milestone }}
< a class = "milestone" href = " {{ AppSubUrl }} / {{ .Repo.Owner.Name }} / {{ .Repo.Name }}{{ $.Link }} ?q= {{ $.Keyword }} &type= {{ $.ViewType }} &state= {{ $.State }} &labels= {{ $.SelectLabels }} &milestone= {{ .Milestone.ID }} &assignee= {{ $.AssigneeID }} " >
2020-02-11 18:02:41 +01:00
{{ svg "octicon-milestone" 16 }} {{ .Milestone.Name }}
2019-09-12 11:31:36 +02:00
< / a >
{{ end }}
{{ if .Ref }}
2020-05-15 00:55:43 +02:00
< a class = "ref" href = " {{ AppSubUrl }} / {{ .Repo.Owner.Name }} / {{ .Repo.Name }}{{ index $.IssueRefURLs .ID }} " >
{{ svg "octicon-git-branch" 16 }} {{ index $.IssueRefEndNames .ID }}
2019-09-12 11:31:36 +02:00
< / a >
{{ end }}
{{ range .Assignees }}
< a class = "ui right assignee poping up" href = " {{ .HomeLink }} " data-content = " {{ .GetDisplayName }} " data-variation = "inverted" data-position = "left center" >
< img class = "ui avatar image" src = " {{ .RelAvatarLink }} " >
2015-12-07 23:30:52 +01:00
< / a >
{{ end }}
2018-01-03 09:34:13 +01:00
{{ $tasks := .GetTasks }}
{{ if gt $tasks 0 }}
{{ $tasksDone := .GetTasksDone }}
2018-02-06 11:22:31 +01:00
< span class = "checklist" >
2020-02-11 18:02:41 +01:00
{{ svg "octicon-checklist" 16 }} {{ $tasksDone }} / {{ $tasks }} < span class = "progress-bar" >< span class = "progress" style = "width:calc(100% * {{ $tasksDone }} / {{ $tasks }} );" ></ span ></ span >
2018-02-06 11:22:31 +01:00
< / span >
2018-01-03 09:34:13 +01:00
{{ end }}
2019-11-07 21:12:23 +01:00
{{ if ne .DeadlineUnix 0 }}
< span class = "due-date poping up" data-content = " {{ $.i18n.Tr "repo.issues.due_date" }} " data-variation = "tiny inverted" data-position = "right center" >
2020-02-11 18:02:41 +01:00
{{ svg "octicon-calendar" 16 }} < span {{ if .IsOverdue }} class = "overdue" {{ end }} > {{ .DeadlineUnix.FormatShort }} </ span >
2019-11-07 21:12:23 +01:00
< / span >
{{ end }}
2020-02-03 23:14:38 +01:00
{{ if .IsPull }}
2020-03-06 04:44:06 +01:00
{{ $approveOfficial := call $approvalCounts .ID "approve" }}
{{ $rejectOfficial := call $approvalCounts .ID "reject" }}
2020-04-06 18:33:34 +02:00
{{ $waitingOfficial := call $approvalCounts .ID "waiting" }}
{{ if gt $approveOfficial 0 }}
2020-03-06 04:44:06 +01:00
< span class = "approvals" > {{ svg "octicon-check" 16 }}
{{ $.i18n.Tr ( TrN $.i18n.Lang $approveOfficial "repo.pulls.approve_count_1" "repo.pulls.approve_count_n" ) $approveOfficial }}
2020-04-06 18:33:34 +02:00
< / span >
{{ end }}
{{ if gt $rejectOfficial 0 }}
< span class = "rejects" > {{ svg "octicon-request-changes" 16 }}
{{ $.i18n.Tr ( TrN $.i18n.Lang $rejectOfficial "repo.pulls.reject_count_1" "repo.pulls.reject_count_n" ) $rejectOfficial }}
< / span >
2020-03-06 04:44:06 +01:00
{{ end }}
2020-04-06 18:33:34 +02:00
{{ if gt $waitingOfficial 0 }}
< span class = "waiting" > {{ svg "octicon-eye" 16 }}
{{ $.i18n.Tr ( TrN $.i18n.Lang $waitingOfficial "repo.pulls.waiting_count_1" "repo.pulls.waiting_count_n" ) $waitingOfficial }}
< / span >
{{ end }}
2020-03-04 07:56:53 +01:00
{{ if and ( not .PullRequest.HasMerged ) ( gt ( len .PullRequest.ConflictedFiles ) 0 ) }}
2020-02-11 18:02:41 +01:00
< span class = "conflicting" > {{ svg "octicon-mirror" 16 }} {{ $.i18n.Tr ( TrN $.i18n.Lang ( len .PullRequest.ConflictedFiles ) "repo.pulls.num_conflicting_files_1" "repo.pulls.num_conflicting_files_n" ) ( len .PullRequest.ConflictedFiles ) }} </ span >
2020-02-03 23:14:38 +01:00
{{ end }}
{{ end }}
2015-12-07 23:30:52 +01:00
< / p >
< / li >
2019-12-02 04:50:36 +01:00
{{ end }}
2015-08-25 16:58:34 +02:00
{{ end }}
2015-12-07 23:30:52 +01:00
2019-04-20 06:15:19 +02:00
{{ template "base/paginate" . }}
2015-08-25 16:58:34 +02:00
< / div >
2015-12-07 23:30:52 +01:00
< / div >
< / div >
2015-08-25 16:58:34 +02:00
< / div >
< / div >
{{ template "base/footer" . }}