feat: 공연장 프로필 페이지(place) 신규 및 공연장 정보 고도화#433
Open
hexdrinker wants to merge 17 commits into
Open
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- React 18 + Vite 5 + React Compiler(target 18) 구성의 place 워크스페이스 추가 - 공연장 홈 화면 구현: Hall Head(요약/문의처), 홈 탭(소개/사진/편의시설/위치), 데이터 없는 경우 COMING SOON - 데스크탑은 max-width 680px 중앙 고정, 모바일 웹뷰 기준 레이아웃 - 로컬 개발용 vite 프록시(/web -> dev.api.boolti.in) 구성 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ConcertHallProfileResponse에 rental 섹션(대관 방법/시간/대관료/추가요금/ 부가세/보유악기/유료옵션/특이사항) 타입을 추가한다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
대관 정보 탭을 신규 구현한다. 대관 방법/시간/대관료/시간당 추가 요금/ 보유 악기(더보기 토글)/유료 옵션/특이사항을 응답 데이터로 렌더하고, hasRentalTabData가 false면 ComingSoon을 노출한다. 금액 포맷 유틸 추가. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GET /web/papi/v1/concert-halls/{id}/images 쿼리(useConcertHallImages)와
ConcertHallImageListResponse 타입을 추가한다. 홈 탭은 최대 5장 미리보기만
주므로 사진 목록/크게보기에서 전체 사진을 조회하는 데 사용한다.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 사진 썸네일 클릭 시 크게보기(가로 스크롤 캐러셀 + dot), 더보기(+N) 클릭 시 사진 목록(3열 그리드) 모달을 띄운다. 전체 사진은 별도 조회. - 미리보기 오버레이를 백엔드 미리보기 장수 기준으로 보정. - 소개 섹션에 '내용 접기' 토글 추가. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
앞 2글자로 무조건 자르던 로직을 디자인 규칙 기반 매핑으로 교체한다. 숫자 호선은 숫자만, 인천 N호선은 '인천 N', 신분당/경의/공항 등은 노선별 라벨, GTX-A는 원문 유지, 미정의 노선은 자르지 않고 노출한다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
place/super-admin에 중복되던 노선 칩을 @boolti/ui로 추출한다. 노선명-> 라벨 매핑(숫자 호선/인천 N/신분당/GTX 등)과 배경 밝기 기반 텍스트 색 보정을 내장하고 size(small/medium)를 지원한다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
자체 SubwayLineBadge 컴포넌트를 제거하고 공통 컴포넌트를 사용한다. 밝은 노선의 흰색 고정 텍스트 가독성 문제도 함께 해소된다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
루트 경로를 /:concertHallId로 변경하고, 매칭되지 않는 경로는 ErrorPage로 처리한다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
웹사이트/전화/메일 버튼을 항상 노출하고, 값이 없는 항목은 비활성 스타일로 표시하며 클릭 시 준비 중 토스트를 띄운다. 웹사이트는 normalizeWebsiteUrl로 보정해 연다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
주소 찾기로 도로명주소를 선택하면 카카오 주소 검색 API로 위경도를 지오코딩해 공연장 정보 수정 요청(location.latitude/longitude)에 담는다. 기존에는 새 주소를 골라도 좌표가 갱신되지 않고 기존 값만 보존했다. 지오코딩 실패 시에는 기존 좌표를 유지한다. VITE_KAKAO_REST_API_KEY 환경변수가 필요하다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
HallHead의 자체 SubwayLineChip과 format.ts의 getSubwayLineShortName· isLightColor 중복 구현을 제거하고 공통 컴포넌트를 사용한다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
NaverGeocodeProvider(geocoder submodule)와 useNaverGeocode(주소→좌표 Promise 래핑)를 추가한다. @types/navermaps가 없는 앱에서도 동작하도록 필요한 최소 인터페이스로 캐스팅해 사용한다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
카카오 로컬 API 지오코딩(utils/geocode) 대신 @boolti/ui의 useNaverGeocode를 사용한다. NCP 키가 있으면 NaverGeocodeProvider로 감싸 좌표를 취합하고, 없으면 좌표 없이 동작한다(페이지 안전). VITE_X_NCP_APIGW_API_KEY_ID 환경변수가 필요하다. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
개요
공연장 공개 프로필 웹뷰 앱(
apps/place)을 신규 추가하고, 홈/대관 정보 탭과 관련 공통 컴포넌트를 구현합니다. dev Swagger(web/papi공연장 프로필 API)와 Figma(Boolti Vol.2)를 기준으로 작업했습니다.주요 작업
apps/place (공연장 공개 프로필)
/:concertHallId라우팅, 미매칭 경로 ErrorPage)@boolti/ui
SubwayLineBadge공통 컴포넌트 신규 — 노선명→라벨 매핑(숫자/인천 N/신분당/GTX 등)과 배경 밝기 기반 텍스트 색 보정 내장, size(small/medium)apps/super-admin
SubwayLineBadge로 교체 (자체 구현 제거)@boolti/api
검증
yarn type-check,yarn lint(place / super-admin / @boolti/ui / @boolti/api) 통과참고 / 후속
VITE_X_NCP_APIGW_API_KEY_ID(네이버 지도), super-admin 지오코딩:VITE_KAKAO_REST_API_KEY환경변수 필요🤖 Generated with Claude Code