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: 소개 페이지 구현 #276

Merged
merged 10 commits into from
Dec 5, 2024
Merged

Conversation

junyeokk
Copy link
Collaborator

@junyeokk junyeokk commented Dec 3, 2024

🔨 테스크

Issue

컴포넌트 구조 설계

  • 페이지를 여러 섹션으로 나누어 모듈화
  • 각 섹션(Hero, Feature, ExtraFeature)을 독립적인 컴포넌트로 분리
  • 공통 타입과 상수 분리

UI/UX 개선 포인트

  • 스크롤 진행 상태를 상단 프로그레스 바로 표시
  • useInView 훅을 사용한 섹션별 애니메이션 적용
  • 반응형 디자인 적용 (모바일, 태블릿, 데스크톱)
  • 짝수/홀수 섹션에 다른 배경색 적용으로 시각적으로 구분되게 함

📋 작업 내용

페이지 레이아웃 구현

  • HeroSection: 서비스 메인 타이틀과 소개
  • FeatureSection: 주요 기능 소개
  • ExtraFeatureSection: 추가 기능 소개
  • Footer: 팀 정보 및 프로젝트 링크

스크롤 인터랙션 구현

  • 사용자 경험 향상을 위해 두 가지 스크롤 관련 기능 추가
    1. 스크롤 프로그레스 표시

      • useScrollProgress 커스텀 훅 구현
      • 전체 스크롤 대비 현재 위치를 상단에 바로 시각화
    2. 요소별 등장 애니메이션

      • useInView 커스텀 훅으로 뷰포트 진입 감지
      • Intersection Observer API 활용
      • 한 번만 실행되는 애니메이션으로 불필요한 리렌더링 방지
      const { ref, isInView } = useInView<HTMLDivElement>({ once: true });
      • 섹션별로 아래에서 위로 자연스럽게 등장하는 애니메이션 적용
      className={cn(
        "transition-all duration-1000 ease-out",
        isInView ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"
      )}

📷 스크린 샷

스크롤 맨 위

image

Feature 소개

image

서비스 바로가기

image

Footer

image

- 메인 제목, 설명이 있는 HeroSection 추가
- 기능 카드들이 있는 FeatureSection 추가
- 추가적인 기능들이 있는 ExtraFeatureSection 추가
- 프로젝트 링크가 있는 Footer 추가
- 스크롤 기반 애니메이션을 구현하기 위해 useInView 추가
- progress indicator를 표시하기 위해 useScrollProgress 추가
@junyeokk junyeokk added the ✨ Feature 기능 구현 label Dec 3, 2024
@junyeokk junyeokk requested a review from jungmyunggi December 3, 2024 12:42
@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 marked this pull request as draft December 3, 2024 12:42
@junyeokk junyeokk marked this pull request as ready for review December 3, 2024 16:14
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.

p5) 혹시 첫 페이지에 바로가기 버튼이랑 사진 간격 조금만 줄일수있을까요? 너무 공백이 많아보이는 느낌이네요

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 eb77853 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] 소개 페이지 구현
2 participants