35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
import { api } from '../../services/api.js';
|
|
import { showToast } from '../../ui/toast.js';
|
|
export async function renderKb(guildId) {
|
|
const container = document.getElementById('tickets-kb');
|
|
if (!container)
|
|
return;
|
|
container.innerHTML = '<p class="muted">Lade Knowledge Base...</p>';
|
|
try {
|
|
const data = await api.kb(guildId);
|
|
const entries = data?.articles || data?.kb || [];
|
|
if (!entries.length) {
|
|
container.innerHTML = '<div class="empty-state">Keine KB-Eintraege.</div>';
|
|
return;
|
|
}
|
|
const list = document.createElement('div');
|
|
list.className = 'ticket-list';
|
|
entries.slice(0, 4).forEach((k) => {
|
|
const item = document.createElement('div');
|
|
item.className = 'ticket-item';
|
|
item.innerHTML = `
|
|
<div style="font-weight:750;">${k.title || 'Artikel'}</div>
|
|
<div class="muted">${k.keywords || ''}</div>
|
|
`;
|
|
list.appendChild(item);
|
|
});
|
|
container.innerHTML = '<h3 class="label">Knowledge Base</h3>';
|
|
container.appendChild(list);
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
container.innerHTML = '<div class="empty-state">KB konnte nicht geladen werden.</div>';
|
|
showToast('Fehler beim Laden der KB', true);
|
|
}
|
|
}
|