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}}