diff --git a/frontend/src/components/pc/admin/layout/Layout.jsx b/frontend/src/components/pc/admin/layout/Layout.jsx index fd64ef1..a7d91d9 100644 --- a/frontend/src/components/pc/admin/layout/Layout.jsx +++ b/frontend/src/components/pc/admin/layout/Layout.jsx @@ -11,6 +11,10 @@ import Header from './Header'; const OS_OPTIONS = { scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600 }, }; +const OS_OPTIONS_X = { + scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600 }, + overflow: { y: 'hidden' }, +}; function AdminLayout({ user, children }) { const location = useLocation(); @@ -25,23 +29,21 @@ function AdminLayout({ user, children }) { const isSchedulePage = location.pathname === '/admin/schedule'; return ( -
-
- {isSchedulePage ? ( -
-
{children}
-
- ) : ( - -
{children}
-
- )} -
+ isSchedulePage ? ( + +
+
+
{children}
+
+
+ ) : ( + +
+
+
{children}
+
+
+ ) ); } diff --git a/frontend/src/components/pc/public/layout/Layout.jsx b/frontend/src/components/pc/public/layout/Layout.jsx index d3d51fc..0b90eed 100644 --- a/frontend/src/components/pc/public/layout/Layout.jsx +++ b/frontend/src/components/pc/public/layout/Layout.jsx @@ -4,10 +4,15 @@ import Header from './Header'; import Footer from './Footer'; import '@/pc.css'; -// 페이지(main) 오버레이 스크롤바 옵션 — 화면을 밀지 않고 뷰포트 끝에 고정 +// 페이지 오버레이 스크롤바 옵션 — 화면을 밀지 않고 뷰포트 끝에 고정 const OS_OPTIONS = { scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600 }, }; +// 일정 페이지: 세로는 내부에서 처리하므로 가로 스크롤만 +const OS_OPTIONS_X = { + scrollbars: { theme: 'os-theme-fromis', autoHide: 'leave', autoHideDelay: 600 }, + overflow: { y: 'hidden' }, +}; /** * PC 레이아웃 컴포넌트 @@ -25,30 +30,29 @@ function Layout({ children }) { // 일정 페이지에서는 스크롤바도 숨김 (내부에서 자체 스크롤 처리) const isSchedulePage = location.pathname === '/schedule'; - return ( -
-
- {isSchedulePage ? ( - // 일정 페이지: 자체 내부 스크롤 (페이지 스크롤 없음) + // 헤더 + 본문을 하나의 가로 스크롤(min-w-1440) 안에 넣어, 1440 미만이면 + // 헤더까지 함께 가로 스크롤됨(줄바꿈 방지). 헤더는 sticky top-0이라 세로 스크롤 시 고정. + return isSchedulePage ? ( + // 일정 페이지: 세로는 내부에서 처리, 가로 스크롤만 + +
+
-
{children}
+
{children}
- ) : ( - // 그 외: 오버레이 스크롤바. min-width는 콘텐츠에 둬서 1440 미만이면 - // 가로 스크롤이 생기고 세로 스크롤바는 뷰포트 끝에 항상 보임. - -
-
{children}
- {!hideFooter &&
-
- )} -
+
+ + ) : ( + // 그 외: 가로+세로 오버레이 스크롤. 세로바는 뷰포트 끝에 항상 보임. + +
+
+
+
{children}
+ {!hideFooter &&
+
+
); }