(content, role)
| 175 | } |
| 176 | |
| 177 | function createFullContentHTML(content, role) { |
| 178 | if (role === "assistant" && content.includes("```")) { |
| 179 | // Special handling for code blocks |
| 180 | const parts = content.split("```"); |
| 181 | let html = '<div class="message-content-full">'; |
| 182 | parts.forEach((part, i) => { |
| 183 | if (i % 2 === 0) { |
| 184 | html += `<div class="message-text"><pre>${escapeHtml( |
| 185 | part, |
| 186 | )}</pre></div>`; |
| 187 | } else { |
| 188 | html += `<div class="code-block"><pre><code>${escapeHtml( |
| 189 | part, |
| 190 | )}</code></pre></div>`; |
| 191 | } |
| 192 | }); |
| 193 | html += "</div>"; |
| 194 | return html; |
| 195 | } else { |
| 196 | return `<div class="message-content-full"><div class="message-text"><pre>${escapeHtml( |
| 197 | content, |
| 198 | )}</pre></div></div>`; |
| 199 | } |
| 200 | } |
| 201 | |
| 202 | function createPreviewContentHTML(content, lines, role) { |
| 203 | const preview = lines.slice(0, 5).join("\n"); |
no test coverage detected