feat: add Jira ticket creation modal

Release notes: create Jira tickets from the header, targeting the project and epic found in JQL, with title, dates, and assignee.
This commit is contained in:
2026-09-28 15:57:41 +02:00
parent d0d45de518
commit 5ffd56b020
5 changed files with 254 additions and 1 deletions
+39
View File
@@ -28,6 +28,9 @@
</div>
<div class="header-actions">
<div class="badge-api"><i class="fa-solid fa-server"></i>API : localhost:3000</div>
<button class="btn btn-primary btn-sm" onclick="openCreateIssueModal()" title="Create a Jira ticket in the project or epic from the JQL">
<i class="fa-solid fa-plus"></i> New ticket
</button>
<button class="theme-toggle-btn" id="themeToggleBtn" onclick="toggleTheme()" aria-label="Toggle theme" title="Switch between light and dark mode">
<i class="fa-solid fa-sun" id="themeIcon"></i>
<span id="themeLabel">Light mode</span>
@@ -174,6 +177,42 @@
</div>
</div>
<div class="modal-overlay" id="createIssueModal">
<div class="modal-box" role="dialog" aria-modal="true" aria-labelledby="createIssueTitle">
<div class="modal-header">
<div class="modal-title" id="createIssueTitle"><i class="fa-solid fa-square-plus"></i> New Jira Ticket</div>
<button class="modal-close" onclick="closeCreateIssueModal()" aria-label="Close"><i class="fa-solid fa-xmark"></i></button>
</div>
<div class="modal-body">
<div class="modal-target" id="createIssueTarget"></div>
<div class="form-group">
<label for="createIssueSummary">Title</label>
<input type="text" id="createIssueSummary" maxlength="255" autocomplete="off">
</div>
<div class="modal-form-grid">
<div class="form-group">
<label for="createIssueDueDate">Due Date</label>
<input type="date" id="createIssueDueDate" class="date-input modal-date-input">
</div>
<div class="form-group">
<label for="createIssueGoLiveDate" id="createIssueGoLiveLabel">Go Live Date</label>
<input type="date" id="createIssueGoLiveDate" class="date-input modal-date-input">
</div>
</div>
<div class="form-group">
<label for="createIssueAssignee">Assignee</label>
<input type="text" id="createIssueAssignee" autocomplete="off" placeholder="Jira username">
</div>
</div>
<div class="modal-footer">
<button class="btn btn-secondary" onclick="closeCreateIssueModal()">Cancel</button>
<button class="btn btn-primary" id="createIssueSaveBtn" onclick="createIssue()">
<i class="fa-solid fa-plus"></i> Create
</button>
</div>
</div>
</div>
<script src="/js/script.js"></script>
</body>