Skip to content

feat : 지도 화면에 실제 핀 데이터 연결 - #182

Merged
L0521 merged 2 commits into
developfrom
feat/179-map-pins-connect
Aug 3, 2026
Merged

L0521 merged 2 commits into
developfrom
feat/179-map-pins-connect

Conversation

@L0521

@L0521 L0521 commented Aug 3, 2026 •

Copy link
Copy Markdown
Contributor

변경 내용

  • MapPage.tsx에 useMapPins(viewport) 연결, onViewportChanged로 idle마다 갱신
  • selectedMapPinId state 추가, 탭 시 갱신되도록 onSelectMapPin 연결
  • 하드코딩돼 있던 mapPins={[]} / selectedMapPinId={null} 제거
  • 개발 환경에서 실 API 응답이 비어있을 때 서울시청 근처 고정 좌표에 목데이터 4개를 띄워 배선/렌더링 확인 가능하게 함 (프로덕션 빌드 미포함)

그 외: MapPinMarker의 선택 시 scale(1.2)가 말풍선까지 같이 확대시키던 버그 수정 (아이콘 전용 wrapper로 분리) - feat/170 PR 리뷰에서 나왔던
수정사항이 머지 전에 누락돼 있어서 같이 반영

관련 이슈

Closes #179

변경 사항

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

테스트

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

스크린샷 (UI 변경시)

스크린샷 2026-08-03 오후 8 40 07

체크리스트

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

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

pnpm lint:fix
pnpm format

Summary by CodeRabbit

  • 새 기능
    • 지도 화면에서 현재 지도 영역에 맞는 핀 정보를 표시합니다.
    • 개발 환경에서 조회 결과가 없을 때 서울시청 인근의 예시 핀을 표시합니다.
    • 선택한 핀이 확대되고 전환 효과가 적용되어 위치를 더 쉽게 확인할 수 있습니다.
    • 핀에 연결된 프로필 이미지를 원형으로 표시합니다.

- MapPage.tsx에 useMapPins(viewport) 연결, onViewportChanged로 idle마다 갱신
- selectedMapPinId state 추가, 탭 시 갱신되도록 onSelectMapPin 연결
- 하드코딩돼 있던 mapPins={[]} / selectedMapPinId={null} 제거
- 개발 환경에서 실 API 응답이 비어있을 때 서울시청 근처 고정 좌표에
  목데이터 4개를 띄워 배선/렌더링 확인 가능하게 함 (프로덕션 빌드 미포함)

그 외: MapPinMarker의 선택 시 scale(1.2)가 말풍선까지 같이 확대시키던
버그 수정 (아이콘 전용 wrapper로 분리) - feat/170 PR 리뷰에서 나왔던
수정사항이 머지 전에 누락돼 있어서 같이 반영
@L0521 L0521 self-assigned this Aug 3, 2026
@L0521 L0521 added the feature Feature implementation label Aug 3, 2026
@coderabbitai

coderabbitai Bot commented Aug 3, 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: 50 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

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: 0bc438d2-f544-4d63-b9de-75693ac25531

📥 Commits

Reviewing files that changed from the base of the PR and between 7619e40 and d26aeef.

📒 Files selected for processing (1)
  • src/pages/MapPage.tsx
📝 Walkthrough

Walkthrough

MapPage가 viewport 기반 실제 핀 데이터를 조회하고, 개발 환경에서 mock 핀으로 fallback합니다. 선택된 핀 ID와 viewport 이벤트를 MapViewer에 연결합니다. MapPinMarker는 내부 컨테이너에서 선택 상태 확대를 처리합니다.

Changes

지도 핀 흐름

