1{{template "base/head" .}}
2<div class="page-content repository milestones">
3	{{template "repo/header" .}}
4	<div class="ui container">
5		<div class="navbar">
6			{{template "repo/issue/navbar" .}}
7			{{if and (or .CanWriteIssues .CanWritePulls) (not .Repository.IsArchived)}}
8				<div class="ui right">
9					<a class="ui green button" href="{{$.Link}}/new">{{.i18n.Tr "repo.milestones.new"}}</a>
10				</div>
11			{{end}}
12		</div>
13		<div class="ui divider"></div>
14		{{template "base/alert" .}}
15
16		<div class="ui three column stackable grid">
17			<div class="column">
18				<div class="ui compact tiny menu">
19					<a class="item{{if not .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/milestones?state=open&q={{$.Keyword}}">
20						{{svg "octicon-milestone" 16 "mr-3"}}
21						{{.i18n.Tr "repo.milestones.open_tab" .OpenCount}}
22					</a>
23					<a class="item{{if .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/milestones?state=closed&q={{$.Keyword}}">
24						{{svg "octicon-milestone" 16 "mr-3"}}
25						{{.i18n.Tr "repo.milestones.close_tab" .ClosedCount}}
26					</a>
27				</div>
28			</div>
29
30			<!-- Search -->
31			<div class="column center aligned">
32				<form class="ui form ignore-dirty">
33					<div class="ui search fluid action input">
34						<input type="hidden" name="state" value="{{$.State}}"/>
35						<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}...">
36						<button class="ui blue button" type="submit">{{.i18n.Tr "explore.search"}}</button>
37					</div>
38				</form>
39			</div>
40
41			<div class="column right aligned df ac je">
42				<!-- Sort -->
43				<div class="ui dropdown type jump item">
44					<span class="text">
45						{{.i18n.Tr "repo.issues.filter_sort"}}
46						{{svg "octicon-triangle-down" 14 "dropdown icon"}}
47					</span>
48					<div class="menu">
49						<a class="{{if or (eq .SortType "closestduedate") (not .SortType)}}active{{end}} item" href="{{$.Link}}?sort=closestduedate&state={{$.State}}&q={{$.Keyword}}">{{.i18n.Tr "repo.milestones.filter_sort.closest_due_date"}}</a>
50						<a class="{{if eq .SortType "furthestduedate"}}active{{end}} item" href="{{$.Link}}?sort=furthestduedate&state={{$.State}}&q={{$.Keyword}}">{{.i18n.Tr "repo.milestones.filter_sort.furthest_due_date"}}</a>
51						<a class="{{if eq .SortType "leastcomplete"}}active{{end}} item" href="{{$.Link}}?sort=leastcomplete&state={{$.State}}&q={{$.Keyword}}">{{.i18n.Tr "repo.milestones.filter_sort.least_complete"}}</a>
52						<a class="{{if eq .SortType "mostcomplete"}}active{{end}} item" href="{{$.Link}}?sort=mostcomplete&state={{$.State}}&q={{$.Keyword}}">{{.i18n.Tr "repo.milestones.filter_sort.most_complete"}}</a>
53						<a class="{{if eq .SortType "mostissues"}}active{{end}} item" href="{{$.Link}}?sort=mostissues&state={{$.State}}&q={{$.Keyword}}">{{.i18n.Tr "repo.milestones.filter_sort.most_issues"}}</a>
54						<a class="{{if eq .SortType "leastissues"}}active{{end}} item" href="{{$.Link}}?sort=leastissues&state={{$.State}}&q={{$.Keyword}}">{{.i18n.Tr "repo.milestones.filter_sort.least_issues"}}</a>
55					</div>
56				</div>
57			</div>
58		</div>
59
60		<!-- milestone list -->
61		<div class="milestone list">
62			{{range .Milestones}}
63				<li class="item">
64					{{svg "octicon-milestone" 16 "mr-2"}} <a href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a>
65					<div class="ui right green progress" data-percent="{{.Completeness}}">
66						<div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}>
67							<div class="progress"></div>
68						</div>
69					</div>
70					<div class="meta">
71						{{ $closedDate:= TimeSinceUnix .ClosedDateUnix $.Lang }}
72						{{if .IsClosed}}
73							{{svg "octicon-clock"}} {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
74						{{else}}
75							{{svg "octicon-calendar"}}
76							{{if .DeadlineString}}
77								<span {{if .IsOverdue}}class="overdue"{{end}}>{{.DeadlineString}}</span>
78							{{else}}
79								{{$.i18n.Tr "repo.milestones.no_due_date"}}
80							{{end}}
81						{{end}}
82						<span class="issue-stats">
83							{{svg "octicon-issue-opened"}} {{$.i18n.Tr "repo.issues.open_tab" .NumOpenIssues}}
84							{{svg "octicon-issue-closed"}} {{$.i18n.Tr "repo.issues.close_tab" .NumClosedIssues}}
85							{{if .TotalTrackedTime}}{{svg "octicon-clock"}} {{.TotalTrackedTime|Sec2Time}}{{end}}
86							{{if .UpdatedUnix}}{{svg "octicon-clock"}} {{$.i18n.Tr "repo.milestones.update_ago" (.TimeSinceUpdate|Sec2Time)}}{{end}}
87						</span>
88					</div>
89					{{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}}
90						<div class="ui right operate">
91							<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil"}} {{$.i18n.Tr "repo.issues.label_edit"}}</a>
92							{{if .IsClosed}}
93								<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check"}} {{$.i18n.Tr "repo.milestones.open"}}</a>
94							{{else}}
95								<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-x"}} {{$.i18n.Tr "repo.milestones.close"}}</a>
96							{{end}}
97							<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.i18n.Tr "repo.issues.label_delete"}}</a>
98						</div>
99					{{end}}
100					{{if .Content}}
101						<div class="markup content">
102							{{.RenderedContent|Str2html}}
103						</div>
104					{{end}}
105				</li>
106			{{end}}
107
108			{{template "base/paginate" .}}
109		</div>
110	</div>
111</div>
112
113{{if or .CanWriteIssues .CanWritePulls}}
114	<div class="ui small basic delete modal">
115		<div class="ui icon header">
116			{{svg "octicon-trash"}}
117			{{.i18n.Tr "repo.milestones.deletion"}}
118		</div>
119		<div class="content">
120			<p>{{.i18n.Tr "repo.milestones.deletion_desc"}}</p>
121		</div>
122		<div class="actions">
123			<div class="ui red basic inverted cancel button">
124				<i class="remove icon"></i>
125				{{.i18n.Tr "modal.no"}}
126			</div>
127			<div class="ui green basic inverted ok button">
128				<i class="checkmark icon"></i>
129				{{.i18n.Tr "modal.yes"}}
130			</div>
131		</div>
132	</div>
133{{end}}
134{{template "base/footer" .}}
135