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:
1 parent
5fe3f8ac87
commit
6369f7f09c
4 files changed
+94
-14
No files matched your search
@@ -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;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user