2020-08-17 03:07:38 +00:00
{{ template "base/head" . }}
2023-02-01 22:56:10 +00:00
<div role="main" aria-label=" {{ .Title }} " class="page-content repository projects view-project">
2020-08-17 03:07:38 +00:00
{{ template "repo/header" . }}
<div class="ui container">
2021-09-10 11:33:06 +00:00
<div class="ui two column stackable grid">
2020-08-17 03:07:38 +00:00
<div class="column">
{{ template "repo/issue/navbar" . }}
</div>
<div class="column right aligned">
2021-10-21 07:37:43 +00:00
{{ if and .CanWriteProjects ( not .Repository .IsArchived ) }}
2022-06-27 20:58:46 +00:00
<a class="ui green button show-modal item" href=" {{ $ .RepoLink }} /issues/new/choose?project= {{ $ .Project .ID }} "> {{ .locale .Tr "repo.issues.new" }} </a>
2023-02-24 23:10:50 +00:00
<a class="ui green button show-modal item" data-modal="#new-board-item"> {{ .locale .Tr "new_project_column" }} </a>
2020-08-17 03:07:38 +00:00
{{ end }}
2021-09-29 20:53:12 +00:00
<div class="ui small modal new-board-modal" id="new-board-item">
2020-08-17 03:07:38 +00:00
<div class="header">
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.new" }}
2020-08-17 03:07:38 +00:00
</div>
<div class="content">
<form class="ui form">
<div class="required field">
2023-02-24 23:10:50 +00:00
<label for="new_board"> {{ $ .locale .Tr "repo.projects.column.new_title" }} </label>
2020-08-17 03:07:38 +00:00
<input class="new-board" id="new_board" name="title" required>
</div>
2021-09-29 20:53:12 +00:00
<div class="field color-field">
2023-02-24 23:10:50 +00:00
<label for="new_board_color"> {{ $ .locale .Tr "repo.projects.column.color" }} </label>
2021-09-29 20:53:12 +00:00
<div class="color picker column">
<input class="color-picker" maxlength="7" placeholder="#c320f6" id="new_board_color_picker" name="color">
<div class="column precolors">
{{ template "repo/issue/label_precolors" }}
</div>
</div>
</div>
2020-08-17 03:07:38 +00:00
<div class="text right actions">
2023-03-14 03:34:09 +00:00
<button class="ui cancel button"> {{ $ .locale .Tr "settings.cancel" }} </button>
2023-02-24 23:10:50 +00:00
<button data-url=" {{ $ .RepoLink }} /projects/ {{ $ .Project .ID }} " class="ui primary button" id="new_board_submit"> {{ $ .locale .Tr "repo.projects.column.new_submit" }} </button>
2020-08-17 03:07:38 +00:00
</div>
</form>
</div>
</div>
</div>
</div>
<div class="ui divider"></div>
2020-11-10 03:46:19 +00:00
<div class="ui two column stackable grid">
<div class="column">
<h2 class="project-title"> {{ $ .Project .Title }} </h2>
<div class="content project-description"> {{ $ .Project .RenderedContent | Str2html }} </div>
</div>
{{ if and ( or $ .CanWriteIssues $ .CanWritePulls ) ( not $ .Repository .IsArchived ) }}
<div class="column right aligned">
<div class="ui compact right small menu">
2023-03-09 14:38:29 +00:00
<a class="item" href=" {{ $ .RepoLink }} /projects/ {{ .Project .ID }} /edit?redirect=project" data-id= {{ $ .Project .ID }} data-title= {{ $ .Project .Title }} >
2020-11-10 03:46:19 +00:00
{{ svg "octicon-pencil" }}
2023-02-13 17:59:59 +00:00
<span class="gt-mx-3"> {{ $ .locale .Tr "repo.issues.label_edit" }} </span>
2020-11-10 03:46:19 +00:00
</a>
{{ if .Project .IsClosed }}
<a class="item link-action" href data-url=" {{ $ .RepoLink }} /projects/ {{ .Project .ID }} /open">
{{ svg "octicon-check" }}
2023-02-13 17:59:59 +00:00
<span class="gt-mx-3"> {{ $ .locale .Tr "repo.projects.open" }} </span>
2020-11-10 03:46:19 +00:00
</a>
{{ else }}
<a class="item link-action" href data-url=" {{ $ .RepoLink }} /projects/ {{ .Project .ID }} /close">
{{ svg "octicon-skip" }}
2023-02-13 17:59:59 +00:00
<span class="gt-mx-3"> {{ $ .locale .Tr "repo.projects.close" }} </span>
2020-11-10 03:46:19 +00:00
</a>
{{ end }}
<a class="item delete-button" href="#" data-url=" {{ $ .RepoLink }} /projects/ {{ .Project .ID }} /delete" data-id=" {{ .Project .ID }} ">
2021-03-22 04:04:19 +00:00
{{ svg "octicon-trash" }}
2023-02-13 17:59:59 +00:00
<span class="gt-mx-3"> {{ $ .locale .Tr "repo.issues.label_delete" }} </span>
2020-11-10 03:46:19 +00:00
</a>
</div>
</div>
{{ end }}
</div>
<div class="ui divider"></div>
2020-08-17 03:07:38 +00:00
</div>
<div class="ui container fluid padded" id="project-board">
<div class="board">
2022-08-31 15:58:54 +00:00
{{ range $ board : = .Boards }}
2020-08-17 03:07:38 +00:00
2021-10-21 07:37:43 +00:00
<div class="ui segment board-column" style="background: {{ .Color }} !important;" data-id=" {{ .ID }} " data-sorting=" {{ .Sorting }} " data-url=" {{ $ .RepoLink }} /projects/ {{ $ .Project .ID }} / {{ .ID }} ">
2023-02-13 17:59:59 +00:00
<div class="board-column-header gt-df gt-ac gt-sb">
<div class="ui large label board-label gt-py-2">
2022-03-08 16:42:28 +00:00
<div class="ui small circular grey label board-card-cnt">
2022-03-29 14:16:31 +00:00
{{ .NumIssues }}
2022-03-08 16:42:28 +00:00
</div>
{{ .Title }}
</div>
2021-10-21 07:37:43 +00:00
{{ if and $ .CanWriteProjects ( not $ .Repository .IsArchived ) ( ne .ID 0 ) }}
2021-11-18 03:26:50 +00:00
<div class="ui dropdown jump item tooltip">
2023-02-13 17:59:59 +00:00
<div class="not-mobile gt-px-3" tabindex="-1">
2021-04-20 04:13:03 +00:00
{{ svg "octicon-kebab-horizontal" }}
</div>
2020-08-22 06:58:59 +00:00
<div class="menu user-menu" tabindex="-1">
<a class="item show-modal button" data-modal="#edit-project-board-modal- {{ .ID }} ">
2020-09-11 20:19:00 +00:00
{{ svg "octicon-pencil" }}
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.edit" }}
2020-08-22 06:58:59 +00:00
</a>
2021-01-15 20:29:32 +00:00
{{ if not .Default }}
<a class="item show-modal button" data-modal="#set-default-project-board-modal- {{ .ID }} ">
{{ svg "octicon-pin" }}
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.set_default" }}
2021-01-15 20:29:32 +00:00
</a>
{{ end }}
2020-08-22 06:58:59 +00:00
<a class="item show-modal button" data-modal="#delete-board-modal- {{ .ID }} ">
2021-03-22 04:04:19 +00:00
{{ svg "octicon-trash" }}
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.delete" }}
2020-08-22 06:58:59 +00:00
</a>
2020-08-17 03:07:38 +00:00
2020-08-22 06:58:59 +00:00
<div class="ui small modal edit-project-board" id="edit-project-board-modal- {{ .ID }} ">
<div class="header">
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.edit" }}
2020-08-22 06:58:59 +00:00
</div>
<div class="content">
<form class="ui form">
<div class="required field">
2023-02-24 23:10:50 +00:00
<label for="new_board_title"> {{ $ .locale .Tr "repo.projects.column.edit_title" }} </label>
2020-08-22 06:58:59 +00:00
<input class="project-board-title" id="new_board_title" name="title" value=" {{ .Title }} " required>
</div>
2020-08-17 03:07:38 +00:00
2021-09-29 20:53:12 +00:00
<div class="field color-field">
2023-02-24 23:10:50 +00:00
<label for="new_board_color"> {{ $ .locale .Tr "repo.projects.column.color" }} </label>
2021-09-29 20:53:12 +00:00
<div class="color picker column">
<input class="color-picker" maxlength="7" placeholder="#c320f6" id="new_board_color" name="color" value=" {{ .Color }} ">
<div class="column precolors">
{{ template "repo/issue/label_precolors" }}
</div>
</div>
</div>
2020-08-22 06:58:59 +00:00
<div class="text right actions">
2023-03-14 03:34:09 +00:00
<button class="ui cancel button"> {{ $ .locale .Tr "settings.cancel" }} </button>
2023-02-24 23:10:50 +00:00
<button data-url=" {{ $ .RepoLink }} /projects/ {{ $ .Project .ID }} / {{ .ID }} " class="ui primary button"> {{ $ .locale .Tr "repo.projects.column.edit" }} </button>
2020-08-22 06:58:59 +00:00
</div>
</form>
</div>
2020-08-17 03:07:38 +00:00
</div>
2021-01-15 20:29:32 +00:00
<div class="ui basic modal" id="set-default-project-board-modal- {{ .ID }} ">
<div class="ui icon header">
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.set_default" }}
2021-01-15 20:29:32 +00:00
</div>
<div class="content center">
<label>
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.set_default_desc" }}
2021-01-15 20:29:32 +00:00
</label>
</div>
<div class="text right actions">
2023-03-14 03:34:09 +00:00
<button class="ui cancel button"> {{ $ .locale .Tr "settings.cancel" }} </button>
2023-02-24 23:10:50 +00:00
<button class="ui primary button set-default-project-board" data-url=" {{ $ .RepoLink }} /projects/ {{ $ .Project .ID }} / {{ .ID }} /default"> {{ $ .locale .Tr "repo.projects.column.set_default" }} </button>
2021-01-15 20:29:32 +00:00
</div>
</div>
2020-08-22 06:58:59 +00:00
<div class="ui basic modal" id="delete-board-modal- {{ .ID }} ">
<div class="ui icon header">
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.delete" }}
2020-08-22 06:58:59 +00:00
</div>
<div class="content center">
2021-01-15 20:29:32 +00:00
<label>
2023-02-24 23:10:50 +00:00
{{ $ .locale .Tr "repo.projects.column.deletion_desc" }}
2021-01-15 20:29:32 +00:00
</label>
</div>
2023-03-14 03:34:09 +00:00
<div class="text right actions"> {{ / * TODO : Convert to base / delete_modal_actions .tmpl ? * / }}
<button class="ui cancel button"> {{ $ .locale .Tr "settings.cancel" }} </button>
2023-02-24 23:10:50 +00:00
<button class="ui red button delete-project-board" data-url=" {{ $ .RepoLink }} /projects/ {{ $ .Project .ID }} / {{ .ID }} "> {{ $ .locale .Tr "repo.projects.column.delete" }} </button>
2020-08-22 06:58:59 +00:00
</div>
2020-08-17 03:07:38 +00:00
</div>
</div>
</div>
2022-08-31 15:58:54 +00:00
{{ end }}
2020-08-17 03:07:38 +00:00
</div>
<div class="ui divider"></div>
<div class="ui cards board" data-url=" {{ $ .RepoLink }} /projects/ {{ $ .Project .ID }} / {{ .ID }} " data-project=" {{ $ .Project .ID }} " data-board=" {{ .ID }} " id="board_ {{ .ID }} ">
2022-08-31 15:58:54 +00:00
{{ range ( in dex $ .IssuesMap .ID ) }}
2020-08-17 03:07:38 +00:00
<!-- start issue card -->
<div class="card board-card" data-issue=" {{ .ID }} ">
2023-02-11 08:12:41 +00:00
{{ if eq $ .Project .CardType 1 }} {{ / * Images and Text * / }}
<div class="card-attachment-images">
{{ range ( in dex $ .issuesAttachmentMap .ID ) }}
<img src=" {{ .DownloadURL }} " alt=" {{ .Name }} " />
{{ end }}
</div>
{{ end }}
2023-02-13 17:59:59 +00:00
<div class="content gt-p-0">
2020-08-17 03:07:38 +00:00
<div class="header">
2023-02-13 17:59:59 +00:00
<span class="gt-dif gt-ac gt-vm {{ if .IsClosed }} red {{ else }} green {{ end }} ">
2021-04-11 15:00:14 +00:00
{{ if .IsPull }}
{{ if .PullRequest .HasMerged }}
{{ svg "octicon-git-merge" 1 6 "text purple" }}
{{ else }}
{{ if .IsClosed }}
{{ svg "octicon-git-pull-request" 1 6 "text red" }}
{{ else }}
{{ svg "octicon-git-pull-request" 1 6 "text green" }}
{{ end }}
{{ end }}
{{ else }}
{{ if .IsClosed }}
{{ svg "octicon-issue-closed" 1 6 "text red" }}
{{ else }}
{{ svg "octicon-issue-opened" 1 6 "text green" }}
{{ end }}
2020-08-17 03:07:38 +00:00
{{ end }}
</span>
2023-02-13 17:59:59 +00:00
<a class="project-board-title gt-vm" href=" {{ .Link }} ">
2021-04-20 04:13:03 +00:00
{{ .Title }}
</a>
</div>
2023-02-13 17:59:59 +00:00
<div class="meta gt-my-2">
2021-04-20 04:13:03 +00:00
<span class="text light grey">
# {{ .Index }}
2022-08-31 15:58:54 +00:00
{{ $ timeStr : = TimeSinceUnix .GetLastEventTimestamp $ .locale }}
{{ if .OriginalAuthor }}
2022-06-27 20:58:46 +00:00
{{ $ .locale .Tr .GetLastEventLabelFake $ timeStr ( .OriginalAuthor | Escape ) | Safe }}
2021-04-20 04:13:03 +00:00
{{ else if gt .Poster .ID 0 }}
2022-06-27 20:58:46 +00:00
{{ $ .locale .Tr .GetLastEventLabel $ timeStr ( .Poster .HomeLink | Escape ) ( .Poster .GetDisplayName | Escape ) | Safe }}
2021-04-20 04:13:03 +00:00
{{ else }}
2022-06-27 20:58:46 +00:00
{{ $ .locale .Tr .GetLastEventLabelFake $ timeStr ( .Poster .GetDisplayName | Escape ) | Safe }}
2021-04-20 04:13:03 +00:00
{{ end }}
</span>
2020-08-17 03:07:38 +00:00
</div>
2022-08-31 15:58:54 +00:00
{{ - if .MilestoneID }}
2023-02-13 17:59:59 +00:00
<div class="meta gt-my-2">
2022-08-31 15:58:54 +00:00
<a class="milestone" href=" {{ $ .RepoLink }} /milestone/ {{ .MilestoneID }} ">
2023-02-13 17:59:59 +00:00
{{ svg "octicon-milestone" 1 6 "gt-mr-2 gt-vm" }}
<span class="gt-vm"> {{ .Milestone .Name }} </span>
2020-08-17 03:07:38 +00:00
</a>
</div>
2022-08-31 15:58:54 +00:00
{{ - end }}
{{ - range in dex $ .LinkedPRs .ID }}
2023-02-13 17:59:59 +00:00
<div class="meta gt-my-2">
2022-08-31 15:58:54 +00:00
<a href=" {{ $ .RepoLink }} /pulls/ {{ .Index }} ">
2023-03-23 03:24:16 +00:00
<span class="gt-m-0 text {{ if .PullRequest .HasMerged }} purple {{ else if .IsClosed }} red {{ else }} green {{ end }} "> {{ svg "octicon-git-merge" 1 6 "gt-mr-2 gt-vm" }} </span>
2023-02-13 17:59:59 +00:00
<span class="gt-vm"> {{ .Title }} <span class="text light grey"># {{ .Index }} </span></span>
2021-01-20 19:53:48 +00:00
</a>
</div>
2022-08-31 15:58:54 +00:00
{{ - end }}
2020-08-17 03:07:38 +00:00
</div>
2022-03-08 16:42:28 +00:00
2022-08-31 15:58:54 +00:00
{{ if or .Labels .Assignees }}
2023-02-13 17:59:59 +00:00
<div class="extra content labels-list gt-p-0 gt-pt-2">
2022-08-31 15:58:54 +00:00
{{ range .Labels }}
2023-03-05 21:59:05 +00:00
<a target="_blank" href=" {{ $ .RepoLink }} /issues?labels= {{ .ID }} "> {{ RenderLabel $ .Context . }} </a>
2022-08-31 15:58:54 +00:00
{{ end }}
2022-03-08 16:42:28 +00:00
<div class="right floated">
2022-08-31 15:58:54 +00:00
{{ range .Assignees }}
2023-02-24 23:10:50 +00:00
<a class="tooltip" target="_blank" href=" {{ .HomeLink }} " data-content=" {{ $ .locale .Tr "repo.projects.column.assigned_to" }} {{ .Name }} "> {{ avatar $ .Context . 2 8 "mini gt-mr-3" }} </a>
2022-08-31 15:58:54 +00:00
{{ end }}
2021-04-20 04:13:03 +00:00
</div>
2022-03-08 16:42:28 +00:00
</div>
2022-08-31 15:58:54 +00:00
{{ end }}
2020-08-17 03:07:38 +00:00
</div>
<!-- stop issue card -->
2022-08-31 15:58:54 +00:00
{{ end }}
2020-08-17 03:07:38 +00:00
</div>
</div>
2022-08-31 15:58:54 +00:00
{{ end }}
2020-08-17 03:07:38 +00:00
</div>
</div>
</div>
2020-11-10 03:46:19 +00:00
{{ if or .CanWriteIssues .CanWritePulls }}
<div class="ui small basic delete modal">
<div class="ui icon header">
2021-03-22 04:04:19 +00:00
{{ svg "octicon-trash" }}
2022-06-27 20:58:46 +00:00
{{ .locale .Tr "repo.projects.deletion" }}
2020-11-10 03:46:19 +00:00
</div>
<div class="content">
2022-06-27 20:58:46 +00:00
<p> {{ .locale .Tr "repo.projects.deletion_desc" }} </p>
2020-11-10 03:46:19 +00:00
</div>
2023-03-14 03:34:09 +00:00
{{ template "base/delete_modal_actions" . }}
2020-11-10 03:46:19 +00:00
</div>
{{ end }}
2020-08-17 03:07:38 +00:00
{{ template "base/footer" . }}