.
This commit is contained in:
parent
d4f1228dd6
commit
55828216fd
@ -1973,7 +1973,7 @@
|
||||
</nav>
|
||||
<div class="panel active" id="vtab-cards">
|
||||
<div class="filter-row" id="ev-filter">
|
||||
<div class="filter-label-sm">Evidence Filter — einmal: gefunden · zweimal: ausgeschlossen</div>
|
||||
<div class="filter-label-sm">Evidence Filter — Single click: found · double click: excluded</div>
|
||||
</div>
|
||||
<div class="ghost-grid" id="ghost-grid"></div>
|
||||
</div>
|
||||
@ -2081,11 +2081,10 @@
|
||||
Credits & Partner</div>
|
||||
<div
|
||||
style="font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-top:5px;">
|
||||
Danksagungen · Partner · Community</div>
|
||||
Thanks · Partner · Community</div>
|
||||
</div>
|
||||
<div id="credits-admin-btn" style="display:none;">
|
||||
<button class="btn-accent" id="btn-add-credit" onclick="openCreditForm(null)">+ Eintrag
|
||||
hinzufügen</button>
|
||||
<button class="btn-accent" id="btn-add-credit" onclick="openCreditForm(null)">+ Add Entry</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="credits-partners-section">
|
||||
@ -2222,17 +2221,17 @@
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group"><label class="form-label">Sanity Note</label><input type="text" class="form-input"
|
||||
id="ef-ss" placeholder="z.B. Target's individual sanity"></div>
|
||||
id="ef-ss" placeholder="e.g. Target's individual sanity"></div>
|
||||
</div>
|
||||
<div class="form-group"><label class="form-label">Evidence (genau 3 auswählen)</label>
|
||||
<div class="form-group"><label class="form-label">Evidence (select up to 3)</label>
|
||||
<div class="ev-checks" id="ef-evs"></div>
|
||||
</div>
|
||||
<div class="form-row full">
|
||||
<div class="form-group"><label class="form-label">Kurz-Tip (Ghost Card)</label><textarea
|
||||
<div class="form-group"><label class="form-label">Short-Tip (Ghost Card)</label><textarea
|
||||
class="form-textarea" id="ef-tip" rows="2"></textarea></div>
|
||||
</div>
|
||||
<div class="form-row full">
|
||||
<div class="form-group"><label class="form-label">Beschreibung (Wiki)</label><textarea class="form-textarea"
|
||||
<div class="form-group"><label class="form-label">Description (Wiki)</label><textarea class="form-textarea"
|
||||
id="ef-desc" rows="3"></textarea></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -2690,23 +2689,23 @@
|
||||
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 haven\'t submitted anything yet.</div>'; return; }
|
||||
ul.innerHTML = '';
|
||||
subs.forEach(sub => {
|
||||
const tl = sub.type === 'tip' ? '💡 Tip' : sub.type === 'edit' ? '✏️ Korrektur' : '🆕 Neuer Geist';
|
||||
const tl = sub.type === 'tip' ? '💡 Tip' : sub.type === 'edit' ? '✏️ Correction' : '🆕 New Ghost';
|
||||
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' ? '✓ Approved' : sub.status === 'rejected' ? '✕ Rejected' : '⏳ Waiting for approval...';
|
||||
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>` : ''}`;
|
||||
d.innerHTML = `<div class="usi-meta"><span style="font-family:'Cinzel',serif;font-size:13px;color:var(--accent2)">${escH(sub.ghost_name || 'General')}</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">Error while loading.</div>'; }
|
||||
}
|
||||
|
||||
/* ── EXPORT ── */
|
||||
function exportGhosts() { const b = new Blob([JSON.stringify({ ghosts }, null, 2)], { type: 'application/json' }); const a = document.createElement('a'); a.href = URL.createObjectURL(b); a.download = 'blair-ghosts.json'; a.click(); toast("Exportiert ↓", "info"); }
|
||||
function exportGhosts() { const b = new Blob([JSON.stringify({ ghosts }, null, 2)], { type: 'application/json' }); const a = document.createElement('a'); a.href = URL.createObjectURL(b); a.download = 'blair-ghosts.json'; a.click(); toast("Exported ↓", "info"); }
|
||||
|
||||
/* ── MODAL / CONFIRM / TOAST ── */
|
||||
function openModal(id) { document.getElementById(id).classList.add('open'); document.body.style.overflow = 'hidden'; }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user