coming together
This commit is contained in:
@@ -141,15 +141,15 @@
|
||||
<i class="fa-solid fa-file-import"></i>
|
||||
<span>Import</span>
|
||||
</button>
|
||||
<button class="flex items-center gap-2 px-6 py-4 text-sm font-medium border-b-2 border-transparent hover:border-primary-300 text-neutral-600 dark:text-neutral-400 hover:text-primary-600 dark:hover:text-primary-400 hover:bg-neutral-50 dark:hover:bg-neutral-700/50 transition-all duration-200" id="backup-tab" data-tab-target="#backup" type="button" role="tab">
|
||||
<i class="fa-solid fa-shield-halved"></i>
|
||||
<span>Backup</span>
|
||||
</button>
|
||||
<button class="flex items-center gap-2 px-6 py-4 text-sm font-medium border-b-2 border-transparent hover:border-primary-300 text-neutral-600 dark:text-neutral-400 hover:text-primary-600 dark:hover:text-primary-400 hover:bg-neutral-50 dark:hover:bg-neutral-700/50 transition-all duration-200" id="issues-tab" data-tab-target="#issues" type="button" role="tab">
|
||||
<i class="fa-solid fa-bug"></i>
|
||||
<span>Issues</span>
|
||||
<span class="ml-1 px-2 py-0.5 bg-red-100 dark:bg-red-800 text-red-700 dark:text-red-400 text-xs rounded-full hidden" id="issues-badge">0</span>
|
||||
</button>
|
||||
<button class="flex items-center gap-2 px-6 py-4 text-sm font-medium border-b-2 border-transparent hover:border-primary-300 text-neutral-600 dark:text-neutral-400 hover:text-primary-600 dark:hover:text-primary-400 hover:bg-neutral-50 dark:hover:bg-neutral-700/50 transition-all duration-200" id="backup-tab" data-tab-target="#backup" type="button" role="tab">
|
||||
<i class="fa-solid fa-shield-halved"></i>
|
||||
<span>Backup</span>
|
||||
</button>
|
||||
</nav>
|
||||
|
||||
<!-- Tab Content -->
|
||||
@@ -2087,36 +2087,54 @@ async function viewIssue(issueId) {
|
||||
}[issue.status] || 'bg-neutral-200 text-neutral-700 dark:bg-neutral-700 dark:text-neutral-300');
|
||||
|
||||
// Update context info
|
||||
document.getElementById('issueCurrentPage').textContent = issue.current_page || 'Unknown';
|
||||
document.getElementById('issueBrowserInfo').textContent = issue.browser_info || 'Unknown';
|
||||
document.getElementById('issueIpAddress').textContent = issue.ip_address || 'Unknown';
|
||||
document.getElementById('issueDetailPage').textContent = issue.current_page || 'Unknown';
|
||||
document.getElementById('issueDetailBrowser').textContent = issue.browser_info || 'Unknown';
|
||||
|
||||
// Update sidebar info
|
||||
document.getElementById('issueDetailReporter').textContent = issue.contact_name;
|
||||
document.getElementById('issueDetailEmail').textContent = issue.contact_email;
|
||||
document.getElementById('issueDetailCreated').textContent = new Date(issue.created_at).toLocaleString();
|
||||
document.getElementById('issueDetailUpdated').textContent = issue.updated_at ? new Date(issue.updated_at).toLocaleString() : 'Never';
|
||||
// Update sidebar info (only if elements exist)
|
||||
const reporterEl = document.getElementById('issueDetailReporter');
|
||||
if (reporterEl) reporterEl.textContent = issue.contact_name;
|
||||
|
||||
const emailEl = document.getElementById('issueDetailEmail');
|
||||
if (emailEl) emailEl.textContent = issue.contact_email;
|
||||
|
||||
const createdEl = document.getElementById('issueDetailCreated');
|
||||
if (createdEl) createdEl.textContent = new Date(issue.created_at).toLocaleString();
|
||||
|
||||
const updatedEl = document.getElementById('issueDetailUpdated');
|
||||
if (updatedEl) updatedEl.textContent = issue.updated_at ? new Date(issue.updated_at).toLocaleString() : 'Never';
|
||||
|
||||
if (issue.resolved_at) {
|
||||
document.getElementById('issueDetailResolved').textContent = new Date(issue.resolved_at).toLocaleString();
|
||||
document.getElementById('issueResolvedInfo').style.display = 'block';
|
||||
const resolvedEl = document.getElementById('issueDetailResolved');
|
||||
if (resolvedEl) resolvedEl.textContent = new Date(issue.resolved_at).toLocaleString();
|
||||
const resolvedInfoEl = document.getElementById('issueResolvedInfo');
|
||||
if (resolvedInfoEl) resolvedInfoEl.style.display = 'block';
|
||||
} else {
|
||||
document.getElementById('issueResolvedInfo').style.display = 'none';
|
||||
const resolvedInfoEl = document.getElementById('issueResolvedInfo');
|
||||
if (resolvedInfoEl) resolvedInfoEl.style.display = 'none';
|
||||
}
|
||||
|
||||
// Update form fields for editing
|
||||
document.getElementById('updateStatus').value = issue.status;
|
||||
document.getElementById('updatePriority').value = issue.priority;
|
||||
document.getElementById('updateAssignee').value = issue.assigned_to || '';
|
||||
// Update form fields for editing (only if elements exist)
|
||||
const statusEl = document.getElementById('updateStatus');
|
||||
if (statusEl) statusEl.value = issue.status;
|
||||
|
||||
const priorityEl = document.getElementById('updatePriority');
|
||||
if (priorityEl) priorityEl.value = issue.priority;
|
||||
|
||||
const assigneeEl = document.getElementById('updateAssignee');
|
||||
if (assigneeEl) assigneeEl.value = issue.assigned_to || '';
|
||||
|
||||
// Store current issue ID for updates
|
||||
window.currentIssueId = issue.id;
|
||||
|
||||
// Load users for assignment dropdown
|
||||
await loadUsersForAssignment();
|
||||
// Load users for assignment dropdown (if function exists)
|
||||
if (typeof loadUsersForAssignment === 'function') {
|
||||
await loadUsersForAssignment();
|
||||
}
|
||||
|
||||
// Load and display responses
|
||||
displayIssueResponses(issue.responses);
|
||||
// Load and display responses (if function exists)
|
||||
if (typeof displayIssueResponses === 'function') {
|
||||
displayIssueResponses(issue.responses);
|
||||
}
|
||||
|
||||
// Show modal
|
||||
openModal('issueDetailModal');
|
||||
|
||||
Reference in New Issue
Block a user