Skip to content

Commit 46c9e66

Browse files
committed
Message bubble text formatting improvements.
Adjusted formatted of text to not end up with as much extra padding around the edge of the message bubble. also updated formatting logic to replace newlines with <br> tags for better readability. Except for when within a <li> or <ul> element.
1 parent ef07f9f commit 46c9e66

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

src/components/conversations-dialog.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ $icon-color: rgb(187, 187, 187);
234234
235235
.new-conversation-option {
236236
text-align: left;
237-
background-color: #0B302E;
237+
background-color: #0d3937;
238238
color: #FFFFFF;
239239
font-weight: bold;
240240
border-radius: 5px;
@@ -245,7 +245,7 @@ $icon-color: rgb(187, 187, 187);
245245
position: relative;
246246
247247
&:hover {
248-
background-color: #082625;
248+
background-color: #104745;
249249
}
250250
251251
.new-icon {
@@ -272,7 +272,7 @@ $icon-color: rgb(187, 187, 187);
272272
user-select: none;
273273
274274
&:hover {
275-
background-color: #251e1e;
275+
background-color: #114335;
276276
}
277277
278278
&.selected {
@@ -288,7 +288,6 @@ $icon-color: rgb(187, 187, 187);
288288
display: inline-block;
289289
margin-right: 10px;
290290
color: #4cae4c; // Green color for the checkmark
291-
292291
}
293292
294293
@keyframes pulse {
@@ -303,7 +302,7 @@ $icon-color: rgb(187, 187, 187);
303302
}
304303
305304
100% {
306-
background-color: #07302e;
305+
background-color: #324343;
307306
transform: scale(1);
308307
}
309308
}

src/components/message-item.vue

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,17 @@ const md = MarkdownIt({
3030
});
3131
3232
function formatMessage(content) {
33-
let renderedMessage = wrapCodeSnippets(content);
33+
let renderedMessage = md.render(content);
3434
35-
renderedMessage = md.render(content);
35+
// Replace newlines inside <ul> and <li> tags with spaces
36+
renderedMessage = renderedMessage.replace(/<(ul|li)>\s*\n/g, '<$1> ');
37+
renderedMessage = renderedMessage.replace(/\n\s*<\/(ul|li)>/g, ' </$1>');
38+
39+
// Replace newlines with <br>
40+
renderedMessage = renderedMessage.replace(/\n/g, '<br>');
41+
42+
// Remove first and last <br>
43+
renderedMessage = renderedMessage.replace(/^<br\s*\/?>|<br\s*\/?>\s*$/g, '');
3644
3745
return renderedMessage;
3846
}
@@ -42,8 +50,6 @@ function messageClass(role) {
4250
return role === 'user' ? 'user message' : 'gpt message';
4351
};
4452
45-
46-
4753
function copyText(text) {
4854
const textarea = document.createElement('textarea');
4955
textarea.value = text.content;

0 commit comments

Comments
 (0)