authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-02-19 16:04:25-08:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-02-19 16:04:25-08:00
log632c1417ea6d499ae67dcaec2cc6342d5155028e
treeebcf215236d481a45f5719a8740d175b72077e48
parentc00354c0b11d97779ba387c046a2da367fd4c1d1
signature Signed by PGP key B5690EEEBB952194

Update apps/web/src/components/DiffPanel.tsx

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

1 files changed, 12 insertions(+), 3 deletions(-)

apps/web/src/components/DiffPanel.tsx+12-3
......@@ -259,18 +259,27 @@ export default function DiffPanel({ mode = "inline" }: DiffPanelProps) {
259259
260260 updateTurnStripScrollState();
261261 const onScroll = () => updateTurnStripScrollState();
262
263 const onWheel = (event: WheelEvent) => {
264 if (!element) return;
265 if (element.scrollWidth <= element.clientWidth + 1) return;
266 if (Math.abs(event.deltaY) <= Math.abs(event.deltaX)) return;
267 event.preventDefault();
268 element.scrollBy({ left: event.deltaY, behavior: "auto" });
269 };
270
262271 element.addEventListener("scroll", onScroll, { passive: true });
263 element.addEventListener("wheel", onTurnStripWheel, { passive: false });
272 element.addEventListener("wheel", onWheel, { passive: false });
264273
265274 const resizeObserver = new ResizeObserver(() => updateTurnStripScrollState());
266275 resizeObserver.observe(element);
267276
268277 return () => {
269278 element.removeEventListener("scroll", onScroll);
270 element.removeEventListener("wheel", onTurnStripWheel);
279 element.removeEventListener("wheel", onWheel);
271280 resizeObserver.disconnect();
272281 };
273 }, [onTurnStripWheel, updateTurnStripScrollState]);
282 }, [updateTurnStripScrollState]);
274283
275284 useEffect(() => {
276285 updateTurnStripScrollState();