2023-08-12 12:30:28 +02:00
{{ $ canWriteProject : = and .CanWriteProjects ( or ( not .Repository ) ( not .Repository .IsArchived ) ) }}
2024-04-23 06:17:51 +02:00
<div class="ui container tw-max-w-full">
<div class="tw-flex tw-justify-between tw-items-center tw-mb-4 tw-gap-3">
<h2 class="tw-mb-0 tw-flex-1 tw-break-anywhere"> {{ .Project .Title }} </h2>
2023-11-27 18:43:52 +01:00
{{ if $ canWriteProject }}
<div class="ui compact mini menu">
<a class="item" href=" {{ .Link }} /edit?redirect=project">
{{ svg "octicon-pencil" }}
{{ ctx .Locale .Tr "repo.issues.label_edit" }}
</a>
{{ if .Project .IsClosed }}
<button class="item btn link-action" data-url=" {{ .Link }} /open">
{{ svg "octicon-check" }}
{{ ctx .Locale .Tr "repo.projects.open" }}
</button>
{{ else }}
<button class="item btn link-action" data-url=" {{ .Link }} /close">
{{ svg "octicon-skip" }}
{{ ctx .Locale .Tr "repo.projects.close" }}
</button>
{{ end }}
<button class="item btn delete-button" data-url=" {{ .Link }} /delete" data-id=" {{ .Project .ID }} ">
{{ svg "octicon-trash" }}
{{ ctx .Locale .Tr "repo.issues.label_delete" }}
2023-08-12 12:30:28 +02:00
</button>
2023-11-27 18:43:52 +01:00
<button class="item btn show-modal" data-modal="#new-project-column-item">
{{ svg "octicon-plus" }}
{{ ctx .Locale .Tr "new_project_column" }}
2023-08-12 12:30:28 +02:00
</button>
2023-01-20 19:42:33 +08:00
</div>
2023-11-27 18:43:52 +01:00
<div class="ui small modal new-project-column-modal" id="new-project-column-item">
<div class="header">
{{ ctx .Locale .Tr "repo.projects.column.new" }}
</div>
<div class="content">
<form class="ui form">
<div class="required field">
<label for="new_project_column"> {{ ctx .Locale .Tr "repo.projects.column.new_title" }} </label>
<input class="new-project-column" id="new_project_column" name="title" required>
</div>
2023-01-20 19:42:33 +08:00
2023-11-27 18:43:52 +01:00
<div class="field color-field">
2024-03-15 15:12:08 +02:00
<label for="new_project_column_color_picker"> {{ ctx .Locale .Tr "repo.projects.column.color" }} </label>
2024-03-29 04:00:07 +01:00
<div class="js-color-picker-input column">
<input maxlength="7" placeholder="#c320f6" id="new_project_column_color_picker" name="color">
2023-11-27 18:43:52 +01:00
{{ template "repo/issue/label_precolors" }}
</div>
2023-07-08 02:06:49 +08:00
</div>
2023-01-20 19:42:33 +08:00
2023-11-27 18:43:52 +01:00
<div class="text right actions">
<button class="ui cancel button"> {{ ctx .Locale .Tr "settings.cancel" }} </button>
<button data-url=" {{ $ .Link }} " class="ui primary button" id="new_project_column_submit"> {{ ctx .Locale .Tr "repo.projects.column.new_submit" }} </button>
</div>
</form>
</div>
2023-01-20 19:42:33 +08:00
</div>
2023-11-27 18:43:52 +01:00
{{ end }}
</div>
2023-07-07 23:27:12 +08:00
2024-03-01 15:11:51 +08:00
<div class="content"> {{ $ .Project .RenderedContent }} </div>
2023-08-12 12:30:28 +02:00
2023-11-27 18:43:52 +01:00
<div class="divider"></div>
</div>
2023-01-20 19:42:33 +08:00
2023-07-08 02:06:49 +08:00
<div id="project-board">
2024-05-08 21:44:57 +08:00
<div class="board {{ if .CanWriteProjects }} sortable {{ end }} " {{ if .CanWriteProjects }} data-url=" {{ $ .Link }} /move" {{ end }} >
2023-08-12 12:30:28 +02:00
{{ range .Columns }}
2024-04-07 18:19:25 +02:00
<div class="ui segment project-column" {{ if .Color }} style="background: {{ .Color }} !important; color: {{ ContrastColor .Color }} !important" {{ end }} data-id=" {{ .ID }} " data-sorting=" {{ .Sorting }} " data-url=" {{ $ .Link }} / {{ .ID }} ">
2024-03-28 00:20:38 +01:00
<div class="project-column-header {{ if $ canWriteProject }} tw-cursor-grab {{ end }} ">
2024-05-20 13:21:01 +08:00
<div class="ui circular label project-column-issue-count">
{{ .NumIssues ctx }}
2023-08-12 12:30:28 +02:00
</div>
2024-05-20 13:21:01 +08:00
<div class="project-column-title-label gt-ellipsis"> {{ .Title }} </div>
2024-03-27 21:54:32 +01:00
{{ if $ canWriteProject }}
2024-05-20 13:21:01 +08:00
<div class="ui dropdown tw-p-1">
{{ svg "octicon-kebab-horizontal" }}
<div class="menu">
2023-08-12 12:30:28 +02:00
<a class="item show-modal button" data-modal="#edit-project-column-modal- {{ .ID }} ">
{{ svg "octicon-pencil" }}
{{ ctx .Locale .Tr "repo.projects.column.edit" }}
2023-01-20 19:42:33 +08:00
</a>
2023-08-12 12:30:28 +02:00
{{ if not .Default }}
<a class="item show-modal button default-project-column-show"
2024-03-27 21:54:32 +01:00
data-modal="#default-project-column-modal- {{ .ID }} "
data-modal-default-project-column-header=" {{ ctx .Locale .Tr "repo.projects.column.set_default" }} "
data-modal-default-project-column-content=" {{ ctx .Locale .Tr "repo.projects.column.set_default_desc" }} "
data-url=" {{ $ .Link }} / {{ .ID }} /default">
2023-08-12 12:30:28 +02:00
{{ svg "octicon-pin" }}
{{ ctx .Locale .Tr "repo.projects.column.set_default" }}
</a>
2024-03-27 21:54:32 +01:00
<a class="item show-modal button show-delete-project-column-modal"
data-modal="#delete-project-column-modal- {{ .ID }} "
data-url=" {{ $ .Link }} / {{ .ID }} ">
{{ svg "octicon-trash" }}
{{ ctx .Locale .Tr "repo.projects.column.delete" }}
2023-08-12 12:30:28 +02:00
</a>
{{ end }}
2023-01-20 19:42:33 +08:00
2023-08-12 12:30:28 +02:00
<div class="ui small modal edit-project-column-modal" id="edit-project-column-modal- {{ .ID }} ">
<div class="header">
{{ ctx .Locale .Tr "repo.projects.column.edit" }}
</div>
<div class="content">
<form class="ui form">
<div class="required field">
<label for="new_project_column_title"> {{ ctx .Locale .Tr "repo.projects.column.edit_title" }} </label>
<input class="project-column-title-input" id="new_project_column_title" name="title" value=" {{ .Title }} " required>
</div>
2023-01-20 19:42:33 +08:00
2023-08-12 12:30:28 +02:00
<div class="field color-field">
<label for="new_project_column_color"> {{ ctx .Locale .Tr "repo.projects.column.color" }} </label>
2024-03-29 04:00:07 +01:00
<div class="js-color-picker-input column">
<input maxlength="7" placeholder="#c320f6" id="new_project_column_color" name="color" value=" {{ .Color }} ">
2023-08-28 22:14:51 +08:00
{{ template "repo/issue/label_precolors" }}
2023-01-20 19:42:33 +08:00
</div>
</div>
2023-08-12 12:30:28 +02:00
<div class="text right actions">
<button class="ui cancel button"> {{ ctx .Locale .Tr "settings.cancel" }} </button>
<button data-url=" {{ $ .Link }} / {{ .ID }} " class="ui primary button edit-project-column-button"> {{ ctx .Locale .Tr "repo.projects.column.edit" }} </button>
</div>
</form>
</div>
2023-01-20 19:42:33 +08:00
</div>
2023-08-12 12:30:28 +02:00
<div class="ui g-modal-confirm modal default-project-column-modal" id="default-project-column-modal- {{ .ID }} ">
<div class="header">
<span id="default-project-column-header"></span>
</div>
<div class="content">
<label id="default-project-column-content"></label>
</div>
2023-09-24 22:31:58 +02:00
{{ template "base/modal_actions_confirm" ( dict "ModalButtonTypes" "confirm" ) }}
2023-01-20 19:42:33 +08:00
</div>
2023-08-12 12:30:28 +02:00
<div class="ui g-modal-confirm modal" id="delete-project-column-modal- {{ .ID }} ">
<div class="header">
{{ ctx .Locale .Tr "repo.projects.column.delete" }}
</div>
<div class="content">
<label>
{{ ctx .Locale .Tr "repo.projects.column.deletion_desc" }}
</label>
</div>
2023-09-24 22:31:58 +02:00
{{ template "base/modal_actions_confirm" ( dict "ModalButtonTypes" "confirm" ) }}
2023-07-08 02:06:49 +08:00
</div>
2023-01-20 19:42:33 +08:00
</div>
</div>
2023-07-08 02:06:49 +08:00
{{ end }}
2023-08-12 12:30:28 +02:00
</div>
2024-04-07 18:19:25 +02:00
<div class="divider" {{ if .Color }} style="color: {{ ContrastColor .Color }} !important" {{ end }} ></div>
2024-03-28 00:20:38 +01:00
<div class="ui cards" data-url=" {{ $ .Link }} / {{ .ID }} " data-project=" {{ $ .Project .ID }} " data-board=" {{ .ID }} " id="board_ {{ .ID }} ">
2023-08-12 12:30:28 +02:00
{{ range ( in dex $ .IssuesMap .ID ) }}
2024-03-04 04:33:20 +01:00
<div class="issue-card gt-word-break {{ if $ canWriteProject }} tw-cursor-grab {{ end }} " data-issue=" {{ .ID }} ">
2023-08-12 12:30:28 +02:00
{{ template "repo/issue/card" ( dict "Issue" . "Page" $ ) }}
2023-01-20 19:42:33 +08:00
</div>
{{ end }}
</div>
</div>
2023-07-08 02:06:49 +08:00
{{ end }}
2023-01-20 19:42:33 +08:00
</div>
2023-07-08 02:06:49 +08:00
</div>
2023-03-12 22:36:47 +09:00
{{ if .CanWriteProjects }}
2023-04-24 19:08:59 +08:00
<div class="ui g-modal-confirm delete modal">
2023-04-23 17:24:19 +08:00
<div class="header">
2023-01-20 19:42:33 +08:00
{{ svg "octicon-trash" }}
2023-08-12 12:30:28 +02:00
{{ ctx .Locale .Tr "repo.projects.deletion" }}
2023-01-20 19:42:33 +08:00
</div>
<div class="content">
2023-08-12 12:30:28 +02:00
<p> {{ ctx .Locale .Tr "repo.projects.deletion_desc" }} </p>
2023-01-20 19:42:33 +08:00
</div>
2023-04-23 17:24:19 +08:00
{{ template "base/modal_actions_confirm" . }}
2023-01-20 19:42:33 +08:00
</div>
{{ end }}