Skip to content

Conversation

@cl-o-lc
Copy link
Collaborator

@cl-o-lc cl-o-lc commented Aug 1, 2025

📌 작업 내용

  • home의 UI를 redesign 했습니다. (v2)
  • KoreanStandardTime 컴포넌트의 밀리초 체크박스에 옵션을 추가했습니다.
  • 따라서 home에서 밀리초 체크박스가 표시되지 않습니다.

📸 스크린샷

image

📝 기타

Header 내 메뉴 항목(실시간 랭킹, 반응속도 게임, 북마크, 도움말)에 대해 현재는 href="#"로 임시 연결되어 있으며, 각 기능 페이지가 개발되는 시점에 맞춰 실제 경로로 변경할 계획입니다.

Summary by CodeRabbit

  • 신규 기능

    • 새로운 헤더 컴포넌트가 추가되어 상단에 고정된 내비게이션 바와 로그인/시작하기 버튼이 제공됩니다.
    • 메인 페이지 레이아웃이 개선되어 배지, 그라데이션 텍스트, 설명 문구 등 시각적으로 강화된 히어로 섹션이 도입되었습니다.
  • 개선 및 스타일

    • 버튼의 크기와 색상이 조정되어 더욱 눈에 띄고 사용하기 쉬워졌습니다.
    • 페이지 전체의 배경색과 텍스트 색상이 변경되어 시각적 일관성이 향상되었습니다.
  • 기능 개선

    • 한국 표준시 컴포넌트에 밀리초 토글 표시 여부를 제어할 수 있는 옵션이 추가되었습니다.

cl-o-lc added 2 commits August 1, 2025 17:41
- 버튼 컴포넌트 색상(indigo)과 크기 변경
- 헤더 컴포넌트 생성
- 홈화면 ui 수정
- 홈 화면에서 밀리초 체크박스 숨김 `<KoreanStandardTime showToggle={false} />`
@cl-o-lc cl-o-lc added feat🛠️ 기능 구현 design✨ UI 구현 및 개선 labels Aug 1, 2025
@coderabbitai
Copy link

coderabbitai bot commented Aug 1, 2025

Walkthrough

레이아웃과 스타일링이 대폭 개편되었습니다. Header 컴포넌트가 새로 추가되어 상단에 배치되었고, 메인 페이지의 구조가 의미 있는 섹션들로 재구성되었습니다. 버튼과 시계 컴포넌트의 스타일 및 기능도 조정되었으며, 검색 폼 및 기타 UI 요소의 위치와 명칭이 변경되었습니다.

Changes

Cohort / File(s) Change Summary
메인 페이지 구조 및 레이아웃 개편
src/app/page.tsx
루트 컨테이너를 <main>에서 <div>로 변경, 배경/텍스트 색상 수정, Header 컴포넌트 추가, 히어로 섹션 및 설명 문구 신설, 검색 폼 위치 및 명칭 변경, 시계 컴포넌트 섹션 분리 및 prop(showToggle={false}) 추가, 전체 구조와 스타일 재정비
시계 컴포넌트 기능 확장
src/components/KoreanStandaradTime.tsx
showToggle 불리언 prop 추가(기본값 true), 메인 시간 폰트 크기 축소, 밀리초 토글 체크박스의 조건부 렌더링 및 UI 위치 변경, 기존 무조건 렌더링 방식 제거
버튼 스타일 개선
src/components/ui/Button.tsx
패딩 증가(px-6 py-4), 배경색을 인디고 계열로 변경, active 상태 배경 제거, 텍스트 색상 순서 조정, 인터랙션 효과 단순화
헤더 컴포넌트 신설
src/components/ui/Header.tsx
새로운 Header 컴포넌트 추가, 스크롤 상태 감지 및 스타일 동적 변경, 로고/네비게이션/액션 버튼 포함, Tailwind 및 clsx 활용, 클린업 포함된 스크롤 이벤트 리스너 구현

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Header
    participant MainPage
    participant KoreanStandardTime
    participant SearchForm

    User->>Header: 페이지 진입/스크롤
    Header->>Header: 스크롤 상태 감지 및 스타일 변경

    User->>MainPage: 페이지 렌더링
    MainPage->>Header: Header 컴포넌트 렌더
    MainPage->>SearchForm: 검색 폼 렌더
    MainPage->>KoreanStandardTime: showToggle=false로 시계 렌더
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~15 minutes

Poem

🐇
새 옷 입은 페이지, 헤더가 반짝!
버튼도 커지고, 시계는 더 똑똑—
검색 폼 자리도 바뀌었구나.
토글은 감춰, 스타일은 화려!
토끼는 깡총, 코드를 축하해요!

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/home-v2

🪧 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.
    • Explain this complex logic.
    • 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 explain this code block.
    • @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 explain its main purpose.
    • @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.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @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 to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

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.

@cl-o-lc cl-o-lc changed the title [feature] 기존 home UI 전면 개편 [design] 기존 home UI 전면 개편 Aug 1, 2025
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/components/ui/Header.tsx (1)

58-70: 액션 버튼 스타일링 일관성 개선 제안

