translate

This commit is contained in:
Jeremy Kirsch 2026-05-18 16:35:41 +02:00
parent e7d9c7038d
commit 9ee465dd59

View File

@ -2595,18 +2595,18 @@
}
async function approveSub(id) {
try { await api('PATCH', `/admin/submissions/${id}`, { status: 'approved' }); toast("Angenommen ✓", "success"); renderAdmin(); }
try { await api('PATCH', `/admin/submissions/${id}`, { status: 'approved' }); toast("Accepted ✓", "success"); renderAdmin(); }
catch (e) { toast(e.message, "danger"); }
}
async function rejectSub(id) {
try { await api('PATCH', `/admin/submissions/${id}`, { status: 'rejected' }); toast("Abgelehnt.", "danger"); renderAdmin(); }
try { await api('PATCH', `/admin/submissions/${id}`, { status: 'rejected' }); toast("Rejected ✕", "danger"); renderAdmin(); }
catch (e) { toast(e.message, "danger"); }
}
async function injectSub(id, ghostName) {
try { await api('PATCH', `/admin/submissions/${id}`, { status: 'approved' }); } catch { }
const g = ghosts.find(x => x.name === ghostName);
openGhostForm(g?.id || null);
setTimeout(() => toast("💡 Submission-Info anzeigen: prüfe den Tip!", "info"), 300);
setTimeout(() => toast("💡 Show submission info: check the tip!", "info"), 300);
renderAdmin();
}
@ -2614,8 +2614,8 @@
function openGhostForm(id) {
const g = id ? ghosts.find(x => x.id === id) : null;
editingId = id || null;
document.getElementById('em-title').textContent = g ? `Bearbeiten: ${g.name}` : 'Neuen Geist erstellen';
document.getElementById('em-sub').textContent = g ? `Admin · Ghost Editor · ID: ${g.id}` : 'Admin · Ghost Editor · Neu';
document.getElementById('em-title').textContent = g ? `Edit: ${g.name}` : 'New Ghost';
document.getElementById('em-sub').textContent = g ? `Admin · Ghost Editor · ID: ${g.id}` : 'Admin · Ghost Editor · New';
document.getElementById('ef-name').value = g?.name || '';
document.getElementById('ef-sanity').value = g?.sanity ?? 50;
document.getElementById('ef-hunt').value = g?.hunt || 'mid';
@ -2692,19 +2692,19 @@
const ul = document.getElementById('user-sub-list');
try {
const subs = await api('GET', '/api/submissions/mine');
if (!subs.length) { ul.innerHTML = '<div class="empty-state">📭 Du hast noch nichts eingereicht.</div>'; return; }
if (!subs.length) { ul.innerHTML = '<div class="empty-state">📭 You have not submitted anything yet.</div>'; return; }
ul.innerHTML = '';
subs.forEach(sub => {
const tl = sub.type === 'tip' ? '💡 Tip' : sub.type === 'edit' ? '✏️ Korrektur' : '🆕 Neuer Geist';
const sc = sub.status === 'approved' ? 'ssa' : sub.status === 'rejected' ? 'ssr' : 'ssp';
const sl = sub.status === 'approved' ? '✓ Angenommen' : sub.status === 'rejected' ? '✕ Abgelehnt' : '⏳ Ausstehend';
const sl = sub.status === 'approved' ? '✓ Accepted' : sub.status === 'rejected' ? '✕ Rejected' : '⏳ Waiting';
const d = document.createElement('div'); d.className = 'usi';
d.innerHTML = `<div class="usi-meta"><span style="font-family:'Cinzel',serif;font-size:13px;color:var(--accent2)">${escH(sub.ghost_name || 'Allgemein')}</span><span style="font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted2)">${tl}</span><span class="usi-st ${sc}">${sl}</span><span class="sub-time">${fmtTime(sub.created_at)}</span></div><div style="font-size:13.5px;color:var(--muted2);line-height:1.55;font-style:italic">${escH(sub.content)}</div>${sub.admin_note ? `<div style="font-size:12px;color:var(--accent2);margin-top:6px">Admin: ${escH(sub.admin_note)}</div>` : ''}`;
ul.appendChild(d);
});
const approved = subs.filter(s => s.status === 'approved').length;
const ub = document.getElementById('badge-user'); ub.textContent = approved; ub.classList.toggle('show', approved > 0);
} catch { ul.innerHTML = '<div class="empty-state">Fehler beim Laden.</div>'; }
} catch { ul.innerHTML = '<div class="empty-state">Failed to load.</div>'; }
}
/* ── EXPORT ── */