Skip to content

Commit 131bccd

Browse files
committed
Refine merge review inline diff styling
1 parent c13fad9 commit 131bccd

2 files changed

Lines changed: 27 additions & 5 deletions

File tree

apps/desktop/src/features/editor/extensions/mergeViewDiff.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,24 @@ describe("mergeViewDiff", () => {
312312
destroy();
313313
});
314314

315+
it("renders inline review deletions without line-through decoration", () => {
316+
const { view, destroy } = mountMergeView({
317+
doc: "alpha changed\n",
318+
original: "alpha beta\n",
319+
});
320+
321+
const deletedText = view.dom.querySelector(
322+
"del.cm-deletedText",
323+
) as HTMLElement | null;
324+
325+
expect(deletedText).not.toBeNull();
326+
expect(
327+
window.getComputedStyle(deletedText as HTMLElement).textDecoration,
328+
).not.toContain("line-through");
329+
330+
destroy();
331+
});
332+
315333
it("renders inline overlap actions for ambiguous chunks", () => {
316334
const calls: MergeDecisionPayload[] = [];
317335
const { view, destroy } = mountMergeView({

apps/desktop/src/features/editor/extensions/mergeViewTheme.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@ export const mergeViewTheme = EditorView.baseTheme({
66
"&[data-merge-enabled='true'] .cm-changedLine, &[data-merge-enabled='true'] .cm-insertedLine":
77
{
88
backgroundColor:
9-
"color-mix(in srgb, var(--diff-add) 3%, transparent)",
9+
"color-mix(in srgb, var(--diff-add) 5%, transparent)",
1010
boxShadow:
1111
"inset 1px 0 0 0 color-mix(in srgb, var(--diff-add) 72%, transparent)",
1212
transition: "background-color 160ms ease, box-shadow 160ms ease",
1313
},
1414

1515
/* ── Inline changed lines (even fainter than whole-line inserts) ─ */
1616
"&[data-merge-enabled='true'] .cm-inlineChangedLine": {
17-
backgroundColor: "color-mix(in srgb, var(--diff-add) 2%, transparent)",
17+
backgroundColor: "color-mix(in srgb, var(--diff-add) 5%, transparent)",
1818
boxShadow:
1919
"inset 1px 0 0 0 color-mix(in srgb, var(--diff-add) 56%, transparent)",
2020
},
2121

2222
/* ── Inline changed text highlight (primary signal) ───── */
2323
"&[data-merge-enabled='true'] .cm-changedText": {
2424
background: "none",
25-
backgroundColor: "color-mix(in srgb, var(--diff-add) 18%, transparent)",
25+
backgroundColor: "color-mix(in srgb, var(--diff-add) 14%, transparent)",
2626
borderRadius: "2px",
2727
boxDecorationBreak: "clone",
2828
},
@@ -37,9 +37,13 @@ export const mergeViewTheme = EditorView.baseTheme({
3737
/* ── Inline deleted text highlight ─────────────────────── */
3838
"&[data-merge-enabled='true'] .cm-deletedText": {
3939
backgroundColor:
40-
"color-mix(in srgb, var(--diff-remove) 6%, transparent)",
40+
"color-mix(in srgb, var(--diff-remove) 14%, transparent)",
4141
borderRadius: "2px",
4242
boxDecorationBreak: "clone",
43+
textDecoration: "none",
44+
},
45+
"&[data-merge-enabled='true'] .cm-deletedLine del": {
46+
textDecoration: "none",
4347
},
4448
/* Pure deletion blocks already have their own red container treatment. */
4549
"&[data-merge-enabled='true'] .cm-pure-deletion-chunk .cm-deletedText": {
@@ -50,7 +54,7 @@ export const mergeViewTheme = EditorView.baseTheme({
5054
"&[data-merge-enabled='true'] .cm-deletedChunk": {
5155
position: "relative",
5256
backgroundColor:
53-
"color-mix(in srgb, var(--diff-remove) 7%, transparent)",
57+
"color-mix(in srgb, var(--diff-remove) 5%, transparent)",
5458
borderLeft: "1.5px solid var(--diff-remove)",
5559
padding: "6px 8px 6px 12px",
5660
margin: "1px 0",

0 commit comments

Comments
 (0)