Skip to content

Conversation

@HarrySeop
Copy link
Member

@HarrySeop HarrySeop commented Aug 4, 2025

🧩 관련 이슈 번호

📌 작업 내용

  • 레이아웃을 통일 했습니다.
  • 플로팅 버튼 눌렀을 때 영역에 x스크롤 생기는 이슈 때문에 너비를 늘렸습니다.

✅ 체크리스트

  • PR 하기 전에 이슈에서 빼먹은건 없는지 확인했습니다
    • 라벨 및 마일스톤을 사이드 탭에서 등록했습니다.
  • PR을 보내는 브랜치가 올바른지 확인했습니다.
  • 팀원들이 리뷰하기 쉽도록 설명을 자세하게 작성했습니다.
  • 변경사항을 충분히 테스트 했습니다.
  • (함수를 구현 했을 때) JSDoc을 양식에 맞춰서 작성했습니다.
  • 컨벤션에 맞게 구현했습니다.

📷 UI 변경 사항 (선택)

image

❓무슨 문제가 발생했나요? (선택)

졸려용

💬 기타 참고 사항 (선택)

Summary by CodeRabbit

  • Style
    • 플로팅 번역 버튼의 언어 선택 드롭다운 너비가 소폭 늘어났습니다.
    • 예약 폼의 고정(스티키) 위치가 조정되어, 데스크톱에서 예약 폼만 화면에 고정됩니다.
    • 일부 레이아웃 및 마진, 패딩, 오버플로우 스타일이 개선되어 페이지 배치가 더욱 일관성 있게 변경되었습니다.
    • 마이페이지 사이드바 고정 시 상단 위치가 조정되었습니다.
    • 마이페이지 레이아웃에서 세로 정렬과 고정 버튼의 좌측 위치가 조정되었습니다.
    • 푸터에 GitHub 프로필 링크가 추가되어 저작권 정보가 업데이트되었습니다.

@HarrySeop HarrySeop added this to the 프로젝트 마감 milestone Aug 4, 2025
@HarrySeop HarrySeop self-assigned this Aug 4, 2025
@HarrySeop HarrySeop added the 🎨 Design 마크업 및 스타일링 label Aug 4, 2025
@HarrySeop HarrySeop linked an issue Aug 4, 2025 that may be closed by this pull request
@coderabbitai
Copy link

coderabbitai bot commented Aug 4, 2025

📝 Walkthrough

Walkthrough

이번 변경은 FloatingTranslateButton의 언어 선택 드롭다운 컨테이너 너비를 늘리고, DefaultLayout의 Tailwind CSS 클래스 결합 방식을 개선하며, 활동 상세 페이지에서 예약 폼의 sticky 위치 지정 방식을 조정하는 등 레이아웃 및 스타일링 관련 수정을 포함합니다. 기능적 로직 변경은 없습니다.

Changes

Cohort / File(s) Change Summary
FloatingTranslateButton 드롭다운 너비 조정
apps/what-today/src/components/FloatingTranslateButton.tsx
언어 선택 드롭다운 컨테이너의 너비를 160에서 170으로 증가. 기타 기능 및 로직 변경 없음.
DefaultLayout Tailwind 클래스 결합 리팩터링
apps/what-today/src/layouts/DefaultLayout.tsx
twJoin을 사용해 Tailwind CSS 클래스 결합을 간소화. footer 마진 처리 방식 변경, main 엘리먼트의 조건부 클래스 제거, overflow-x-hidden 속성 삭제 등 레이아웃 관련 리팩터링.
ActivityDetailPage 예약 폼 sticky 위치 조정
apps/what-today/src/pages/activities/index.tsx
데스크톱 레이아웃에서 예약 폼의 sticky 위치 지정 방식을 컨테이너가 아닌 폼에만 적용하도록 구조 변경. 기타 로직 변화 없음.
Footer 컴포넌트 GitHub 링크 추가
packages/design-system/src/components/Footer.tsx
기존 저작권 문구를 네 명의 GitHub 프로필 링크로 교체, 링크는 aria-label과 보안 속성을 포함하며 수평 중앙 정렬 및 구분자 추가.
MypageSidebar 고정 위치 top 조정
apps/what-today/src/components/MypageSidebar.tsx
고정된 사이드바 <nav> 요소에 top-62 클래스를 추가하여 고정 위치의 상단 오프셋 조정. 다른 스타일이나 로직 변경 없음.
MypageLayout 정렬 및 버튼 위치 조정
apps/what-today/src/layouts/Mypage.tsx
루트 컨테이너에 justify-center 클래스 추가로 세로 정렬 변경, 고정 버튼의 좌측 위치를 left-4에서 left-3으로 조정.

Sequence Diagram(s)

(해당 변경들은 레이아웃 및 스타일링 중심으로, 제어 흐름이나 기능적 상호작용에 변화가 없어 시퀀스 다이어그램 생략)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~7 minutes

Possibly related PRs

  • 페이지 번역 기능 도입 #207: FloatingTranslateButton 컴포넌트의 최초 도입 및 구현과 관련된 PR로, 본 PR의 드롭다운 너비 변경과 직접적으로 연결됩니다.
  • 번역 기능 리팩토링 #259: FloatingTranslateButton의 오류 처리, UI 리스타일링, 언어 감지 로직 등 대규모 리팩터링을 진행한 PR로, 동일 컴포넌트의 다른 측면을 다룹니다.
  • Footer 구현 #74: Footer 컴포넌트의 저작권 문구 변경과 관련된 초기 구현 PR로, 본 PR의 Footer 수정과 직접적인 연관이 있습니다.

Suggested labels

♻️ Refactor

Suggested reviewers

  • kjhyun0830
  • MyungJiwoo

Poem

🐇
레이아웃 살짝 다듬고,
드롭다운 넓혀 한 뼘 더.
예약 폼은 딱 붙여서,
사이드바도 위로 쏙!
토끼는 깡총, 코드도 깡총,
스타일 바꾸며 춤을 춰요.
🎨✨🐰

Note

⚡️ Unit Test Generation is now available in beta!

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


📜 Recent review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 22caeaf and 6b2a570.

📒 Files selected for processing (3)
  • apps/what-today/src/components/MypageSidebar.tsx (1 hunks)
  • apps/what-today/src/layouts/DefaultLayout.tsx (2 hunks)
  • apps/what-today/src/layouts/Mypage.tsx (2 hunks)
✅ Files skipped from review due to trivial changes (2)
  • apps/what-today/src/layouts/Mypage.tsx
  • apps/what-today/src/components/MypageSidebar.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/what-today/src/layouts/DefaultLayout.tsx
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/HarrySeop/263

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ 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.
    • 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.
  • 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.

Support

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

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 or @coderabbitai 요약 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.

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🚀 오늘뭐해 Preview Deploy 완료!
👉 미리보기 링크

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 (1)
apps/what-today/src/layouts/DefaultLayout.tsx (1)

14-14: 주석 처리된 코드 제거 권장

기존 문자열 방식의 코드가 주석 처리되어 있습니다. 새로운 twJoin 방식이 정상 작동한다면 주석 처리된 코드를 제거하는 것이 좋겠습니다.

-  // const footerMarginBottom = isActivityDetailPage && !isDesktop ? 'w-full mb-120' : 'w-full';
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 477c363 and 0407fa4.

📒 Files selected for processing (3)
  • apps/what-today/src/components/FloatingTranslateButton.tsx (1 hunks)
  • apps/what-today/src/layouts/DefaultLayout.tsx (2 hunks)
  • apps/what-today/src/pages/activities/index.tsx (2 hunks)
