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>';
html += summary;
if (tags) html += '<div style="margin-bottom:6px;">' + tags + '</div>';
html += '<button onclick="adGeneratePresse(\''
+ ds.replace(/'/g, "\\'") + '\', \''
+ encodeURIComponent(n.url) + '\', this)" '
+ '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>';
// PM-Generieren-Button nur fuer angemeldete User — der Endpoint
// erfordert auth + verbraucht qwen-max-Credits.
if (currentUser) {
html += '<button onclick="adGeneratePresse(\''
+ ds.replace(/'/g, "\\'") + '\', \''
+ encodeURIComponent(n.url) + '\', this)" '
+ '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>';
}
list.innerHTML = html;
@ -1233,8 +1237,11 @@ window.v2ShowMatrixFieldInfo = function(field) {
};
/* ── Init ─────────────────────────────────────────────────────── */
document.addEventListener('DOMContentLoaded', function() {
initAuth();
document.addEventListener('DOMContentLoaded', async function() {
// Auth zuerst, weil loadNewsMatches() den PM-Button nur fuer
// angemeldete User rendert — sonst race und Button waere fuer
// alle weg.
await initAuth();
initMerkliste();
loadHistory();
loadNewsMatches();