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

[JOJI-845] 렌딩페이지 디자인 수정 #39

Open
wants to merge 3 commits into
base: development
Choose a base branch
from

Conversation

MuteAim
Copy link
Collaborator

@MuteAim MuteAim commented Feb 19, 2025

  • 1안
    image

  • 1안(좀 더 간결하게)
    image

Summary by CodeRabbit

  • New Features
    • 히어로 섹션이 전면 개편되어 중앙 정렬 텍스트, 타이핑 효과, 부드러운 스크롤 버튼 등 다이나믹한 요소가 추가되었습니다.
    • 새로운 애니메이션 텍스트 및 타이핑 효과 기능이 도입되어 생동감 있는 텍스트 전환을 경험할 수 있습니다.
    • 게시물 페이지에 활성화된 영역을 감지하는 기능이 추가되어 스크롤 시 구역 하이라이트가 적용됩니다.
  • Style
    • 그라데이션 배경 애니메이션과 개선된 테마 스타일을 통해 시각적 효과가 강화되었습니다.
  • Chores
    • 애니메이션 라이브러리 의존성이 최신 버전으로 업데이트되었습니다.

Copy link

changeset-bot bot commented Feb 19, 2025

⚠️ No Changeset found

Latest commit: 34f13b6

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

@MuteAim MuteAim requested review from AlangGY and dohee12 February 19, 2025 06:31
Copy link

coderabbitai bot commented Feb 19, 2025

헤이 헤이 Chill...

Walkthrough

이 PR은 여러 파일에 걸쳐 UI와 애니메이션 효과를 개선하는 변경사항을 포함해. package.json에서는 framer-motion 의 버전이 업데이트되었으며, HeroSection 컴포넌트는 전체 레이아웃과 기능이 개편되어 스크롤 기능 및 모션 애니메이션이 추가되었어. 또한 AnimatedText와 TypingEffect 컴포넌트가 새로 도입되어 텍스트 애니메이션을 구현하고, 페이지와 Tailwind CSS 설정 파일에서는 배경 그라디언트 및 애니메이션 효과가 적용되었어.

Changes

Files Change Summary
package.json framer-motion 의존성 버전을 ^12.4.1에서 ^12.4.3으로 업데이트
src/app/_components/sections/heroSection.js HeroSection 레이아웃 및 기능 개편, scrollToSection 함수 추가, 모션 애니메이션과 버튼 등의 UI 요소 업데이트
src/app/_components/ui/anmiatedText.js, src/app/_components/ui/typingEffect.js AnimatedText와 TypingEffect 컴포넌트 추가, 텍스트 애니메이션 및 타이핑 효과 구현
src/app/page.js hero 섹션의 클래스 업데이트: 그라디언트 배경 및 애니메이션 클래스 적용
tailwind.config.mjs Tailwind CSS 설정 개편: 새로운 색상(point), 애니메이션(gradient) 및 keyframes(gradientBG) 추가

Sequence Diagram(s)

sequenceDiagram
    participant U as 사용자
    participant HS as HeroSection 컴포넌트
    participant DOM as 브라우저 DOM
    U->>HS: 애니메이션 버튼 클릭
    HS->>HS: scrollToSection 함수 호출
    HS->>DOM: "service" 섹션으로 스크롤 요청
    DOM-->>U: 해당 섹션 표시
Loading

Possibly related PRs

Suggested reviewers

  • dohee12
  • AlangGY

Poem

화면 위에 춤추는 코드의 향연
부드른 애니메이션에 마음이 편안해지네
스크롤 따라 흘러가는 리듬처럼
새로운 컴포넌트들이 속삭이며 노래해
우리 모두 chill한 기분으로 한 걸음씩 나아가자

✨ Finishing Touches
  • 📝 Generate Docstrings (Beta)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary or @칠가이 summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @칠가이 anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (5)
src/app/_components/sections/heroSection.js (4)

7-12: 헤이 헤이 Chill... scrollToSection 함수가 document를 바로 사용하고 있는데, Next.js 환경에서 SSR 시점을 조금 주의하면 좋겠어요. 지금 use client가 선언되어있으니 문제될 건 없어 보이지만, 혹시나 섹션 아이디가 변경되면 에러 없이 대처할 수 있는 방안도 두면 더 chill할 듯해요


15-35: 헤이 헤이 Chill... 텍스트와 버튼 배치가 직관적으로 잘 짜여 있네요. Tailwind 클래스로 깔끔하게 구성되어 있어 유지보수하기 괜찮아 보여요. 혹시 a 태그 대신 Next.js의 Link 컴포넌트를 써서 라우팅 이점을 챙기는 것도 chill한 선택일 듯해요


