Review-Nachrichten: konsistentes Styling in History, Chat und Shared-Links

- renderMarkdown: [Review: Agent], [Review-Feedback ...], [APPROVED] Tags parsen
  → styled HTML-Header bzw. ausgeblendet (zentral für alle Views)
- history.js: Review-Messages als .review-bubble rendern statt .assistant/.user
  Review-Messages vom Merging ausgenommen
- shared-page.js: Review-Messages erkennen → .review-bubble Klasse
  Merge-Logik schützt Review-Messages vor Zusammenführung
- addReviewBubbleStatic(): Neue Funktion für History-Rendering mit allen
  Buttons (Reply, Delete, Mark, Share)
- chat.css: .review-inline-header, .review-inline-feedback Styles
This commit is contained in:
Meleki committed 2026-03-06 17:31:30 +01:00
1 parent 5fe3f8ac87
commit 6369f7f09c
4 files changed
+94 -14

No files matched your search

+14 -5
View File
@@ -25,12 +25,18 @@ registerPage('shared', {
messages = _mergeConsecutiveTexts(messages);
for (const msg of messages) {
const c = msg.content || '';
const isReview = c.startsWith('[Review:') || c.startsWith('[Review-Feedback');
const div = document.createElement('div');
div.className = 'msg ' + (msg.role === 'user' ? 'user' : 'assistant') + ' markdown';
if (msg.role === 'user') {
if (isReview) {
div.className = 'msg review-bubble markdown';
} else {
div.className = 'msg ' + (msg.role === 'user' ? 'user' : 'assistant') + ' markdown';
}
if (!isReview && msg.role === 'user') {
renderUserContent(div, msg.content);
} else {
div.innerHTML = renderMarkdown(msg.content);
div.innerHTML = renderMarkdown(c);
parseFluentEmojis(div);
wrapKreaGalleries(div);
}
@@ -56,11 +62,14 @@ registerPage('shared', {
function _mergeConsecutiveTexts(msgs) {
const result = [];
for (const msg of msgs) {
if (msg.role === 'assistant') {
const c = msg.content || '';
const isReview = c.startsWith('[Review:') || c.startsWith('[Review-Feedback');
if (msg.role === 'assistant' && !isReview) {
const prev = result[result.length - 1];
if (prev && prev.role === 'assistant'
&& !(prev.content || '').startsWith('[Review:')
&& prev.iteration === msg.iteration) {
prev.content = (prev.content || '') + ' ' + (msg.content || '');
prev.content = (prev.content || '') + ' ' + c;
if (msg.createdAt) prev.createdAt = msg.createdAt;
continue;
}