code.gitea.io/gitea@v1.22.3/templates/repo/issue/card.tmpl (about) 1 {{with .Issue}} 2 {{if eq $.Page.Project.CardType 1}}{{/* Images and Text*/}} 3 {{$attachments := index $.Page.issuesAttachmentMap .ID}} 4 {{if $attachments}} 5 <div class="card-attachment-images"> 6 {{range $attachments}} 7 <img src="{{.DownloadURL}}" alt="{{.Name}}" /> 8 {{end}} 9 </div> 10 {{end}} 11 {{end}} 12 <div class="content tw-w-full"> 13 <div class="tw-flex tw-items-start tw-gap-[5px]"> 14 <div class="issue-card-icon"> 15 {{template "shared/issueicon" .}} 16 </div> 17 <a class="issue-card-title muted issue-title tw-break-anywhere" href="{{.Link}}">{{.Title | RenderEmoji ctx | RenderCodeBlock}}</a> 18 {{if and $.isPinnedIssueCard $.Page.IsRepoAdmin}} 19 <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}}"> 20 {{svg "octicon-x" 16}} 21 </a> 22 {{end}} 23 </div> 24 <div class="meta"> 25 <span class="text light grey muted-links"> 26 {{if not $.Page.Repository}}{{.Repo.FullName}}{{end}}#{{.Index}} 27 {{$timeStr := TimeSinceUnix .GetLastEventTimestamp ctx.Locale}} 28 {{if .OriginalAuthor}} 29 {{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .OriginalAuthor}} 30 {{else if gt .Poster.ID 0}} 31 {{ctx.Locale.Tr .GetLastEventLabel $timeStr .Poster.HomeLink .Poster.GetDisplayName}} 32 {{else}} 33 {{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .Poster.GetDisplayName}} 34 {{end}} 35 </span> 36 </div> 37 {{if .MilestoneID}} 38 <div class="meta tw-my-1"> 39 <a class="milestone" href="{{.Repo.Link}}/milestone/{{.MilestoneID}}"> 40 {{svg "octicon-milestone" 16 "tw-mr-1 tw-align-middle"}} 41 <span class="tw-align-middle">{{.Milestone.Name}}</span> 42 </a> 43 </div> 44 {{end}} 45 {{if $.Page.LinkedPRs}} 46 {{range index $.Page.LinkedPRs .ID}} 47 <div class="meta tw-my-1"> 48 <a href="{{$.Issue.Repo.Link}}/pulls/{{.Index}}"> 49 <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> 50 <span class="tw-align-middle">{{.Title}} <span class="text light grey">#{{.Index}}</span></span> 51 </a> 52 </div> 53 {{end}} 54 {{end}} 55 {{$tasks := .GetTasks}} 56 {{if gt $tasks 0}} 57 <div class="meta tw-my-1"> 58 {{svg "octicon-checklist" 16 "tw-mr-1 tw-align-middle"}} 59 <span class="tw-align-middle">{{.GetTasksDone}} / {{$tasks}}</span> 60 </div> 61 {{end}} 62 </div> 63 64 {{if or .Labels .Assignees}} 65 <div class="issue-card-bottom"> 66 <div class="labels-list"> 67 {{range .Labels}} 68 <a target="_blank" href="{{$.Issue.Repo.Link}}/issues?labels={{.ID}}">{{RenderLabel ctx ctx.Locale .}}</a> 69 {{end}} 70 </div> 71 <div class="issue-card-assignees"> 72 {{range .Assignees}} 73 <a target="_blank" href="{{.HomeLink}}" data-tooltip-content="{{ctx.Locale.Tr "repo.projects.column.assigned_to"}} {{.Name}}">{{ctx.AvatarUtils.Avatar . 28}}</a> 74 {{end}} 75 </div> 76 </div> 77 {{end}} 78 {{end}}