47-95: 헤이 헤이 Chill... 세 개의 모션 div가 비슷한 패턴으로 반복되고 있어요. 추후 확장성을 생각해 공통 컴포넌트로 추출하면 코드가 더 간결해지고 재사용성도 높아져서 더 chill할 것 같아요


96-112: 헤이 헤이 Chill... 모션 버튼에 clipPath와 boxShadow를 입혀 독특한 스타일을 주었네요. 접근성 측면에서 버튼에 적절한 aria-label을 부여해주면 더 좋을 것 같고, 장시간 애니메이션이 반복되니 브라우저 성능 면에서는 괜찮은지 한번 살펴보면 더 chill할 듯합니다

src/app/_components/ui/anmiatedText.js (1)

1-9: 헤이 헤이 Chill... 간단하게 useState와 useEffect로 텍스트를 반복 노출시키는 구조가 꽤 직관적이네요. interval 시간이 고정되어 있는데, 추후에 prop으로 받을 수 있게 열어두면 좀 더 유연하게 쓸 수 있을 것 같아요

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f7c24c8 and d23d61a.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • package.json (1 hunks)
  • src/app/_components/sections/heroSection.js (1 hunks)
  • src/app/_components/ui/anmiatedText.js (1 hunks)
  • src/app/_components/ui/typingEffect.js (1 hunks)
  • src/app/page.js (1 hunks)
  • tailwind.config.mjs (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • src/app/page.js
🔇 Additional comments (7)
src/app/_components/sections/heroSection.js (1)

3-4: 헤이 헤이 Chill... import 부분이 잘 연동된 모습이네요. 딱히 꼬일 곳도 없어 보이고 잘 구성된 듯해요

src/app/_components/ui/anmiatedText.js (1)

10-33: 헤이 헤이 Chill... AnimatePresence와 motion을 잘 조합해 자막 같은 느낌의 전환이 만들어졌네요. 텍스트가 위아래로 부드럽게 바뀌는 게 꽤 chill한 사용자 경험을 줄 것 같아요. 특별히 문제될 건 없어 보이고 코드도 명확해요

src/app/_components/ui/typingEffect.js (2)

1-9: 헤이 헤이 Chill... framer-motion과 useInView 훅을 통해 뷰포트에 등장할 때 애니메이션을 주는 아이디어가 좋네요. 서버 사이드 환경에선 작동하지 않으니 client side로만 동작한다는 점이 확실해서 코드의 목적에 맞게 배치된 것 같아요


10-35: 헤이 헤이 Chill... 글자를 나눠서 순차적으로 보여주는 방식이 재미있네요. lineIndex와 index를 활용해 스태거 애니메이션을 구현한 점이 인상적이에요. 단순화나 확장성은 나쁘지 않고, 구조가 꽤 straightforward해서 더 chill한 것 같아요

tailwind.config.mjs (2)

11-53: 컬러 시스템 업데이트

헤이 헤이 Chill... 컬러 시스템이 HSL 변수를 사용하도록 chill하게 업데이트 되었네요. point 컬러도 브랜드 컬러로 잘 설정되어 있어서 chill chill 합니다.


54-81:

✅ Verification successful

그라디언트 애니메이션 추가

헤이 헤이 Chill... 새로운 gradient 애니메이션이 추가된 걸 보니 디자인이 더 dynamic해질 것 같네요. 근데 chill하게 한 가지 체크해보면 좋을 것 같아요.


🏁 Script executed:

#!/bin/bash
# Description: Check if the gradient animation is used in the codebase

rg "animate-gradient" -l

Length of output: 40


헤이 헤이 Chill... gradient 애니메이션이 실제로 사용되고 있는 것을 확인했어.

  • 확인된 사항: tailwind.config.mjs에서 정의한 gradient 애니메이션이 src/app/page.js 파일 내에 "animate-gradient"로 사용되고 있음을 확인함.
  • 추가 검토: 애니메이션 이름이 tailwind의 네이밍 규칙에 맞추어 작동 중인지 다시 한 번 확인해보면 좋을 것 같아.

전체적으로 디자인에 새로운 동적 애니메이션 효과가 잘 반영된 것 같으니 chill하게 진행해도 좋을 것 같아.

package.json (1)

33-33:

✅ Verification successful

framer-motion 업데이트

헤이 헤이 Chill... framer-motion이 마이너 버전 업데이트 되었네요. 호환성 체크를 chill하게 해볼까요.


🌐 Web query:

What are the breaking changes in framer-motion version 12.4.3 compared to 12.4.1?

💡 Result:

Based on the provided search results, there are no documented breaking changes between Framer Motion versions 12.4.3 and 12.4.1. Here's why:

  1. Framer Motion v12 Stability:
    The Framer Motion upgrade guide explicitly states there are no breaking changes in version 12[1]. Since both 12.4.3 and 12.4.1 fall under this major version (v12), they maintain backward compatibility.

  2. Patch Version Context:
    Version numbers follow semantic versioning (major.minor.patch). Changes in patch versions (like .4.x) typically include bug fixes or minor improvements without introducing breaking API changes[3][10].

  3. Sanity UI Dependency Update:
    A dependency update to framer-motion@^12 in Sanity UI’s changelog (version 2.11.x) occurred without mentioning breaking changes[2], further supporting the stability of minor/patch updates within v12.

For future reference, you can check Framer Motion’s official upgrade guide[1][4] or GitHub releases[6] for detailed changelogs between versions.


Summary: No breaking changes exist between these patch releases (v12.x). Always verify patch notes for critical bug fixes or edge-case adjustments in specific scenarios[1][2][10].

Citations:


헤이 헤이 Chill... framer-motion의 패치 버전 업데이트라 큰 걱정 없이 쓸 수 있을 것 같아요. 공식 업그레이드 가이드랑 changelog를 보니 12.4.1에서 12.4.3로 업데이트하면서 documented breaking change는 없다고 하네요. 그러니 호환성도 문제가 없을 것으로 판단됩니다.

  • 파일: package.json (라인 33)
  • 업데이트 내용: "framer-motion": "^12.4.3" (12.4.1 -> 12.4.3)
  • 확인 결과: 패치 버전 업데이트로 breaking change는 없음

chill chill, 코드 문제 없으니 다음 단계로 진행해도 좋을 것 같아요.

- 공지사항 페이지로 이동시에 하이라이트가 반영되지 않는점 수정
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
src/app/post/page.js (2)

71-111: 접근성 개선을 위한 제안

헤이 헤이 Chill... UI가 전체적으로 chill chill 하게 잘 구성되어 있어요. 근데 접근성을 위해 몇 가지 추가하면 더 좋을 것 같네요.

-              <Card
+              <Card
+                role="article"
+                aria-labelledby={`post-title-${post.id}`}
               key={post.id}
               className="hover:shadow-lg border rounded-lg p-4 transition duration-200"
             >
               <CardContent className="flex flex-col md:flex-row justify-between items-start md:items-center">
                 <div className="flex-1">
-                    <TypographyH2 className="text-orange-600 text-lg font-semibold mb-2">
+                    <TypographyH2 id={`post-title-${post.id}`} className="text-orange-600 text-lg font-semibold mb-2">

113-139: 키보드 네비게이션 개선이 필요합니다

헤이 헤이 Chill... 페이지네이션이 chill하게 잘 구현되어 있네요. 키보드 사용자를 위해 약간의 개선을 하면 더 좋을 것 같아요.

               <PaginationPrevious
+                aria-label="이전 페이지"
                 onClick={goToPreviousPage}
                 disabled={currentPage === 1}
               />
               {getPageRange().map((page) => (
                 <PaginationItem key={page}>
                   <PaginationLink
+                    aria-label={`${page} 페이지로 이동`}
                     isActive={currentPage === page}
                     onClick={() => handlePageChange(page)}
                   >
                     {page}
                   </PaginationLink>
                 </PaginationItem>
               ))}
               <PaginationNext
+                aria-label="다음 페이지"
                 onClick={goToNextPage}
                 disabled={currentPage === totalPages}
               />
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d23d61a and 34f13b6.

📒 Files selected for processing (1)
  • src/app/post/page.js (2 hunks)
🔇 Additional comments (2)
src/app/post/page.js (2)

18-19: 새로운 import와 context 사용이 추가되었습니다

헤이 헤이 Chill... 새로운 기능을 위해 Detector와 context를 추가한 게 보이네요. 코드가 chill chill 하게 잘 구성되어 있어요.

Also applies to: 25-25


67-70:

❓ Verification inconclusive

Detector 설정값 확인이 필요합니다

헤이 헤이 Chill... rootMargin이 좀 특이하게 설정되어 있네요. -50%와 -60%가 실제로 의도한 대로 동작하는지 한번 chill하게 확인해보면 좋을 것 같아요.


🏁 Script executed:

#!/bin/bash
# Description: Check if similar rootMargin values are used in other files
rg "rootMargin.*50.*60" --type js

Length of output: 544


헤이 헤이 Chill...
Detector 컴포넌트에서 사용 중인 rootMargin 옵션이 여러 파일에 동일하게 적용되어 있네요 chill
설정값 "-50% 0px -60% 0px"와 threshold: 0가 의도한 대로 작동하는지, 그리고 최적의 detection을 위해 다른 옵션이 필요한지 한번 더 확인해보면 좋을 것 같아요

@AlangGY
Copy link
Collaborator

AlangGY commented Feb 20, 2025

hey hey chill... 쌈뽕한데요;

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.

2 participants