Skip to content

refactor(fe): 본문 스크롤 컨테이너를 ScrollBody로 승격#121

Merged
seongbin9786 merged 1 commit into
mainfrom
refactor/fe-scroll-body
Jul 19, 2026
Merged

refactor(fe): 본문 스크롤 컨테이너를 ScrollBody로 승격#121
seongbin9786 merged 1 commit into
mainfrom
refactor/fe-scroll-body

Conversation

@seongbin9786

Copy link
Copy Markdown
Contributor

여러 화면에 그대로 복붙되던 본문 스크롤 컨테이너 클래스 묶음을 ScrollBody 컴포넌트로 승격했습니다.

이 묶음에는 iOS 관성 스크롤(-webkit-overflow-scrolling)과 스크롤바 자리 예약(scrollbar-gutter)이라는 암묵지가 담겨 있는데, 여러 곳에 흩어져 있다 보니 일부 화면에서는 이 묶음의 일부가 빠져 있었습니다. 스크롤바가 나타날 때 본문 폭이 밀리는 화면이 생기는 이유였습니다.

변경 사항

  • src/components/ui/scroll-body.tsx 추가. 고정 클래스 묶음을 한 곳에 담고, pad 프로퍼티(tabbar = pb-24, screen = pb-8, none = 여백 없음)로 하단 여백만 화면별로 고릅니다. 화면별 간격(space-y-*)이나 좌우 여백(px-5)은 컴포넌트에 굳히지 않고 className으로 넘깁니다.
  • 클래스 묶음이 byte 단위로 같던 3개 화면(사람 탭, 설정 탭, 사람 프로필)과 여백만 다르던 프로필 수정 화면을 ScrollBody로 이관했습니다.
  • 고정 헤더 + 내부 스크롤을 담당하던 TimelineScrollShell도 내부적으로 ScrollBody를 렌더하도록 바꿨습니다. 헤더 슬롯과 scrollRef 전달, 바깥 동작은 그대로입니다.

누락 화면 보정

아래 3개 화면은 기존에 묶음의 일부가 빠져 있어 이관하면서 함께 채웠습니다.

  • 홈 설정, 태그 설정: scrollbar-gutter 자리 예약과 iOS 관성 스크롤이 없었는데 이제 함께 적용됩니다.
  • 몽글 상세: iOS 관성 스크롤은 있었지만 scrollbar-gutter 자리 예약과 min-w-0이 빠져 있었는데 함께 채워졌습니다.

시각적으로는 이 3개 화면에서 스크롤바가 나타날 때 본문이 밀리지 않는 차이만 생기며, 나머지 화면은 동작이 동일합니다.

Docs

src/components/ui/scroll-body.stories.tsxpad 변형별 스토리를 추가했습니다. 각 스토리는 높이가 정해진 세로 flex 컨테이너 안에서 긴 본문으로 스크롤이 드러나게 구성했습니다.

Story 시나리오
Tabbar pad="tabbar". 탭바가 겹치는 탭 화면. 하단 pb-24로 마지막 항목이 탭바에 가리지 않습니다.
Screen pad="screen". 일반 전체 화면. 하단 pb-8 여백만 둡니다.
None pad="none". 하단 여백 없이 콘텐츠 끝까지. 하단에 별도 고정 바가 붙는 화면용입니다.

@vercel

vercel Bot commented Jul 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mongle Ready Ready Preview, Comment Jul 19, 2026 8:16am

여러 화면에 복붙되던 본문 스크롤 클래스 묶음을 ScrollBody 컴포넌트로 모았다.
iOS 관성 스크롤과 스크롤바 자리 예약이라는 암묵지를 한 곳에 담고, pad
프로퍼티로 하단 여백만 화면별로 고른다.

홈 설정, 태그 설정, 몽글 상세 화면은 기존에 이 묶음의 일부가 빠져 있어
스크롤바가 나타날 때 본문 폭이 밀렸는데, ScrollBody로 옮기면서 스크롤바
자리 예약과 iOS 관성 스크롤을 함께 얻는다.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@seongbin9786
seongbin9786 force-pushed the refactor/fe-scroll-body branch from 9c0f095 to 0311d86 Compare July 19, 2026 08:15
@seongbin9786
seongbin9786 marked this pull request as ready for review July 19, 2026 08:18
@seongbin9786
seongbin9786 merged commit adc9da6 into main Jul 19, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant