MCPcopy Create free account
hub / github.com/CodeClash-ai/CodeClash / createPreviewContentHTML

Function createPreviewContentHTML

codeclash/viewer/static/js/trajectory.js:202–237  ·  view source on GitHub ↗
(content, lines, role)

Source from the content-addressed store, hash-verified

200}
201
202function createPreviewContentHTML(content, lines, role) {
203 const preview = lines.slice(0, 5).join("\n");
204 const moreLines = lines.length - 5;
205
206 let html = `
207 <div class="message-preview-short clickable-message" title="Click to expand (${moreLines} more lines)">
208 <div class="message-text"><pre>${escapeHtml(preview)}</pre></div>
209 <div class="expand-indicator">▼ ${moreLines} more lines</div>
210 </div>
211 <div class="message-content-full" style="display: none;" title="Content expanded - click collapse button below to hide">
212 `;
213
214 if (role === "assistant" && content.includes("```")) {
215 const parts = content.split("```");
216 parts.forEach((part, i) => {
217 if (i % 2 === 0) {
218 html += `<div class="message-text"><pre>${escapeHtml(
219 part,
220 )}</pre></div>`;
221 } else {
222 html += `<div class="code-block"><pre><code>${escapeHtml(
223 part,
224 )}</code></pre></div>`;
225 }
226 });
227 } else {
228 html += `<div class="message-text"><pre>${escapeHtml(content)}</pre></div>`;
229 }
230
231 html += `
232 <div class="collapse-indicator clickable-message" title="Click to collapse">▲ Click to collapse</div>
233 </div>
234 `;
235
236 return html;
237}
238
239function createComplexContentHTML(contentParts) {
240 let html = '<div class="message-content-full">';

Callers 1

createMessageElementFunction · 0.85

Calls 1

escapeHtmlFunction · 0.70

Tested by

no test coverage detected