mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-24 13:09:23 -05:00
8e56f61d0f
Added a new icon for closed PRs (similar to GitHub, GitLab, etc), Fixes https://codeberg.org/forgejo/forgejo/issues/4454. Before: - https://codeberg.org/attachments/b17c5846-506f-4b32-97c9-03f31c5ff758 - https://codeberg.org/attachments/babcd011-d340-4a9e-94db-ea17ef6d3c2b - https://codeberg.org/attachments/dbca009a-413e-48ab-84b1-55ad7f4fcd3d After: - https://codeberg.org/attachments/3e161f7b-4172-4a8c-a8eb-54bcf81c0cae - https://codeberg.org/attachments/0c308f7e-25a0-49a3-9c86-1b1f9ab39467 - https://codeberg.org/attachments/b982b6b8-c78a-4332-8269-50d01de834e0 Co-authored-by: 0ko <0ko@noreply.codeberg.org> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4455 Reviewed-by: Caesar Schinas <caesar@caesarschinas.com> Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Bram Hagens <bram@bramh.me> Co-committed-by: Bram Hagens <bram@bramh.me>
136 lines
7.1 KiB
Go HTML Template
136 lines
7.1 KiB
Go HTML Template
{{if .Flash}}
|
|
<div class="sixteen wide column tw-mb-2">
|
|
{{template "base/alert" .}}
|
|
</div>
|
|
{{end}}
|
|
<div class="issue-title-header">
|
|
{{$canEditIssueTitle := and (or .HasIssuesOrPullsWritePermission .IsIssuePoster) (not .Repository.IsArchived)}}
|
|
<div class="issue-title" id="issue-title-display">
|
|
<h1 class="tw-break-anywhere">
|
|
{{RenderIssueTitle $.Context .Issue.Title ($.Repository.ComposeMetas ctx) | RenderCodeBlock}}
|
|
<span class="index">#{{.Issue.Index}}</span>
|
|
</h1>
|
|
<div class="button-row">
|
|
{{if $canEditIssueTitle}}
|
|
<button id="issue-title-edit-show" class="ui small basic button">{{ctx.Locale.Tr "repo.issues.edit"}}</button>
|
|
{{end}}
|
|
{{if not .Issue.IsPull}}
|
|
<a role="button" class="ui small primary button" href="{{.RepoLink}}/issues/new{{if .NewIssueChooseTemplate}}/choose{{end}}">{{ctx.Locale.Tr "repo.issues.new"}}</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{if $canEditIssueTitle}}
|
|
<div class="ui form issue-title tw-hidden" id="issue-title-editor">
|
|
<div class="ui input tw-flex-1">
|
|
<input value="{{.Issue.Title}}" data-old-title="{{.Issue.Title}}" maxlength="255" autocomplete="off" class="js-quick-submit">
|
|
</div>
|
|
<div class="button-row">
|
|
<button class="ui small basic cancel button">{{ctx.Locale.Tr "repo.issues.cancel"}}</button>
|
|
<button class="ui small primary button"
|
|
data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/title">
|
|
{{ctx.Locale.Tr "repo.issues.save"}}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
<div class="issue-title-meta">
|
|
{{if .HasMerged}}
|
|
<div class="ui purple label issue-state-label">{{svg "octicon-git-merge" 16 "tw-mr-1"}} {{if eq .Issue.PullRequest.Status 3}}{{ctx.Locale.Tr "repo.pulls.manually_merged"}}{{else}}{{ctx.Locale.Tr "repo.pulls.merged"}}{{end}}</div>
|
|
{{else if .Issue.IsClosed}}
|
|
<div class="ui red label issue-state-label">{{if .Issue.IsPull}}{{svg "octicon-git-pull-request-closed"}}{{else}}{{svg "octicon-issue-closed"}}{{end}} {{ctx.Locale.Tr "repo.issues.closed_title"}}</div>
|
|
{{else if .Issue.IsPull}}
|
|
{{if .IsPullWorkInProgress}}
|
|
<div class="ui grey label issue-state-label">{{svg "octicon-git-pull-request-draft"}} {{ctx.Locale.Tr "repo.issues.draft_title"}}</div>
|
|
{{else}}
|
|
<div class="ui green label issue-state-label">{{svg "octicon-git-pull-request"}} {{ctx.Locale.Tr "repo.issues.open_title"}}</div>
|
|
{{end}}
|
|
{{else}}
|
|
<div class="ui green label issue-state-label">{{svg "octicon-issue-opened"}} {{ctx.Locale.Tr "repo.issues.open_title"}}</div>
|
|
{{end}}
|
|
<div class="tw-ml-2 tw-flex-1 tw-break-anywhere">
|
|
{{if .Issue.IsPull}}
|
|
{{$headHref := .HeadTarget}}
|
|
{{if .HeadBranchLink}}
|
|
{{$headHref = HTMLFormat `<a href="%s">%s</a>` .HeadBranchLink $headHref}}
|
|
{{end}}
|
|
{{if not .MadeUsingAGit}}
|
|
{{$headHref = HTMLFormat `%s <button class="btn interact-fg" data-tooltip-content="%s" data-clipboard-text="%s">%s</button>` $headHref (ctx.Locale.Tr "copy_branch") .HeadTarget (svg "octicon-copy" 14)}}
|
|
{{end}}
|
|
{{$baseHref := .BaseTarget}}
|
|
{{if .BaseBranchLink}}
|
|
{{$baseHref = HTMLFormat `<a href="%s">%s</a>` .BaseBranchLink $baseHref}}
|
|
{{end}}
|
|
{{if .Issue.PullRequest.HasMerged}}
|
|
{{$mergedStr:= TimeSinceUnix .Issue.PullRequest.MergedUnix ctx.Locale}}
|
|
{{if .Issue.OriginalAuthor}}
|
|
{{.Issue.OriginalAuthor}}
|
|
<span class="pull-desc">{{ctx.Locale.TrN .NumCommits "repo.pulls.merged_title_desc_one" "repo.pulls.merged_title_desc_few" .NumCommits $headHref $baseHref $mergedStr}}</span>
|
|
{{else}}
|
|
<a {{if gt .Issue.PullRequest.Merger.ID 0}}href="{{.Issue.PullRequest.Merger.HomeLink}}"{{end}}>{{.Issue.PullRequest.Merger.GetDisplayName}}</a>
|
|
<span class="pull-desc">{{ctx.Locale.TrN .NumCommits "repo.pulls.merged_title_desc_one" "repo.pulls.merged_title_desc_few" .NumCommits $headHref $baseHref $mergedStr}}</span>
|
|
{{end}}
|
|
{{else}}
|
|
{{if .Issue.OriginalAuthor}}
|
|
<span id="pull-desc-display" class="pull-desc">{{.Issue.OriginalAuthor}} {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref}}</span>
|
|
{{else}}
|
|
<span id="pull-desc-display" class="pull-desc">
|
|
<a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.GetDisplayName}}</a>
|
|
{{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref}}
|
|
</span>
|
|
{{end}}
|
|
{{if .MadeUsingAGit}}
|
|
{{/* TODO: Move documentation link to the instructions at the bottom of the PR, show instructions when clicking label */}}
|
|
{{/* Note: #agit-label is necessary for testing whether the label appears when it should in tests/integration/git_test.go */}}
|
|
<a target="_blank" rel="noopener" href="https://forgejo.org/docs/latest/user/agit-support/">
|
|
<span id="agit-label" data-tooltip-content="{{ctx.Locale.Tr "repo.pulls.agit_explanation"}}" class="ui small label">
|
|
{{ctx.Locale.Tr "repo.pulls.made_using_agit"}}
|
|
</span>
|
|
</a>
|
|
{{end}}
|
|
<span id="pull-desc-editor" class="tw-hidden flex-text-block" data-target-update-url="{{$.RepoLink}}/pull/{{.Issue.Index}}/target_branch">
|
|
<div class="ui floating filter dropdown">
|
|
<div class="ui basic small button tw-mr-0">
|
|
<span class="text">{{ctx.Locale.Tr "repo.pulls.compare_compare"}}: {{$.HeadTarget}}</span>
|
|
</div>
|
|
</div>
|
|
{{svg "octicon-arrow-right"}}
|
|
<div class="ui floating filter dropdown" data-no-results="{{ctx.Locale.Tr "repo.pulls.no_results"}}">
|
|
<div class="ui basic small button">
|
|
<span class="text" id="pull-target-branch" data-basename="{{$.BaseName}}" data-branch="{{$.BaseBranch}}">{{ctx.Locale.Tr "repo.pulls.compare_base"}}: {{$.BaseName}}:{{$.BaseBranch}}</span>
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
</div>
|
|
<div class="menu">
|
|
<div class="ui icon search input">
|
|
<i class="icon">{{svg "octicon-filter" 16}}</i>
|
|
<input name="search" placeholder="{{ctx.Locale.Tr "repo.pulls.filter_branch"}}...">
|
|
</div>
|
|
<div class="scrolling menu" id="branch-select">
|
|
{{range .Branches}}
|
|
{{$sameBase := ne $.BaseName $.HeadUserName}}
|
|
{{$differentBranch := ne . $.HeadBranch}}
|
|
{{if or $sameBase $differentBranch}}
|
|
<div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-branch="{{.}}">{{$.BaseName}}{{if $.HeadRepo}}/{{$.HeadRepo}}{{end}}:{{.}}</div>
|
|
{{end}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
{{end}}
|
|
{{else}}
|
|
{{$createdStr:= TimeSinceUnix .Issue.CreatedUnix ctx.Locale}}
|
|
<span class="time-desc">
|
|
{{if .Issue.OriginalAuthor}}
|
|
{{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.OriginalAuthor}}
|
|
{{else if gt .Issue.Poster.ID 0}}
|
|
{{ctx.Locale.Tr "repo.issues.opened_by" $createdStr .Issue.Poster.HomeLink .Issue.Poster.GetDisplayName}}
|
|
{{else}}
|
|
{{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.Poster.GetDisplayName}}
|
|
{{end}}
|
|
·
|
|
{{ctx.Locale.TrN .Issue.NumComments "repo.issues.num_comments_1" "repo.issues.num_comments" .Issue.NumComments}}
|
|
</span>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|