@@ -55,6 +55,8 @@ export const DiffSplitViewNormal = memo(({ diffFile }: { diffFile: DiffFile }) =
5555
5656 const ref = useRef < HTMLStyleElement > ( ) ;
5757
58+ const tempRef = useRef < SplitSide > ( ) ;
59+
5860 const splitLineLength = Math . max ( diffFile . splitLineLength , diffFile . fileLineLength ) ;
5961
6062 const { useDiffContext } = useDiffViewContext ( ) ;
@@ -105,13 +107,19 @@ export const DiffSplitViewNormal = memo(({ diffFile }: { diffFile: DiffFile }) =
105107 const state = ele . getAttribute ( "data-state" ) ;
106108 const side = ele . getAttribute ( "data-side" ) ;
107109 if ( side ) {
108- setStyle ( SplitSide [ side ] ) ;
109- removeAllSelection ( ) ;
110+ if ( tempRef . current !== SplitSide [ side ] ) {
111+ tempRef . current = SplitSide [ side ] ;
112+ setStyle ( SplitSide [ side ] ) ;
113+ removeAllSelection ( ) ;
114+ }
110115 }
111116 if ( state ) {
112117 if ( state === "extend" || state === "hunk" || state === "widget" ) {
113- setStyle ( undefined ) ;
114- removeAllSelection ( ) ;
118+ if ( tempRef . current !== undefined ) {
119+ tempRef . current = undefined ;
120+ setStyle ( undefined ) ;
121+ removeAllSelection ( ) ;
122+ }
115123 return ;
116124 } else {
117125 return ;
@@ -125,6 +133,16 @@ export const DiffSplitViewNormal = memo(({ diffFile }: { diffFile: DiffFile }) =
125133 return (
126134 < div className = "split-diff-view split-diff-view-normal flex w-full basis-[50%]" >
127135 < style data-select-style ref = { ref } />
136+ < style >
137+ { `
138+ .diff-tailwindcss-wrapper .diff-add-widget-wrapper.diff-add-widget-wrapper.diff-add-widget-wrapper {
139+ transform: translate(-50%, -50%) !important;
140+ }
141+ .diff-tailwindcss-wrapper .diff-add-widget-wrapper.diff-add-widget-wrapper.diff-add-widget-wrapper:hover {
142+ transform: translate(-50%, -50%) scale(1.1) !important;
143+ }
144+ ` }
145+ </ style >
128146 < div
129147 className = "old-diff-table-wrapper diff-table-scroll-container w-full overflow-x-auto overflow-y-hidden"
130148 ref = { ref1 }
0 commit comments