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;