fix(pc): 스크롤바 clickScroll을 'instant'로 — 커서 클릭점 어긋남에 둔감하게

사용자 환경에서 커서가 가리키는 지점과 실제 클릭 좌표가 수 px 어긋나
(maplestory에서도 동일 확인), 세로 8px 핸들을 조준해도 클릭이 핸들 밖
트랙에 떨어져 드래그가 간헐적으로 안 잡히던 문제. 'instant' 모드는
스크롤바 띠(14px) 어디를 눌러도 핸들이 그 위치로 즉시 점프하고 그대로
드래그가 이어져 정밀 조준이 불필요. ClickScrollPlugin은 불필요해져 제거.
헤드리스로 트랙 press→점프→연속 드래그 검증 완료.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
caadiq 2026-06-10 19:43:46 +09:00
parent 3fef42aa6c
commit 734fc59bb2
2 changed files with 4 additions and 12 deletions

View file

@ -4,19 +4,15 @@
* 헤더 고정 + 본문 스크롤 구조
*/
import { useLocation } from 'react-router-dom';
import { OverlayScrollbars, ClickScrollPlugin } from 'overlayscrollbars';
import { OverlayScrollbarsComponent } from 'overlayscrollbars-react';
import { useAuthStore } from '@/stores';
import Header from './Header';
// ( )
OverlayScrollbars.plugin(ClickScrollPlugin);
const OS_OPTIONS = {
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: true },
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: 'instant' },
};
const OS_OPTIONS_X = {
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: true },
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: 'instant' },
overflow: { y: 'hidden' },
};

View file

@ -1,20 +1,16 @@
import { useLocation } from 'react-router-dom';
import { OverlayScrollbars, ClickScrollPlugin } from 'overlayscrollbars';
import { OverlayScrollbarsComponent } from 'overlayscrollbars-react';
import Header from './Header';
import Footer from './Footer';
import '@/pc.css';
// ( )
OverlayScrollbars.plugin(ClickScrollPlugin);
//
const OS_OPTIONS = {
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: true },
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: 'instant' },
};
// :
const OS_OPTIONS_X = {
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: true },
scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600, clickScroll: 'instant' },
overflow: { y: 'hidden' },
};