fix: PM-Generieren-Button nur fuer angemeldete User

User-Feedback: 'PM generieren sollte gar nicht angezeigt werden, wenn
ich nicht angemeldet bin.' Der Endpoint erfordert auth und verbraucht
qwen-max-Credits — der Button ist fuer Gaeste sinnlos.

Render-Logik in loadNewsMatches() gated auf currentUser. Plus
DOMContentLoaded-Init wartet jetzt async auf initAuth(), bevor
loadNewsMatches() laeuft — sonst wuerde der Button bei langsamer
auth-Antwort fuer angemeldete User auch fehlen (Race).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dotty Dotter 2026-05-07 12:57:43 +02:00
parent 2821b8566e
commit 17dd5911d0

View File

@ -1188,13 +1188,17 @@ window.v2ShowMatrixFieldInfo = function(field) {
+ n.titel + '</a>'; + n.titel + '</a>';
html += summary; html += summary;
if (tags) html += '<div style="margin-bottom:6px;">' + tags + '</div>'; if (tags) html += '<div style="margin-bottom:6px;">' + tags + '</div>';
html += '<button onclick="adGeneratePresse(\'' // PM-Generieren-Button nur fuer angemeldete User — der Endpoint
+ ds.replace(/'/g, "\\'") + '\', \'' // erfordert auth + verbraucht qwen-max-Credits.
+ encodeURIComponent(n.url) + '\', this)" ' if (currentUser) {
+ 'style="font-family:var(--font-mono);font-size:11px;padding:4px 10px;' html += '<button onclick="adGeneratePresse(\''
+ 'border:1px solid var(--ecg-teal);background:var(--ecg-card-bg);' + ds.replace(/'/g, "\\'") + '\', \''
+ 'color:var(--ecg-teal);border-radius:3px;cursor:pointer;">' + encodeURIComponent(n.url) + '\', this)" '
+ 'PM-Vorschlag generieren</button>'; + 'style="font-family:var(--font-mono);font-size:11px;padding:4px 10px;'
+ 'border:1px solid var(--ecg-teal);background:var(--ecg-card-bg);'
+ 'color:var(--ecg-teal);border-radius:3px;cursor:pointer;">'
+ 'PM-Vorschlag generieren</button>';
}
html += '</div>'; html += '</div>';
} }
list.innerHTML = html; list.innerHTML = html;
@ -1233,8 +1237,11 @@ window.v2ShowMatrixFieldInfo = function(field) {
}; };
/* ── Init ─────────────────────────────────────────────────────── */ /* ── Init ─────────────────────────────────────────────────────── */
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', async function() {
initAuth(); // Auth zuerst, weil loadNewsMatches() den PM-Button nur fuer
// angemeldete User rendert — sonst race und Button waere fuer
// alle weg.
await initAuth();
initMerkliste(); initMerkliste();
loadHistory(); loadHistory();
loadNewsMatches(); loadNewsMatches();