Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ feat: PostCard 로드될 때 Skeleton UI 적용 #281

Merged
merged 3 commits into from
Dec 5, 2024

Conversation

junyeokk
Copy link
Collaborator

@junyeokk junyeokk commented Dec 3, 2024

🔨 테스크

Issue

Skeleton UI 도입 배경

  • 데이터 로딩 중에 빈 화면이 보이는 것은 사용자 경험을 저하시킬 수 있음
  • LoadingIndicator만으로는 실제 로드될 컨텐츠의 구조를 미리 파악하기 어려움
  • 데이터 로딩 시 PostCard 이외의 컴포넌트에서 움직임 발생

구현 시 고려사항

  • shadcn/ui의 Skeleton 컴포넌트 활용으로 디자인 시스템 일관성 유지
  • 무한 스크롤의 부드러운 경험을 위한 Intersection Observer 최적화
    • threshold: 0.3, rootMargin: "100px"로 설정해 비교적 빨리 로딩할 수 있도록 함
  • 데이터 로딩 상태에 따른 레이아웃 유지를 위한 최소 높이 설정

📋 작업 내용

  • PostCardSkeleton 컴포넌트 구현

    • shadcn/ui Skeleton 컴포넌트 활용
    • 실제 PostCard와 동일한 레이아웃 구성
    • 반응형 그리드 레이아웃 적용
  • 최신 포스트 섹션(LatestSection) Skeleton UI 적용

    • 초기 로딩 및 무한 스크롤 시 Skeleton UI 구현
    • Intersection Observer 설정 최적화
    • 추가 로딩 시 Skeleton UI 자연스러운 전환
  • 트렌딩 포스트 섹션(TrendingSection) Skeleton UI 적용

    • 초기 로딩 상태 Skeleton UI 구현
    • 데이터 로딩 상태 처리 로직 개선

📷 스크린 샷

skeleton ui

skeleton.ui.only.mov

skeleton ui + 실제 데이터

skeleton.ui.+.real.data.mov

skeleton 무한 스크롤 다음 페이지 로딩 넣기 전

before.skeleton.nextpage.loading.mov

skeleton 무한 스크롤 다음 페이지 로딩 넣은 후

after.skeleton.nextpage.+.increase.threshold.+.root.margin.100.mov

- shadcn/ui skeleton 컴포넌트 활용해 구현
- 로딩 상태에서 보옂리 포스트 카드 스켈레톤 UI 생성
- 기존 loading indicator를 skeleton ui로 교체
- 무한 스크롤 로딩 상태에도 skeleton ui 적용
- Intersection Observer 설정 최적화 (threshold: 0.3, rootMargin: 100px)
- 추가 로딩 시 보여지는 스켈레톤 카드 수 조정
@junyeokk junyeokk requested a review from jungmyunggi December 3, 2024 18:43
@junyeokk junyeokk self-assigned this Dec 3, 2024
@junyeokk junyeokk linked an issue Dec 3, 2024 that may be closed by this pull request
14 tasks
@junyeokk junyeokk added the ✨ Feature 기능 구현 label Dec 3, 2024
@junyeokk junyeokk changed the title Feat/skeleton UI postcard ✨ feat: PostCard 로드될 때 Skeleton UI 적용 Dec 3, 2024
Copy link
Collaborator

@jungmyunggi jungmyunggi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@junyeokk junyeokk merged commit 2981d0a into main Dec 5, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 기능 구현
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FE] PostCard 로드될 때 Skeleton UI 적용
2 participants