Layer / File(s) Summary
viewport 기반 핀 데이터 연결
src/features/map/constants/devMockMapPins.ts, src/pages/MapPage.tsx
서울시청 인근 개발용 mock 핀 4개를 추가했습니다. MapPage는 viewport로 핀을 조회하고, 개발 환경에서 조회 결과가 없으면 mock 핀을 사용합니다. MapViewer에 핀 데이터와 선택된 핀 ID를 전달합니다.
선택 핀 렌더링 조정
src/features/map/components/MapPinMarker.tsx
핀과 프로필 이미지 렌더링을 내부 컨테이너로 이동했습니다. 선택 상태 확대와 전환 스타일을 내부 컨테이너에 적용했습니다.

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

Sequence Diagram(s)

sequenceDiagram
  participant MapPage
  participant useMapPins
  participant MapViewer
  participant MapPinMarker
  MapPage->>useMapPins: viewport로 핀 데이터 조회
  useMapPins-->>MapPage: 조회된 mapPins 반환
  MapPage->>MapViewer: mapPins와 selectedMapPinId 전달
  MapViewer->>MapPinMarker: 핀 데이터와 선택 상태 전달
  MapViewer-->>MapPage: viewport 변경 및 핀 선택 이벤트 전달
Loading

Possibly related PRs

  • UMC10th-PLIMAP/plimap-web#169: useMapPins API 및 조회 인프라를 추가한 변경으로, 이번 viewport 기반 핀 조회와 직접 연결됩니다.
  • UMC10th-PLIMAP/plimap-web#76: MapPage의 핀 선택 흐름과 MapPinMarker의 선택 상태 렌더링을 확장한 변경입니다.
  • UMC10th-PLIMAP/plimap-web#99: 핀 오버레이 선택 흐름을 추출한 변경으로, 이번 MapPinMarker 렌더링 조정과 연결됩니다.

Suggested labels: enhancement

Suggested reviewers: kim3360

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed MapPage에 useMapPins, 선택 상태, viewport 갱신, 개발 환경 mock fallback을 연결해 이슈 #179의 요구 사항을 충족합니다.
Out of Scope Changes check ✅ Passed MapPinMarker 수정과 개발용 mock 데이터 추가는 실제 핀 연결 및 선택 상태 표시 목적에 직접 관련됩니다.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 지도 화면에 실제 핀 데이터를 연결하는 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/179-map-pins-connect

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

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

https://pr-182.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: 1

🤖 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/pages/MapPage.tsx`:
- Around line 59-65: Update the DEV_MOCK_MAP_PINS fallback condition in
MapPage’s mapPins calculation so it activates only when mapPinsData exists and
its pins array is actually empty. Do not treat undefined mapPinsData as an empty
response; preserve the empty array fallback for unavailable data so loading,
disabled low-zoom viewports, and API errors do not display mock pins.
🪄 Autofix (Beta)

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: b150fc4d-1bb6-4f0d-b552-5424b528bec0

📥 Commits

Reviewing files that changed from the base of the PR and between afca281 and 7619e40.

📒 Files selected for processing (3)
  • src/features/map/components/MapPinMarker.tsx
  • src/features/map/constants/devMockMapPins.ts
  • src/pages/MapPage.tsx

Comment thread src/pages/MapPage.tsx
mapPinsData가 undefined(로딩 중/줌 제한으로 비활성/API 에러)인 경우를
빈 응답으로 오인해 개발용 목데이터를 띄우던 문제 수정. 실제로 응답이
도착했는데 pins가 빈 배열인 경우에만 목데이터를 사용하도록 조건 변경
@L0521
L0521 merged commit b5ff2f6 into develop Aug 3, 2026
3 of 4 checks passed
@L0521
L0521 temporarily deployed to preview-maintenance August 3, 2026 11:50 — with GitHub Actions Inactive
@L0521
L0521 deleted the feat/179-map-pins-connect branch August 4, 2026 15:14

This branch was successfully deployed

1 inactive deployment
preview-maintenance — d26aeef1 Deployed Aug 3, 2026 by L0521 via cleanup #290
preview — d26aeef1 Deployed Aug 3, 2026 by L0521 via deploy #289
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.

지도 화면에 실제 핀 데이터 연결

1 participant