Skip to content

feat: 바텀시트 핀 생성자 표시, 곡 상세 보기 버튼 추가 - #323

Merged
L0521 merged 5 commits into
developfrom
feat/311-bottomsheet-detail-ui
Aug 11, 2026
Merged

L0521 merged 5 commits into
developfrom
feat/311-bottomsheet-detail-ui

Conversation

@L0521

@L0521 L0521 commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

변경 내용

  • mapPinToPlaceInfo가 creatorName을 채우지 않아 지도에서 핀을 직접 클릭했을 때 항상 "생성되지 않음"으로 표시되던 문제를 수정합니다.
  • MY 태그가 활성화된 핀(본인이 곡을 등록한 장소)의 바텀시트에 "OO님이 등록한 곡 상세 보기" 버튼을 추가합니다. 클릭 시 본인이 등록한 곡 상세 페이지로 이동하고, 뒤로가기 시 같은 바텀시트로 복귀할 수 있도록 지도 선택 상태를 지우지 않습니다.

관련 이슈

Closes #311

변경 사항

  • 새로운 기능 추가
  • 버그 수정
  • UI/UX 개선
  • 리팩토링
  • 문서 업데이트

테스트

  • 브라우저에서 정상 동작 확인
  • 기존 기능에 영향 없음 확인

스크린샷 (UI 변경시)

스크린샷 2026-08-12 오전 1 57 53

체크리스트

  • 코드가 정상적으로 동작합니다
  • 새로운 에러나 경고가 없습니다
  • 필요시 문서를 업데이트했습니다
  • 코드 포맷팅을 실행했습니다 (pnpm format)
  • ESLint 검사를 통과했습니다 (pnpm lint:fix)

코드 품질 확인
PR 제출 전에 다음 명령어를 실행하여 코드 품질을 확인해주세요:

pnpm lint:fix
pnpm format

Summary by CodeRabbit

  • 새로운 기능

    • 지도와 핀 목록에서 본인이 등록한 곡의 상세 화면으로 바로 이동할 수 있습니다.
    • 핀 작성자의 닉네임과 프로필 이미지가 곡 상세 안내에 표시됩니다.
  • 개선 사항

    • 장소 및 핀 상세 바텀시트가 선택한 항목에 따라 안정적으로 표시됩니다.
    • 핀 상세 화면으로 이동해도 현재 위치와 선택한 장소 정보가 유지됩니다.

L0521 added 3 commits August 12, 2026 01:54
mapPinToPlaceInfo가 creatorName을 채우지 않아 지도에서 핀을 직접
클릭했을 때 항상 "생성되지 않음"으로 표시되던 문제를 수정합니다.
핀/장소 바텀시트의 open을 isUiActive에 묶어두면, 상세 페이지로
covered됐다가 돌아올 때마다 시트가 언마운트되지 않은 채 열림→닫힘→
열림이 재생되면서 지도 터치가 막히는 문제가 있었습니다. covered
상태의 시각적/조작 차단은 위에 덮이는 페이지의 z-index가 이미
맡고 있으므로, 시트는 선택된 대상이 있는 동안 계속 열어 둡니다.
MY 태그가 활성화된 핀(본인이 곡을 등록한 장소)의 바텀시트에
"OO님이 등록한 곡 상세 보기" 버튼을 추가합니다. 클릭 시 본인이
등록한 곡의 상세 페이지로 이동하고, 뒤로가기 시 같은 바텀시트로
복귀할 수 있도록 지도 선택 상태를 지우지 않습니다.

pinByMe가 백엔드에서 채워져야 실제로 노출됩니다.
@L0521 L0521 self-assigned this Aug 11, 2026
@L0521 L0521 added the feature Feature implementation label Aug 11, 2026
@coderabbitai

coderabbitai Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@L0521, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 25 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: c138a35a-74c6-4ab7-a20a-41c78de88604

📥 Commits

Reviewing files that changed from the base of the PR and between fa1da75 and b499bc2.

📒 Files selected for processing (3)
  • src/components/ui/BottomSheet.tsx
  • src/features/pin/components/PinListSheet.tsx
  • src/pages/MapPage.tsx
📝 Walkthrough

Walkthrough

본인 핀을 식별해 곡 상세 CTA를 표시합니다. CTA 클릭 시 MapPage가 선택 상태와 위치 정보를 유지하고 핀 상세 경로로 이동합니다. 장소 정보에는 핀 작성자 닉네임을 추가합니다.

Changes

본인 핀 상세 이동

Layer / File(s) Summary
본인 핀 CTA 구성
src/features/pin/components/PinListSheet.tsx
PinListSheet가 본인 핀을 찾아 myPin으로 전달합니다. 포커스된 피드 핀이 없으면 프로필 이미지와 닉네임을 포함한 본인 곡 상세 CTA를 표시합니다.
지도 바텀시트 라우팅
src/pages/MapPage.tsx
장소 및 핀 바텀시트가 선택 객체 기준으로 열립니다. 본인 핀 클릭 시 선택 상태와 위치 정보를 유지하고 핀 상세 경로로 이동합니다. 장소 정보에 작성자 닉네임을 매핑합니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: kim3360

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant PinListSheet
  participant MapPage
  participant PinDetail
  User->>PinListSheet: 본인 곡 상세 CTA 클릭
  PinListSheet->>MapPage: onMyPinClick(pin)
  MapPage->>MapPage: 선택 핀과 위치 상태 유지
  MapPage->>PinDetail: 핀 상세 경로로 이동
Loading
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 핀 생성자 표시와 곡 상세 보기 버튼 추가라는 주요 변경 사항을 명확하게 설명합니다.
Linked Issues check ✅ Passed MY 핀에 곡 상세 보기 버튼을 추가하고 클릭 시 상세 화면으로 이동하도록 구현하여 이슈 #311의 요구사항을 충족합니다.
Out of Scope Changes check ✅ Passed 변경 사항은 핀 생성자 표시, MY 핀 상세 이동, 바텀시트 상태 유지 등 PR 목표와 직접 관련됩니다.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/311-bottomsheet-detail-ui

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

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

https://pr-323.plimap.kr

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/features/pin/components/PinListSheet.tsx`:
- Around line 300-302: Update the CTA text in the PinListSheet render block to
avoid interpolating an undefined myProfile?.nickname while the profile is
loading. Render the nickname-based message when available, otherwise display the
fallback “내가 등록한 곡 상세 보기” without an undefined prefix.

In `@src/pages/MapPage.tsx`:
- Line 532: Update the BottomSheet open conditions in MapPage so both
selectedMapPlace and selectedMapPin require isUiActive as well as a non-null
selection. Preserve the selection state independently so the sheet can be
restored after navigating back.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a9d48af9-ddb0-49b6-8c0d-4e316ad1984c

📥 Commits

Reviewing files that changed from the base of the PR and between 98dbc1a and fa1da75.

📒 Files selected for processing (2)
  • src/features/pin/components/PinListSheet.tsx
  • src/pages/MapPage.tsx

Comment thread src/features/pin/components/PinListSheet.tsx
Comment thread src/pages/MapPage.tsx Outdated
L0521 added 2 commits August 12, 2026 02:32
open을 selectedMapPlace/selectedMapPin 존재 여부로만 판단하면 지도
핀 클릭 시 바텀시트가 기본 스냅이 아니라 축소된 채로 뜨는 부작용이
있었습니다. MapPage.tsx의 open은 isPlaceSheetOpen/isUiActive 기준으로
되돌리고, covered↔visible 반복 시 vaul에 닫힘→열림이 재생되며 지도
터치가 막히는 문제는 BottomSheet 내부의 별도 sticky 상태로 처리합니다.
myProfile 조회가 아직 끝나지 않았을 때 닉네임 자리가 비어 보이는
문제를 코드래빗 리뷰로 확인해, 로딩 중엔 '나'를 대신 보여줍니다.
@L0521
L0521 merged commit ba29794 into develop Aug 11, 2026
4 checks passed
@L0521
L0521 deployed to preview-maintenance August 11, 2026 17:47 — with GitHub Actions Active
@L0521
L0521 deleted the feat/311-bottomsheet-detail-ui branch August 13, 2026 12:40

This branch was successfully deployed

2 active deployments
preview-maintenance — b499bc2b Deployed Aug 11, 2026 by L0521 via cleanup #551
preview — b499bc2b Deployed Aug 11, 2026 by L0521 via deploy #549
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Feature implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

바텀시트 상세 보기 UI 수정

1 participant