🧰 Additional context used
🧠 Learnings (7)
📓 Common learnings
Learnt from: HarrySeop
PR: What-Today-FE/What-Today#89
File: packages/design-system/src/components/bottomsheet/hooks/index.ts:44-51
Timestamp: 2025-07-21T04:36:28.477Z
Learning: HarrySeop encountered a scroll restoration issue in the useBodyScrollLock hook where the base page jumps to the top during mount/unmount of the bottom sheet component. They tried adding isLocked check in cleanup function and ref-based approaches but both failed to resolve the issue. They decided to defer this fix to a later refactoring.
Learnt from: kjhyun0830
PR: What-Today-FE/What-Today#77
File: apps/what-today/src/pages/mypage/manage-activities/index.tsx:50-63
Timestamp: 2025-07-19T01:23:56.149Z
Learning: User kjhyun0830 follows an incremental development approach in What-Today project, implementing UI first and adding functionality in later iterations, as confirmed in PR #77 for the experience management page.
Learnt from: Taeil08
PR: What-Today-FE/What-Today#125
File: packages/design-system/src/components/DatePicker.tsx:25-28
Timestamp: 2025-07-24T13:33:33.202Z
Learning: packages/design-system/src/components/DatePicker.tsx에서 Taeil08은 sr-only 클래스를 가진 div 요소가 달력 트리거 버튼의 세로 정렬에 필요하다고 설명했음. 이 요소를 제거하면 버튼 정렬이 깨지는 레이아웃 의존성이 있음.
Learnt from: HarrySeop
PR: What-Today-FE/What-Today#220
File: apps/what-today/src/pages/activities/index.tsx:64-70
Timestamp: 2025-08-02T20:26:03.149Z
Learning: HarrySeop 프로젝트에서 예약 플로우는 디바이스별로 다르게 구현됨: 데스크톱은 ReservationForm 컴포넌트의 내부 토스트를 사용하고, 태블릿/모바일은 바텀시트 → handleSubmitReservation → 페이지 레벨 토스트를 사용하는 구조임.
Learnt from: HarrySeop
PR: What-Today-FE/What-Today#129
File: apps/what-today/src/pages/mypage/reservations-list/index.tsx:13-25
Timestamp: 2025-07-24T19:36:15.516Z
Learning: HarrySeop은 What-Today 프로젝트에서 API 에러 처리를 토스터(toast notification)로 처리하는 방식을 선호하며, 핸들러 함수 구현 시점에 함께 연결하는 접근 방식을 취함.
📚 Learning: the mainpage component in apps/what-today/src/pages/main/index.tsx contains placeholder/example code...
Learnt from: MyungJiwoo
PR: What-Today-FE/What-Today#43
File: apps/what-today/src/pages/main/index.tsx:7-7
Timestamp: 2025-07-14T13:36:17.941Z
Learning: The MainPage component in apps/what-today/src/pages/main/index.tsx contains placeholder/example code that will be modified later, including the fixed height class 'h-1400' which the user indicated is temporary.

Applied to files:

  • apps/what-today/src/layouts/DefaultLayout.tsx
  • apps/what-today/src/components/FloatingTranslateButton.tsx
  • apps/what-today/src/pages/activities/index.tsx
📚 Learning: packages/design-system/src/components/datepicker.tsx에서 taeil08은 sr-only 클래스를 가진 div 요소가 달력 트리거 버튼의 세...
Learnt from: Taeil08
PR: What-Today-FE/What-Today#125
File: packages/design-system/src/components/DatePicker.tsx:25-28
Timestamp: 2025-07-24T13:33:33.202Z
Learning: packages/design-system/src/components/DatePicker.tsx에서 Taeil08은 sr-only 클래스를 가진 div 요소가 달력 트리거 버튼의 세로 정렬에 필요하다고 설명했음. 이 요소를 제거하면 버튼 정렬이 깨지는 레이아웃 의존성이 있음.

Applied to files:

  • apps/what-today/src/layouts/DefaultLayout.tsx
  • apps/what-today/src/components/FloatingTranslateButton.tsx
  • apps/what-today/src/pages/activities/index.tsx
📚 Learning: kjhyun0830은 what-today 프로젝트의 마이페이지(apps/what-today/src/pages/mypage/main/index.tsx)에서 다음 브랜치에 스켈레톤 u...
Learnt from: kjhyun0830
PR: What-Today-FE/What-Today#219
File: apps/what-today/src/pages/mypage/main/index.tsx:108-157
Timestamp: 2025-08-03T00:45:03.763Z
Learning: kjhyun0830은 What-Today 프로젝트의 마이페이지(apps/what-today/src/pages/mypage/main/index.tsx)에서 다음 브랜치에 스켈레톤 UI 작업과 함께 로딩 상태 처리를 구현할 계획이라고 언급함.

Applied to files:

  • apps/what-today/src/layouts/DefaultLayout.tsx
📚 Learning: taeil08 prefers using translate-x-1/2 and translate-x-1/2 for carousel navigation button positioning...
Learnt from: Taeil08
PR: What-Today-FE/What-Today#237
File: packages/design-system/src/components/Carousel/Carousel.tsx:19-25
Timestamp: 2025-08-04T04:16:10.940Z
Learning: Taeil08 prefers using translate-x-1/2 and translate-x-1/2 for carousel navigation button positioning in packages/design-system/src/components/Carousel/Carousel.tsx as it provides better flexibility for button positioning compared to fixed positioning without transforms.

Applied to files:

  • apps/what-today/src/layouts/DefaultLayout.tsx
  • apps/what-today/src/components/FloatingTranslateButton.tsx