액션 버튼들이 인라인 스타일로 구현되어 있습니다. 다른 곳에서 사용되는 Button 컴포넌트를 활용하면 스타일링 일관성을 높일 수 있습니다.

+import { Button } from './Button';

-        <div className="flex items-center gap-3">
-          <Link
-            href="#"
-            className="text-gray-600 hover:bg-gray-100 px-4 py-2 rounded-md text-sm transition-colors"
-          >
-            로그인
-          </Link>
-          <Link
-            href="#"
-            className="bg-black text-white hover:bg-black/80 px-4 py-2 rounded-md text-sm transition"
-          >
-            시작하기
-          </Link>
-        </div>
+        <div className="flex items-center gap-3">
+          <Button variant="ghost" size="sm" asChild>
+            <Link href="#">로그인</Link>
+          </Button>
+          <Button size="sm" asChild>
+            <Link href="#">시작하기</Link>
+          </Button>
+        </div>
src/app/page.tsx (1)

25-29: 대형 헤딩의 반응형 디자인 개선 제안

헤딩 크기가 text-6xl md:text-5xl로 설정되어 있는데, 일반적으로 작은 화면에서 더 작은 크기를 사용합니다. 현재 설정은 역순으로 보입니다.

-        <h1 className="text-6xl md:text-5xl font-bold tracking-tight bg-gradient-to-br from-black to-gray-600 text-transparent bg-clip-text mb-6">
+        <h1 className="text-4xl md:text-6xl font-bold tracking-tight bg-gradient-to-br from-black to-gray-600 text-transparent bg-clip-text mb-6">
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9a29060 and 1ab52e3.

📒 Files selected for processing (4)
  • src/app/page.tsx (2 hunks)
  • src/components/KoreanStandaradTime.tsx (3 hunks)
  • src/components/ui/Button.tsx (1 hunks)
  • src/components/ui/Header.tsx (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
src/components/KoreanStandaradTime.tsx (1)
src/app/result/page.tsx (1)
  • TimeDisplay (65-112)
🔇 Additional comments (9)
src/components/ui/Button.tsx (1)

12-12: 버튼 스타일링 개선이 잘 되었습니다.

패딩 증가와 표준 indigo 색상 사용으로 일관성 있는 디자인이 되었습니다. 다만 이전의 active 상태 스타일링이 제거되어 사용자 피드백이 다소 줄어들 수 있습니다.

src/components/KoreanStandaradTime.tsx (3)

7-10: 새로운 showToggle prop 추가가 잘 구현되었습니다.

밀리초 체크박스의 표시 여부를 제어할 수 있는 기능이 추가되어 컴포넌트의 재사용성이 향상되었습니다. 기본값을 true로 설정한 것도 기존 사용처의 호환성을 보장하는 좋은 선택입니다.


69-69: 시간 표시 글꼴 크기 조정 확인 필요

글꼴 크기가 text-6xl에서 text-5xl로 줄어들었습니다. 이 변경이 전체 UI 디자인과 조화를 이루는지 확인해 주세요.


84-101: 조건부 렌더링 로직이 올바르게 구현되었습니다.

밀리초 체크박스가 showMillisecondsshowToggle 두 조건을 모두 만족할 때만 렌더링되도록 구현되어 있어 의도한 동작을 정확히 수행합니다. 이벤트 디스패치 로직도 기존과 동일하게 유지되어 일관성이 보장됩니다.

src/components/ui/Header.tsx (2)

10-17: 스크롤 이벤트 처리가 올바르게 구현되었습니다.

스크롤 위치에 따른 헤더 스타일 변경 로직이 깔끔하게 구현되었고, 이벤트 리스너의 정리도 적절히 처리되어 있습니다.


42-53: 네비게이션 링크의 플레이스홀더 URL 확인

모든 네비게이션 링크가 "#"으로 설정되어 있습니다. PR 설명에 따르면 실제 기능 페이지 개발 후 업데이트될 예정이므로 현재 상태가 적절합니다.

src/app/page.tsx (3)

16-34: 페이지 레이아웃 재구성이 훌륭합니다.

의미있는 섹션 구조와 모던한 히어로 섹션이 잘 구현되었습니다. 그라디언트 텍스트와 배지 디자인이 시각적으로 매력적입니다.


42-44: KoreanStandardTime 컴포넌트 통합이 올바릅니다.

showToggle={false} prop을 사용하여 홈페이지에서 밀리초 체크박스를 숨기는 것이 UI 개편 목적에 부합합니다. 컴포넌트가 별도 섹션으로 적절히 분리되었습니다.


3-4: SearchForm import 검증 완료

src/components/ServerSearchForm.tsx에서 export default function ServerSearchForm…으로 default 내보내기를 사용하고 있으므로, import SearchForm from '@/components/ServerSearchForm'; 구문은 올바르게 동작합니다.
추가 수정 사항은 없습니다.

@cl-o-lc cl-o-lc merged commit 5945318 into main Aug 8, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design✨ UI 구현 및 개선 feat🛠️ 기능 구현

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants