code.gitea.io/gitea@v1.22.3/templates/repo/issue/milestones.tmpl (about) 1 {{template "base/head" .}} 2 <div role="main" aria-label="{{.Title}}" class="page-content repository milestones"> 3 {{template "repo/header" .}} 4 <div class="ui container"> 5 {{template "base/alert" .}} 6 7 <div class="list-header"> 8 {{template "repo/issue/navbar" .}} 9 {{template "repo/issue/search" .}} 10 {{if and (or .CanWriteIssues .CanWritePulls) (not .Repository.IsArchived)}} 11 <a class="ui small primary button" href="{{$.Link}}/new">{{ctx.Locale.Tr "repo.milestones.new"}}</a> 12 {{end}} 13 </div> 14 15 {{template "repo/issue/filters" .}} 16 17 <!-- milestone list --> 18 <div class="milestone-list"> 19 {{range .Milestones}} 20 <li class="milestone-card"> 21 <div class="milestone-header"> 22 <h3 class="flex-text-block tw-m-0"> 23 {{svg "octicon-milestone" 16}} 24 <a class="muted" href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a> 25 </h3> 26 <div class="tw-flex tw-items-center"> 27 <span class="tw-mr-2">{{.Completeness}}%</span> 28 <progress value="{{.Completeness}}" max="100"></progress> 29 </div> 30 </div> 31 <div class="milestone-toolbar"> 32 <div class="group"> 33 <div class="flex-text-block"> 34 {{svg "octicon-issue-opened" 14}} 35 {{ctx.Locale.PrettyNumber .NumOpenIssues}} {{ctx.Locale.Tr "repo.issues.open_title"}} 36 </div> 37 <div class="flex-text-block"> 38 {{svg "octicon-check" 14}} 39 {{ctx.Locale.PrettyNumber .NumClosedIssues}} {{ctx.Locale.Tr "repo.issues.closed_title"}} 40 </div> 41 {{if .TotalTrackedTime}} 42 <div class="flex-text-block"> 43 {{svg "octicon-clock"}} 44 {{.TotalTrackedTime|Sec2Time}} 45 </div> 46 {{end}} 47 {{if .UpdatedUnix}} 48 <div class="flex-text-block"> 49 {{svg "octicon-clock"}} 50 {{ctx.Locale.Tr "repo.milestones.update_ago" (TimeSinceUnix .UpdatedUnix ctx.Locale)}} 51 </div> 52 {{end}} 53 <div class="flex-text-block"> 54 {{if .IsClosed}} 55 {{$closedDate:= TimeSinceUnix .ClosedDateUnix ctx.Locale}} 56 {{svg "octicon-clock" 14}} 57 {{ctx.Locale.Tr "repo.milestones.closed" $closedDate}} 58 {{else}} 59 {{if .DeadlineString}} 60 <span class="flex-text-inline {{if .IsOverdue}}text red{{end}}"> 61 {{svg "octicon-calendar" 14}} 62 {{DateTime "short" .DeadlineString}} 63 </span> 64 {{else}} 65 {{svg "octicon-calendar" 14}} 66 {{ctx.Locale.Tr "repo.milestones.no_due_date"}} 67 {{end}} 68 {{end}} 69 </div> 70 </div> 71 {{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}} 72 <div class="group"> 73 <a class="flex-text-inline" href="{{$.Link}}/{{.ID}}/edit">{{svg "octicon-pencil" 14}}{{ctx.Locale.Tr "repo.issues.label_edit"}}</a> 74 {{if .IsClosed}} 75 <a class="link-action flex-text-inline" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check" 14}}{{ctx.Locale.Tr "repo.milestones.open"}}</a> 76 {{else}} 77 <a class="link-action flex-text-inline" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-x" 14}}{{ctx.Locale.Tr "repo.milestones.close"}}</a> 78 {{end}} 79 <a class="delete-button flex-text-inline" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash" 14}}{{ctx.Locale.Tr "repo.issues.label_delete"}}</a> 80 </div> 81 {{end}} 82 </div> 83 {{if .Content}} 84 <div class="markup content"> 85 {{.RenderedContent}} 86 </div> 87 {{end}} 88 </li> 89 {{end}} 90 91 {{template "base/paginate" .}} 92 </div> 93 </div> 94 </div> 95 96 {{if or .CanWriteIssues .CanWritePulls}} 97 <div class="ui g-modal-confirm delete modal"> 98 <div class="header"> 99 {{svg "octicon-trash"}} 100 {{ctx.Locale.Tr "repo.milestones.deletion"}} 101 </div> 102 <div class="content"> 103 <p>{{ctx.Locale.Tr "repo.milestones.deletion_desc"}}</p> 104 </div> 105 {{template "base/modal_actions_confirm" .}} 106 </div> 107 {{end}} 108 {{template "base/footer" .}}