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) {...@@ -259,18 +259,27 @@ export default function DiffPanel({ mode = "inline" }: DiffPanelProps) {
259259
260 updateTurnStripScrollState();260 updateTurnStripScrollState();
261 const onScroll = () => updateTurnStripScrollState();261 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
262 element.addEventListener("scroll", onScroll, { passive: true });271 element.addEventListener("scroll", onScroll, { passive: true });
263 element.addEventListener("wheel", onTurnStripWheel, { passive: false });272 element.addEventListener("wheel", onWheel, { passive: false });
264273
265 const resizeObserver = new ResizeObserver(() => updateTurnStripScrollState());274 const resizeObserver = new ResizeObserver(() => updateTurnStripScrollState());
266 resizeObserver.observe(element);275 resizeObserver.observe(element);
267276
268 return () => {277 return () => {
269 element.removeEventListener("scroll", onScroll);278 element.removeEventListener("scroll", onScroll);
270 element.removeEventListener("wheel", onTurnStripWheel);279 element.removeEventListener("wheel", onWheel);
271 resizeObserver.disconnect();280 resizeObserver.disconnect();
272 };281 };
273 }, [onTurnStripWheel, updateTurnStripScrollState]);282 }, [updateTurnStripScrollState]);
274283
275 useEffect(() => {284 useEffect(() => {
276 updateTurnStripScrollState();285 updateTurnStripScrollState();