summaryrefslogtreecommitdiffstats
path: root/templates/repo/issue/card.tmpl
blob: 0b255d670545d80de2f88bd63712abc271ce4a97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{{with .Issue}}
	{{if eq $.Page.Project.CardType 1}}{{/* Images and Text*/}}
		{{$attachments := index $.Page.issuesAttachmentMap .ID}}
		{{if $attachments}}
		<div class="card-attachment-images">
			{{range $attachments}}
				<img src="{{.DownloadURL}}" alt="{{.Name}}" />
			{{end}}
		</div>
		{{end}}
	{{end}}
	<div class="content tw-w-full">
		<div class="tw-flex tw-items-start tw-gap-[5px]">
			<div class="issue-card-icon">
				{{template "shared/issueicon" .}}
			</div>
			<a class="issue-card-title muted issue-title tw-break-anywhere" href="{{.Link}}">{{RenderRefIssueTitle $.Context .Title}}</a>
			{{if and $.isPinnedIssueCard $.Page.IsRepoAdmin}}
				<a role="button" class="issue-card-unpin muted tw-flex tw-items-center" data-tooltip-content={{ctx.Locale.Tr "repo.issues.unpin_issue"}} data-issue-id="{{.ID}}" data-unpin-url="{{$.Page.Link}}/unpin/{{.Index}}">
					{{svg "octicon-x" 16}}
				</a>
			{{end}}
		</div>
		<div class="meta">
			<span class="text light grey muted-links">
				{{if not $.Page.Repository}}{{.Repo.FullName}}{{end}}#{{.Index}}
				{{$timeStr := TimeSinceUnix .GetLastEventTimestamp ctx.Locale}}
				{{if .OriginalAuthor}}
					{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .OriginalAuthor}}
				{{else if gt .Poster.ID 0}}
					{{ctx.Locale.Tr .GetLastEventLabel $timeStr .Poster.HomeLink .Poster.GetDisplayName}}
				{{else}}
					{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .Poster.GetDisplayName}}
				{{end}}
			</span>
		</div>
		{{if .MilestoneID}}
		<div class="meta tw-my-1">
			<a class="milestone" href="{{.Repo.Link}}/milestone/{{.MilestoneID}}">
				{{svg "octicon-milestone" 16 "tw-mr-1 tw-align-middle"}}
				<span class="tw-align-middle">{{.Milestone.Name}}</span>
			</a>
		</div>
		{{end}}
		{{if $.Page.LinkedPRs}}
		{{range index $.Page.LinkedPRs .ID}}
		<div class="meta tw-my-1">
			<a href="{{$.Issue.Repo.Link}}/pulls/{{.Index}}">
				<span class="tw-m-0 text {{if .PullRequest.HasMerged}}purple{{else if .IsClosed}}red{{else}}green{{end}}">{{svg "octicon-git-merge" 16 "tw-mr-1 tw-align-middle"}}</span>
				<span class="tw-align-middle">{{.Title}} <span class="text light grey">#{{.Index}}</span></span>
			</a>
		</div>
		{{end}}
		{{end}}
		{{$tasks := .GetTasks}}
		{{if gt $tasks 0}}
			<div class="meta tw-my-1">
				{{svg "octicon-checklist" 16 "tw-mr-1 tw-align-middle"}}
				<span class="tw-align-middle">{{.GetTasksDone}} / {{$tasks}}</span>
			</div>
		{{end}}
	</div>

	{{if or .Labels .Assignees}}
	<div class="issue-card-bottom">
		<div class="labels-list">
			{{range .Labels}}
				<a target="_blank" href="{{$.Issue.Repo.Link}}/issues?labels={{.ID}}">{{RenderLabel ctx ctx.Locale .}}</a>
			{{end}}
		</div>
		<div class="issue-card-assignees">
			{{range .Assignees}}
				<a target="_blank" href="{{.HomeLink}}" data-tooltip-content="{{ctx.Locale.Tr "repo.projects.column.assigned_to"}} {{.Name}}">{{ctx.AvatarUtils.Avatar . 28}}</a>
			{{end}}
		</div>
	</div>
	{{end}}
{{end}}