44 lines
1.7 KiB
JavaScript
44 lines
1.7 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.renderTicketList = renderTicketList;
|
|
const api_js_1 = require("../../services/api.js");
|
|
const toast_js_1 = require("../../ui/toast.js");
|
|
async function renderTicketList(guildId) {
|
|
const container = document.getElementById('tickets-list');
|
|
if (!container)
|
|
return;
|
|
container.innerHTML = '<p class="muted">Lade Tickets...</p>';
|
|
try {
|
|
const data = await api_js_1.api.tickets(guildId);
|
|
const tickets = data?.tickets || [];
|
|
if (!tickets.length) {
|
|
container.innerHTML = '<div class="empty-state">Keine Tickets</div>';
|
|
return;
|
|
}
|
|
const list = document.createElement('div');
|
|
list.className = 'ticket-list';
|
|
tickets.slice(0, 5).forEach((t) => {
|
|
const item = document.createElement('div');
|
|
item.className = 'ticket-item';
|
|
item.innerHTML = `
|
|
<div class="row" style="justify-content:space-between;">
|
|
<div>
|
|
<div style="font-weight:750;font-size:15px;">${t.title || t.id}</div>
|
|
<div class="muted">${t.user || ''}</div>
|
|
</div>
|
|
<div class="ticket-status status-${t.status || 'open'}">${t.status || 'open'}</div>
|
|
</div>
|
|
<div class="muted">${t.description || ''}</div>
|
|
`;
|
|
list.appendChild(item);
|
|
});
|
|
container.innerHTML = '<h3 class="label">Aktuelle Tickets</h3>';
|
|
container.appendChild(list);
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
container.innerHTML = '<div class="empty-state">Tickets konnten nicht geladen werden.</div>';
|
|
(0, toast_js_1.showToast)('Fehler beim Laden der Tickets', true);
|
|
}
|
|
}
|