v2.4.1 — Portrait im Chat anzeigen + Bearbeiten-Button

- Portrait-Bild wird nach Generierung im Chat als Nachricht angezeigt
  - Bild mit 'Neues Portrait generiert' Beschriftung
  - Avatar im Header wird gleichzeitig aktualisiert
- ✏️ Bearbeiten Button im Chat-Header (Link zu /edit/)
This commit is contained in:
arch_agent
2026-07-24 22:09:42 +02:00
parent ea1b231fea
commit df965bc10a
+18 -1
View File
@@ -70,6 +70,7 @@
<div class="header-actions"> <div class="header-actions">
<span class="session-info" id="sessionInfo" title="Session-ID">Session: ...</span> <span class="session-info" id="sessionInfo" title="Session-ID">Session: ...</span>
<span class="session-info" id="passcodeInfo" title="Passcode für andere Geräte" style="border-color: var(--accent); color: var(--accent);">Code: ...</span> <span class="session-info" id="passcodeInfo" title="Passcode für andere Geräte" style="border-color: var(--accent); color: var(--accent);">Code: ...</span>
<a href="/edit/{{ character_name }}" style="text-decoration: none;" title="Charakter bearbeiten"><button class="btn" type="button">✏️ Bearbeiten</button></a>
<button class="btn" id="portraitBtn" onclick="generatePortrait()">🖼️ Portrait</button> <button class="btn" id="portraitBtn" onclick="generatePortrait()">🖼️ Portrait</button>
<button class="btn" onclick="toggleMemory()">🧠 Gedächtnis</button> <button class="btn" onclick="toggleMemory()">🧠 Gedächtnis</button>
<button class="btn btn-danger" onclick="clearMemory()">🗑️ Vergessen</button> <button class="btn btn-danger" onclick="clearMemory()">🗑️ Vergessen</button>
@@ -332,8 +333,24 @@
if (statusData.status === 'done' && statusData.image) { if (statusData.status === 'done' && statusData.image) {
clearInterval(pollInterval); clearInterval(pollInterval);
const imgUrl = `${statusData.image}?t=${Date.now()}`;
// Update avatar in header
const avatarEl = document.querySelector('.avatar'); const avatarEl = document.querySelector('.avatar');
avatarEl.innerHTML = `<img src="${statusData.image}?t=${Date.now()}" style="width: 100%; height: 100%; border-radius: 50%; object-fit: cover;">`; avatarEl.innerHTML = `<img src="${imgUrl}" style="width: 100%; height: 100%; border-radius: 50%; object-fit: cover;">`;
// Also show the portrait in the chat as a message
const portraitMsg = document.createElement('div');
portraitMsg.className = 'msg msg-bot';
portraitMsg.style.padding = '0';
portraitMsg.style.overflow = 'hidden';
portraitMsg.innerHTML = `
<img src="${imgUrl}" style="width: 100%; max-width: 300px; border-radius: 16px 16px 16px 4px; display: block;">
<div style="padding: 8px 12px; font-size: 0.8rem; color: var(--muted);">🖼️ Neues Portrait generiert</div>
`;
chat.appendChild(portraitMsg);
chat.scrollTop = chat.scrollHeight;
btn.textContent = '✅ Fertig!'; btn.textContent = '✅ Fertig!';
setTimeout(() => { btn.textContent = oldText; btn.disabled = false; }, 2000); setTimeout(() => { btn.textContent = oldText; btn.disabled = false; }, 2000);
} else if (statusData.status === 'error') { } else if (statusData.status === 'error') {