📚 Learning: kjhyun0830 프로젝트에서 @what-today/design-system 패키지의 reservationstatus 타입이 calendar/index.ts에서 re-export...
Learnt from: kjhyun0830
PR: What-Today-FE/What-Today#91
File: apps/what-today/src/pages/mypage/reservations-status/index.tsx:2-2
Timestamp: 2025-07-22T03:59:52.657Z
Learning: kjhyun0830 프로젝트에서 @what-today/design-system 패키지의 ReservationStatus 타입이 calendar/index.ts에서 re-export되지 않아 메인 엔트리 포인트에서 접근할 수 없는 문제가 있음. DayCell.tsx에서 정의된 타입들을 calendar 모듈에서 명시적으로 export해야 함.

Applied to files:

  • apps/what-today/src/pages/activities/index.tsx
📚 Learning: harryseop encountered a scroll restoration issue in the usebodyscrolllock hook where the base page j...
Learnt from: HarrySeop
PR: What-Today-FE/What-Today#89
File: packages/design-system/src/components/bottomsheet/hooks/index.ts:44-51
Timestamp: 2025-07-21T04:36:28.477Z
Learning: HarrySeop encountered a scroll restoration issue in the useBodyScrollLock hook where the base page jumps to the top during mount/unmount of the bottom sheet component. They tried adding isLocked check in cleanup function and ref-based approaches but both failed to resolve the issue. They decided to defer this fix to a later refactoring.

Applied to files:

  • apps/what-today/src/pages/activities/index.tsx
🔇 Additional comments (7)
apps/what-today/src/layouts/DefaultLayout.tsx (4)

3-3: twJoin import 추가 승인

조건부 클래스 결합을 위한 twJoin 유틸리티 함수 import가 적절하며, 아래 코드에서 사용되고 있습니다.


25-25: main 요소 클래스 단순화 승인

조건부 로직을 제거하고 고정된 반응형 클래스를 적용한 변경이 적절합니다. 레이아웃 일관성 향상에 도움이 됩니다.


29-29: twJoin을 활용한 조건부 클래스 적용 승인

twJoin을 사용하여 조건부로 mb-120 마진을 적용하는 방식이 깔끔하고 가독성이 좋습니다. activity detail 페이지에서 데스크톱이 아닌 경우에만 하단 마진을 추가하는 로직이 적절합니다.


20-20: overflow-x-hidden 제거 확인 요청

DefaultLayout.tsx에서 overflow-x-hidden 클래스가 제거되어 있습니다. 이 변경으로 인해 플로팅 버튼으로 인한 x축 스크롤 이슈가 완전히 해소되었는지 확인이 필요합니다.

  • 파일: apps/what-today/src/layouts/DefaultLayout.tsx
    위치: 약 20행 부근
    변경 내용: 기존에 적용되었던 overflow-x-hidden 클래스가 제거됨

  • 확인 방법:

    1. 브라우저에서 플로팅 번역 버튼을 토글(+ 펼치기/닫기)하며 페이지 전체의 x축 스크롤바가 나타나지 않는지 검증
    2. 필요 시 아래 스크립트로 의도치 않은 overflow-x-* 클래스 잔여물을 검색
    rg "overflow-x-" apps/what-today/src/layouts/DefaultLayout.tsx

위 사항을 검토하시고, 스크롤 이슈가 재발되지 않는지 확인해 주세요.

apps/what-today/src/components/FloatingTranslateButton.tsx (1)

333-333: 드롭다운 너비 증가 승인

언어 선택 드롭다운의 너비를 w-160에서 w-170으로 10 단위 증가시킨 변경이 적절합니다. PR 목적인 x-scroll 문제 해결과 연관된 것으로 보이며, 드롭다운 내 텍스트가 더 여유롭게 표시될 것입니다.

apps/what-today/src/pages/activities/index.tsx (2)

104-104: 컨테이너 div 클래스 단순화 승인

외부 컨테이너에서 sticky 관련 클래스를 제거하고 단순한 flex 레이아웃으로 변경한 것이 적절합니다.


115-123: ReservationForm sticky 포지셔닝 개선 승인

ReservationForm 컴포넌트만을 대상으로 하는 sticky 포지셔닝 구조로 개선되었습니다. 이는 레이아웃 제어를 더욱 정밀하게 하며, PR 목적인 레이아웃 통일화에 부합합니다.

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🚀 오늘뭐해 Preview Deploy 완료!
👉 미리보기 링크

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🚀 오늘뭐해 Preview Deploy 완료!
👉 미리보기 링크

@HarrySeop HarrySeop merged commit c08d3e7 into develop Aug 4, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎨 Design 마크업 및 스타일링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DefaultLayout 통일하기

3 participants