Skip to content

Conversation

@shroqkf
Copy link
Collaborator

@shroqkf shroqkf commented May 19, 2025

🌟 어떤 이유로 MR를 하셨나요?

  • feature 병합()
  • 버그 수정(아래에 issue #를 남겨주세요)
  • 코드 개선
  • 코드 수정
  • 배포
  • 기타(아래에 자세한 내용 기입해주세요)

📝 세부 내용 - 왜 해당 MR이 필요한지 작업 내용을 자세하게 설명해주세요

  • 검색 페이지 관련 버그 수정

    • 검색 후 핀 클릭 시 바텀시트가 다시 뜨지 않던 문제 수정 (marker event 재바인딩)
    • 온도값이 소수점 없이 정수로 나오도록 UI 포맷팅 처리 (toFixed(0))
  • 회원가입 페이지 관련 버그 수정

    • 회원가입 중 로그인 완료 처리 오류 수정(useAuthStore에 isSignedUp 상태 분리)
    • 회원가입 단계 뒤로가기 버튼 위치 통일 (NameStep)
  • public 파일 정리

📸 작업 화면 스크린샷

  • 한번 테스트 해주시면 감사하겠습니다!

⚠️ MR하기 전에 확인해주세요

  • 로컬테스트를 진행하셨나요?
  • 머지할 브랜치를 확인하셨나요?
  • 관련 label을 선택하셨나요?

📢 로컬 실행 시 유의사항

  • 서버 상태 (isSaved) 와 클라이언트 상태 불일치 이슈 해결 기다리고 있습니다.

🚨 관련 이슈 번호

Summary by CodeRabbit

  • 신규 기능

    • 회원가입 완료 상태를 표시하는 기능이 추가되었습니다.
  • 버그 수정

    • 지도 및 검색 결과에서 장소 정보 표시가 개선되었습니다(온도값 소수점 제거, 검색 결과 좋아요 상태 동기화 등).
  • 스타일

    • 여러 아이콘 이미지 경로가 /svgs/common/ 디렉토리로 통일되었습니다.
    • 일부 버튼의 위치와 크기가 조정되었습니다.
  • 기타

    • 콘솔 로그 및 마커 관련 불필요한 코드가 정리되었습니다.

@shroqkf shroqkf requested a review from dbstj0403 May 19, 2025 08:34
@shroqkf shroqkf self-assigned this May 19, 2025
@shroqkf shroqkf added Fix Something isn't working Refactor Good for newcomers labels May 19, 2025
@vercel
Copy link

vercel bot commented May 19, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
morak ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 20, 2025 6:59am

@coderabbitai
Copy link

coderabbitai bot commented May 19, 2025

## Walkthrough

SVG 아이콘의 경로를 `/svgs/common/` 하위 디렉토리로 일괄 변경하였고, 회원가입 및 카카오 로그인 플로우에서 `completeSignup` 메서드를 호출하여 인증 상태에 `isSignedUp` 플래그를 추가 및 갱신하도록 수정했습니다. 일부 UI 위치 및 스타일, 마커 클릭 관련 콘솔 로그, 마커 생성 로직도 소폭 조정되었습니다.

## Changes

| 파일(들) | 변경 요약 |
|---|---|
| src/pages/join/components/GoHome.jsx<br>src/pages/join/components/LocationStep.jsx<br>src/pages/join/components/OwnerStep.jsx<br>src/pages/join/components/ProfileImageStep.jsx<br>src/pages/map/MapPage.jsx<br>src/pages/map/components/IntroModal.jsx<br>src/pages/map/components/PlaceBottomSheet.jsx<br>src/pages/map/components/PlaceContent.jsx<br>src/pages/search/components/RecentSearchList.jsx<br>src/pages/search/components/SearchBar.jsx<br>src/pages/support/components/ConsumerTab.jsx | SVG 아이콘 경로를 `/svgs/`에서 `/svgs/common/`으로 변경 |
| src/pages/join/components/NameStep.jsx | SVG 경로 변경, 뒤로가기 버튼 UI 위치 및 크기 조정, 버튼 클래스명 정리(로직 변경 없음) |
| src/pages/join/SignUp.jsx | 회원가입 성공 시 `useAuthStore.getState().completeSignup()` 호출 추가 |
| src/pages/kakaoAuth/kakaoAuth.jsx | 기존 회원 로그인 시 `completeSignup()` 호출 추가 |
| src/pages/search/SearchPage.jsx | `useAuthStore` 임포트 위치 조정 및 `getLikedCompanies` 추가, 훅 위치 변경, 리팩토링 및 주석 정리, 선택 장소 좋아요 상태 재검증 로직 추가 |
| src/pages/search/hooks/useMapViewer.js | 마커 클릭 시 콘솔 로그 위치 변경, 마커 생성 초기화 로직 제거 |
| src/pages/map/hooks/useToggleLike.js | 좋아요 토글 로직 단순화, 서버 상태 기반 직접 토글 처리 및 상태 업데이트를 `requestAnimationFrame`으로 지연 |
| src/store/authStore.js | `isSignedUp` 상태 및 `completeSignup` 메서드 추가 |

## Possibly related PRs

- Morak-Team/Frontend#39: `SignUp.jsx`의 다단계 회원가입 UI 및 API 통합 구현 PR로, 본 PR과 회원가입 완료 상태 처리 관련 코드가 연결됨.

## Suggested reviewers

- dbstj0403

Note

⚡️ AI Code Reviews for VS Code, Cursor, Windsurf

CodeRabbit now has a plugin for VS Code, Cursor and Windsurf. This brings AI code reviews directly in the code editor. Each commit is reviewed immediately, finding bugs before the PR is raised. Seamless context handoff to your AI code agent ensures that you can easily incorporate review feedback.
Learn more here.


Note

⚡️ Faster reviews with caching

CodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure Review - Disable Cache at either the organization or repository level. If you prefer to disable all data retention across your organization, simply turn off the Data Retention setting under your Organization Settings.
Enjoy the performance boost—your workflow just got faster.


📜 Recent review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 43cd057 and a2af82a.

📒 Files selected for processing (4)
  • src/pages/map/MapPage.jsx (2 hunks)
  • src/pages/map/components/PlaceBottomSheet.jsx (1 hunks)
  • src/pages/map/hooks/useToggleLike.js (2 hunks)
  • src/pages/search/SearchPage.jsx (5 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
  • src/pages/map/components/PlaceBottomSheet.jsx
  • src/pages/map/MapPage.jsx
  • src/pages/map/hooks/useToggleLike.js
  • src/pages/search/SearchPage.jsx
✨ Finishing Touches
  • 📝 Generate Docstrings

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.
    • @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 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.

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 (1)
src/pages/search/hooks/useMapViewer.js (1)

43-43: 마커 클릭 이벤트 추적을 위한 로그 추가됨

마커 클릭 이벤트를 콘솔에 기록하는 코드가 추가되었습니다. 이는 "검색 후 핀 클릭 시 바텀시트가 다시 나타나지 않는 버그"를 해결하기 위한 디버깅 목적으로 보입니다.

프로덕션 코드에서는 디버깅용 콘솔 로그를 제거하는 것이 좋습니다. 문제가 해결된 후에는 이 로그를 제거하는 것을 고려해보세요.

-  console.log("marker");
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 6f462c4 and 3cad75a.

⛔ Files ignored due to path filters (7)
  • public/svgs/common/Ic_All.svg is excluded by !**/*.svg
  • public/svgs/common/Ic_Arrow_Left.svg is excluded by !**/*.svg
  • public/svgs/common/Ic_Heart-Empty.svg is excluded by !**/*.svg
  • public/svgs/common/Ic_Heart_Fill.svg is excluded by !**/*.svg
  • public/svgs/common/Ic_X.svg is excluded by !**/*.svg
  • public/svgs/common/Ic_X_Btn.svg is excluded by !**/*.svg
  • public/svgs/common/favicon.svg is excluded by !**/*.svg
📒 Files selected for processing (17)
  • src/pages/join/SignUp.jsx (2 hunks)
  • src/pages/join/components/GoHome.jsx (1 hunks)
  • src/pages/join/components/LocationStep.jsx (1 hunks)
  • src/pages/join/components/NameStep.jsx (3 hunks)
  • src/pages/join/components/OwnerStep.jsx (1 hunks)
  • src/pages/join/components/ProfileImageStep.jsx (1 hunks)
  • src/pages/kakaoAuth/kakaoAuth.jsx (1 hunks)
  • src/pages/map/MapPage.jsx (1 hunks)
  • src/pages/map/components/IntroModal.jsx (1 hunks)
  • src/pages/map/components/PlaceBottomSheet.jsx (1 hunks)
  • src/pages/map/components/PlaceContent.jsx (2 hunks)
  • src/pages/search/SearchPage.jsx (1 hunks)
  • src/pages/search/components/RecentSearchList.jsx (1 hunks)
  • src/pages/search/components/SearchBar.jsx (1 hunks)
  • src/pages/search/hooks/useMapViewer.js (1 hunks)
  • src/pages/support/components/ConsumerTab.jsx (1 hunks)
  • src/store/authStore.js (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (2)
src/pages/join/SignUp.jsx (1)
src/store/authStore.js (1)
  • useAuthStore (4-25)
src/pages/kakaoAuth/kakaoAuth.jsx (1)
src/store/authStore.js (1)
  • useAuthStore (4-25)
🔇 Additional comments (24)
src/pages/support/components/ConsumerTab.jsx (1)

71-75: 아이콘 경로 일관성 업데이트 확인
"전체 보기" 아이콘의 경로가 /svgs/common/Ic_All.svg로 변경되어 다른 컴포넌트의 SVG 구조와 일관됩니다. 빌드 및 런타임 환경에서 해당 경로에 파일이 실제로 존재하고 정상적으로 로드되는지 검증 부탁드립니다.

src/pages/join/components/OwnerStep.jsx (1)

2-2: SVG 자산 import 경로 표준화 확인
BackIcon의 import 경로가 /svgs/common/으로 일관되게 업데이트되어, 다른 가입 컴포넌트들과 일관성이 향상되었습니다.

src/pages/join/components/ProfileImageStep.jsx (1)

2-2: SVG 자산 import 경로 표준화 확인
BackIcon의 import 경로가 /svgs/common/으로 일관되게 변경되어, 다른 단계 컴포넌트들과 동일한 구조를 따릅니다.

src/pages/join/components/GoHome.jsx (1)

2-2: SVG 자산 import 경로 표준화 확인
BackIcon의 import 경로가 /svgs/common/ 디렉토리로 업데이트되어, 가입 플로우 전반에 걸쳐 일관성을 유지합니다.

src/pages/map/components/IntroModal.jsx (1)

10-10: SVG 자산 import 경로 표준화 확인
닫기 아이콘의 경로가 /svgs/common/으로 일관되게 변경되어, 공통 자산 관리가 용이해졌습니다.

src/pages/search/components/RecentSearchList.jsx (1)

29-29: SVG 자산 import 경로 표준화 확인
삭제 아이콘의 import 경로가 /svgs/common/으로 업데이트되어, SVG 파일 구조가 통일되었습니다.

src/pages/map/components/PlaceBottomSheet.jsx (1)

158-162: 경로 변경이 올바르게 적용되었습니다.

닫기 아이콘의 경로가 /svgs/common/Ic_X.svg로 표준화되었습니다. 이는 SVG 자산을 공통 디렉토리로 이동하는 전반적인 리팩토링의 일부로 적절한 변경입니다.

src/pages/map/MapPage.jsx (3)

193-194: 하트 아이콘 경로가 올바르게 표준화되었습니다.

하트 아이콘(채워진/빈)의 경로가 /svgs/common/ 디렉토리로 표준화되어 일관된 자산 관리가 가능해졌습니다.


177-181: 하트 아이콘 경로가 올바르게 표준화되었습니다.

좋아요 상태에 따라 표시되는 하트 아이콘들의 경로가 /svgs/common/ 디렉토리로 표준화되어 일관된 자산 관리가 가능해졌습니다. 이는 코드베이스의 전반적인 정리 작업의 일환입니다.


160-167:

Details

❌ Incorrect review comment

PR 목표에 언급된 마커 이벤트 재바인딩 관련 수정이 이 파일에 없습니다.

PR 목표에 언급된 "검색 후 핀 클릭 시 바텀시트가 다시 나타나지 않는 버그 수정"과 관련된 코드 변경이 이 파일에서는 보이지 않습니다. 마커 이벤트 재바인딩 관련 수정은 MapViewer 컴포넌트나 다른 파일에 있을 수 있으니 확인이 필요합니다.


🏁 Script executed:

#!/bin/bash
# MapViewer 컴포넌트에서 마커 이벤트 재바인딩 관련 코드 확인
fd MapViewer.jsx src/ -x cat {} | grep -A 10 -B 10 "marker\|핀\|바텀시트\|bottom sheet"

Length of output: 1320


useMapViewer 훅에서 마커 이벤트 재바인딩 로직이 적용되었는지 확인합니다.


🏁 Script executed:

#!/bin/bash
# useMapViewer hook 파일에서 이벤트 관련 코드 검색
FILES=$(fd useMapViewer src/pages/map/hooks -t f)
for FILE in $FILES; do
  echo "==== $FILE ===="
  grep -nE "marker|addListener|onMarkerClick|removeListener|bottom|sheet" "$FILE" || echo "No matches in $FILE"
done

Length of output: 1403


수정 불필요: useMapViewer 훅에 이미 마커 이벤트 재바인딩 로직이 구현되어 있습니다.

useMapViewer 훅 내부에서 markersRef를 관리하며
– 새로운 마커 생성 시 addListener(marker, "click", …)
– 기존 마커 제거 시 marker.setMap(null) 및 이벤트 해제
– 매 렌더링마다 markersRef를 갱신
등의 로직이 포함되어 있어 MapViewer 컴포넌트에서 별도 수정 없이도 클릭 이벤트가 정상 재바인딩됩니다.

이 리뷰는 무시해 주세요.

Likely an incorrect or invalid review comment.

src/store/authStore.js (2)

6-6: 로그인 상태와 별도로 가입 완료 상태를 추적하는 플래그가 추가되었습니다.

isSignedUp 플래그를 추가하여 회원가입 완료 상태를 별도로 추적할 수 있게 되었습니다. 이는 PR 목표에 언급된 "회원가입 페이지에서 로그인 완료 처리가 제대로 되지 않는 오류"를 해결하는 첫 단계입니다.


9-9: 회원가입 완료를 처리하는 메소드가 추가되었습니다.

completeSignup 메소드를 통해 회원가입 완료 상태를 명시적으로 설정할 수 있게 되었습니다. 이를 통해 회원가입과 로그인 상태를 분리하여 보다 명확한 사용자 경험 흐름 관리가 가능해졌습니다.

src/pages/map/components/PlaceContent.jsx (3)

130-130: 온도 표시가 정수형으로 개선되었습니다.

.toFixed(0)를 사용하여 온도 값에서 소수점을 제거하고 정수로만 표시하도록 수정했습니다. 이는 PR 목표에 언급된 UI 개선사항과 일치하며, 사용자에게 더 깔끔한 표시를 제공합니다.


132-132: 방문자 리뷰 텍스트의 마크업 구조가 개선되었습니다.

방문자 리뷰 카운트 텍스트가 별도의 span 요소로 분리되어 마크업 구조가 개선되었습니다. 이를 통해 스타일링이 더 용이해지고 텍스트 간의 관계가 더 명확해졌습니다.


177-181: 하트 아이콘 경로가 표준화되었습니다.

좋아요 기능의 하트 아이콘 경로가 /svgs/common/ 디렉토리로 표준화되었습니다. 이는 앱 전반의 자산 관리 개선 작업의 일부로, 일관성을 높이고 유지보수성을 개선합니다.

src/pages/search/components/SearchBar.jsx (1)

9-9: SVG 경로 업데이트가 완료되었습니다.

SVG 아이콘 경로가 /svgs/common/ 디렉토리로 통일되어 파일 구조가 더 체계적으로 정리되었습니다.

src/pages/join/components/LocationStep.jsx (1)

2-3: SVG 아이콘 경로가 적절히 업데이트되었습니다.

XIcon과 BackIcon의 경로가 /svgs/common/ 디렉토리로 변경되어 PR 목표에 맞게 파일 구조가 표준화되었습니다.

src/pages/join/SignUp.jsx (2)

11-11: 필요한 스토어 모듈을 정확히 가져왔습니다.

회원가입 완료 상태 관리를 위해 필요한 useAuthStore가 적절히 임포트되었습니다.


41-41: 회원가입 완료 상태 처리가 적절히 구현되었습니다.

회원가입 API 호출 성공 후 completeSignup() 메서드를 호출하여 isSignedUp 상태를 업데이트하도록 수정되었습니다. 이 변경으로 PR에서 언급한 "회원가입 시 로그인 완료 처리가 제대로 되지 않는 문제"가 해결되었습니다.

src/pages/kakaoAuth/kakaoAuth.jsx (1)

27-27: 로그인 완료 후 회원가입 상태 업데이트 추가

기존 사용자에 대해 completeSignup() 메서드를 호출하여 로그인 성공 시 회원가입 상태를 업데이트하는 코드가 추가되었습니다. 이는 PR 목표에 언급된 "회원가입 페이지에서 로그인 완료 처리가 제대로 되지 않는 오류"를 해결하기 위한 변경사항입니다.

이 변경은 useAuthStoreisSignedUp 상태 플래그를 업데이트하여 로그인 및 회원가입 흐름을 일관되게 관리할 수 있게 합니다.

src/pages/join/components/NameStep.jsx (3)

2-3: 아이콘 경로 표준화

SVG 아이콘 경로가 /svgs/common/ 디렉토리로 표준화되었습니다. 이는 PR 목표에 언급된 "공용 파일 정리" 작업의 일환으로 보입니다.


24-28: 뒤로가기 버튼 위치 표준화

뒤로가기 버튼의 위치가 상단 중앙에 고정되도록 변경되었습니다. 이전에는 절대 위치로 배치되었을 것으로 보이나, 이제 화면 너비에 따라 자동으로 중앙 정렬되며 더 일관된 UI를 제공합니다.

이 변경은 PR 목표에 언급된 "회원가입 단계의 뒤로가기 버튼 위치 표준화"를 직접적으로 구현한 것입니다.


80-80: 조건부 클래스 표현식 단순화

조건부 클래스 표현식이 단순화되었습니다. 기능적인 변화는 없지만 코드가 더 간결해졌습니다.

src/pages/search/SearchPage.jsx (1)

229-229: 마커 이벤트 다시 바인딩을 위한 개선

검색 결과 마커에 isSearchResult: true 플래그를 추가하여 구분할 수 있게 했습니다. 이는 PR 목표에 언급된 "검색 페이지에서 핀 클릭 후 하단 시트가 다시 나타나지 않는 버그" 수정과 관련됩니다.

이 변경으로 마커 클릭 시 검색 결과임을 식별하여 하단 시트가 적절히 표시될 수 있습니다. 마커 이벤트가 다시 바인딩되어 사용자 경험이 개선됩니다.

@dbstj0403
Copy link
Collaborator

  • 좋아요를 두번 눌러야 적용되는 이슈가 있어요..! 장소마다 다른거 같기도 하고 렉인 것 같기도 하고.. 모르겠네여
  • 좋아요 누른 뒤 시트 내렸다가 다시 올리면 그대로인 이슈가 있습니다.

May-20-2025 10-33-32

@dbstj0403 dbstj0403 merged commit 5eae09b into develop May 20, 2025
4 checks passed
@dbstj0403 dbstj0403 deleted the feature/#68/All_QA branch May 20, 2025 07:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Fix Something isn't working Refactor Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants