You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

view_title.tmpl 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. {{if .Flash}}
  2. <div class="sixteen wide column gt-mb-3">
  3. {{template "base/alert" .}}
  4. </div>
  5. {{end}}
  6. <div class="issue-title-header">
  7. <div class="issue-title" id="issue-title-wrapper">
  8. <h1 class="gt-word-break">
  9. <span id="issue-title">{{RenderIssueTitle $.Context .Issue.Title ($.Repository.ComposeMetas ctx) | RenderCodeBlock}} <span class="index">#{{.Issue.Index}}</span>
  10. </span>
  11. <div id="edit-title-input" class="ui input tw-flex-1 gt-hidden">
  12. <input value="{{.Issue.Title}}" maxlength="255" autocomplete="off">
  13. </div>
  14. </h1>
  15. <div class="issue-title-buttons">
  16. {{if and (or .HasIssuesOrPullsWritePermission .IsIssuePoster) (not .Repository.IsArchived)}}
  17. <button id="edit-title" class="ui small basic button edit-button not-in-edit{{if .Issue.IsPull}} gt-mr-0{{end}}">{{ctx.Locale.Tr "repo.issues.edit"}}</button>
  18. {{end}}
  19. {{if not .Issue.IsPull}}
  20. <a role="button" class="ui small primary button new-issue-button gt-mr-0" href="{{.RepoLink}}/issues/new{{if .NewIssueChooseTemplate}}/choose{{end}}">{{ctx.Locale.Tr "repo.issues.new"}}</a>
  21. {{end}}
  22. </div>
  23. {{if and (or .HasIssuesOrPullsWritePermission .IsIssuePoster) (not .Repository.IsArchived)}}
  24. <div class="edit-buttons">
  25. <button id="cancel-edit-title" class="ui small basic button in-edit gt-hidden">{{ctx.Locale.Tr "repo.issues.cancel"}}</button>
  26. <button id="save-edit-title" class="ui small primary button in-edit gt-hidden gt-mr-0" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/title" {{if .Issue.IsPull}}data-target-update-url="{{$.RepoLink}}/pull/{{.Issue.Index}}/target_branch"{{end}}>{{ctx.Locale.Tr "repo.issues.save"}}</button>
  27. </div>
  28. {{end}}
  29. </div>
  30. <div class="issue-title-meta">
  31. {{if .HasMerged}}
  32. <div class="ui purple label issue-state-label">{{svg "octicon-git-merge" 16 "gt-mr-2"}} {{if eq .Issue.PullRequest.Status 3}}{{ctx.Locale.Tr "repo.pulls.manually_merged"}}{{else}}{{ctx.Locale.Tr "repo.pulls.merged"}}{{end}}</div>
  33. {{else if .Issue.IsClosed}}
  34. <div class="ui red label issue-state-label">{{if .Issue.IsPull}}{{svg "octicon-git-pull-request"}}{{else}}{{svg "octicon-issue-closed"}}{{end}} {{ctx.Locale.Tr "repo.issues.closed_title"}}</div>
  35. {{else if .Issue.IsPull}}
  36. {{if .IsPullWorkInProgress}}
  37. <div class="ui grey label issue-state-label">{{svg "octicon-git-pull-request-draft"}} {{ctx.Locale.Tr "repo.issues.draft_title"}}</div>
  38. {{else}}
  39. <div class="ui green label issue-state-label">{{svg "octicon-git-pull-request"}} {{ctx.Locale.Tr "repo.issues.open_title"}}</div>
  40. {{end}}
  41. {{else}}
  42. <div class="ui green label issue-state-label">{{svg "octicon-issue-opened"}} {{ctx.Locale.Tr "repo.issues.open_title"}}</div>
  43. {{end}}
  44. <div class="gt-ml-3">
  45. {{if .Issue.IsPull}}
  46. {{$headHref := .HeadTarget}}
  47. {{if .HeadBranchLink}}
  48. {{$headHref = HTMLFormat `<a href="%s">%s</a>` .HeadBranchLink $headHref}}
  49. {{end}}
  50. {{$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)}}
  51. {{$baseHref := .BaseTarget}}
  52. {{if .BaseBranchLink}}
  53. {{$baseHref = HTMLFormat `<a href="%s">%s</a>` .BaseBranchLink $baseHref}}
  54. {{end}}
  55. {{if .Issue.PullRequest.HasMerged}}
  56. {{$mergedStr:= TimeSinceUnix .Issue.PullRequest.MergedUnix ctx.Locale}}
  57. {{if .Issue.OriginalAuthor}}
  58. {{.Issue.OriginalAuthor}}
  59. <span class="pull-desc">{{ctx.Locale.Tr "repo.pulls.merged_title_desc" .NumCommits $headHref $baseHref $mergedStr}}</span>
  60. {{else}}
  61. <a {{if gt .Issue.PullRequest.Merger.ID 0}}href="{{.Issue.PullRequest.Merger.HomeLink}}"{{end}}>{{.Issue.PullRequest.Merger.GetDisplayName}}</a>
  62. <span class="pull-desc">{{ctx.Locale.Tr "repo.pulls.merged_title_desc" .NumCommits $headHref $baseHref $mergedStr}}</span>
  63. {{end}}
  64. {{else}}
  65. {{if .Issue.OriginalAuthor}}
  66. <span id="pull-desc" class="pull-desc">{{.Issue.OriginalAuthor}} {{ctx.Locale.Tr "repo.pulls.title_desc" .NumCommits $headHref $baseHref}}</span>
  67. {{else}}
  68. <span id="pull-desc" class="pull-desc">
  69. <a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.GetDisplayName}}</a>
  70. {{ctx.Locale.Tr "repo.pulls.title_desc" .NumCommits $headHref $baseHref}}
  71. </span>
  72. {{end}}
  73. <span id="pull-desc-edit" class="gt-hidden flex-text-block">
  74. <div class="ui floating filter dropdown">
  75. <div class="ui basic small button gt-mr-0">
  76. <span class="text">{{ctx.Locale.Tr "repo.pulls.compare_compare"}}: {{$.HeadTarget}}</span>
  77. </div>
  78. </div>
  79. {{svg "octicon-arrow-right"}}
  80. <div class="ui floating filter dropdown" data-no-results="{{ctx.Locale.Tr "no_results_found"}}">
  81. <div class="ui basic small button">
  82. <span class="text" id="pull-target-branch" data-basename="{{$.BaseName}}" data-branch="{{$.BaseBranch}}">{{ctx.Locale.Tr "repo.pulls.compare_base"}}: {{$.BaseName}}:{{$.BaseBranch}}</span>
  83. {{svg "octicon-triangle-down" 14 "dropdown icon"}}
  84. </div>
  85. <div class="menu">
  86. <div class="ui icon search input">
  87. <i class="icon">{{svg "octicon-filter" 16}}</i>
  88. <input name="search" placeholder="{{ctx.Locale.Tr "repo.pulls.filter_branch"}}...">
  89. </div>
  90. <div class="scrolling menu" id="branch-select">
  91. {{range .Branches}}
  92. {{$sameBase := ne $.BaseName $.HeadUserName}}
  93. {{$differentBranch := ne . $.HeadBranch}}
  94. {{if or $sameBase $differentBranch}}
  95. <div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-branch="{{.}}">{{$.BaseName}}{{if $.HeadRepo}}/{{$.HeadRepo}}{{end}}:{{.}}</div>
  96. {{end}}
  97. {{end}}
  98. </div>
  99. </div>
  100. </div>
  101. </span>
  102. {{end}}
  103. {{else}}
  104. {{$createdStr:= TimeSinceUnix .Issue.CreatedUnix ctx.Locale}}
  105. <span class="time-desc">
  106. {{if .Issue.OriginalAuthor}}
  107. {{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.OriginalAuthor}}
  108. {{else if gt .Issue.Poster.ID 0}}
  109. {{ctx.Locale.Tr "repo.issues.opened_by" $createdStr .Issue.Poster.HomeLink .Issue.Poster.GetDisplayName}}
  110. {{else}}
  111. {{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.Poster.GetDisplayName}}
  112. {{end}}
  113. ·
  114. {{ctx.Locale.TrN .Issue.NumComments "repo.issues.num_comments_1" "repo.issues.num_comments" .Issue.NumComments}}
  115. </span>
  116. {{end}}
  117. </div>
  118. </div>
  119. </div>