diff --git a/ui/src/utils/common.ts b/ui/src/utils/common.ts index 0644eba2..d9d3bee5 100644 --- a/ui/src/utils/common.ts +++ b/ui/src/utils/common.ts @@ -188,6 +188,23 @@ function escapeHtml(str: string) { return str.replace(/[&<>"'`]/g, (tag) => tagsToReplace[tag] || tag); } +function formatDiffPart(part: any, className: string): string { + if (part.value.replace(/\n/g, '').length <= 0) { + if (part.value.match(/\n/g)?.length > 1) { + const value = part.value.replace(/\n/, ''); + return `
${value.replace( + /\n/g, + ' ', + )}
`; + } + return `
${part.value.replace( + /\n/g, + ' ', + )}
`; + } + return `${part.value}`; +} + function diffText(newText: string, oldText?: string): string { if (!newText) { return ''; @@ -200,22 +217,10 @@ function diffText(newText: string, oldText?: string): string { const diff = Diff.diffChars(escapeHtml(oldText), escapeHtml(newText)); result = diff.map((part) => { if (part.added) { - if (part.value.replace(/\n/g, '').length <= 0) { - return `${part.value.replace( - /\n/g, - '↵\n', - )}`; - } - return `${part.value}`; + return formatDiffPart(part, 'review-text-add'); } if (part.removed) { - if (part.value.replace(/\n/g, '').length <= 0) { - return `${part.value.replace( - /\n/g, - '↵\n', - )}`; - } - return `${part.value}`; + return formatDiffPart(part, 'review-text-remove text-decoration-none'); } return part.value;