Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID:
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. Comment |
github-actions
Bot
requested review from
jjunh33,
sangrae2325,
tnals0924 and
xeoxxn
September 27, 2026 12:38
sangrae2325
force-pushed
the
feat/#70-lockers-zone-select
branch
from
October 1, 2026 07:24
064d06d to
730aaf7
Compare
sangrae2325
force-pushed
the
feat/#75-lockers-section-lockers
branch
from
October 1, 2026 08:08
003bcbb to
71f6202
Compare
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.
실제 뷰
#️⃣연관된 이슈
🎯 해결하려는 문제가 무엇인가요?
구역을 고른 뒤 그 구역 안에서 사물함 칸을 고르는 화면이 없다. Figma의 A-1구역(
2159:110753), A-2구역(2159:109533), A-1구역 실제사진(2159:110174), 사물함 선택 시(2159:113197)를 옮긴다.❓ 왜 해결해야 하나요?
#71의 구역 선택 화면에서
선택 완료를 눌러도 갈 곳이 없어서 신청 흐름이 끊겨 있다. 구역마다 칸 배치가 실제 공간 구조대로 달라서, 도면처럼 보고 칸을 골라야 한다.Figma에는 구역이 8개(A-1~A-4, B-1, B-2, C, D) 있어서 구역마다 배치 컴포넌트를 짜면 코드가 계속 늘어난다. 백엔드와 구역별 배치·실제 사진을 서버에서 내려주기로 해서, 배치를 데이터로 그리는 구조로 바꿨다.
⭐ 어떻게 해결했나요?
화면 흐름
선택 완료→/lockers/apply/sections/:sectionId→ 칸 선택준비 중화면을 보여준다칸 배치 — 서버 layout JSON을 렌더러로 그린다
sectionId·section·layout·photoUrl·lockers)를constants/lockersSectionDetails.ts에 정의하고 A-1·A-2 목데이터를 넣었다LockersLayoutRenderer가 layout(블록 7종:row·column·lockerGroup·label·area·text·shelfLabel)을 그린다. 크기는hug·fill·pxlockers에서lockerNumber로 찾는다LockersMapArea·LockersMapLabel로 뺐다확대·축소 — 핀치(터치)·Ctrl+휠(트랙패드 핀치). CGV 좌석 선택처럼 1배로 가운데부터 보여주고, 최소는 배치 전체가 화면 폭에 들어오는 배율, 최대 3배. 확대하면 가로·세로로 스크롤된다
미니맵 — 본문 배치를
zoom으로 줄여 그린다. 높이 110px 고정, 폭은 배치 비율에 맞춘다. 모든 구역에 띄우고, 검은 테두리가 보이는 영역의 가로·세로를 따라간다(확대하면 작아진다). 스크롤이 없으면 테두리를 숨긴다하단 선택 영역 —
LockersSelectedLockerBar. 선택 전엔선택한 사물함이 없어요.+ 잠긴사물함을 선택해 주세요, 선택 후엔 서버lockerLabel(A-25) +사물함 신청하기실제 사진 모달 — 헤더의 사진 아이콘으로 연다. 서버는 사진 주소만 주고, 핀 좌표는 프론트가 구역별 상수(
lockersSectionPhotoPins.ts, 사진 대비 0~1 비율)로 관리한다. 핀 색은 칸이 묶음의 몇 번째 행인지로 정한다(위쪽일수록 진하게, 3행 50·70·90 / 5행 50·60·70·80·90). 딤 클릭·Esc로 닫힌다WDS —
ScreenHeader+TopNavigationButton,IconImage/IconReset/IconClose,IconButton,ActionArea/ActionAreaButton,Typography. 칸·칸 묶음·미니맵·범례·모달은 Stream 로컬이다(wds-component-usage.md에 정리).🧩 이 PR의 한계 & 트레이드오프
사물함 신청하기이후 동작이 없다. 신청 API가 없어서 버튼만 열어뒀다(onSubmit만 채우면 된다)window.location.reload()다. [Feat/#70] 사물함 구역 선택 화면 #71 구역 선택 화면과 같은 방식이다⛓️ 기존 기능에 미치는 영향
LockersSectionSelectScreen의선택 완료가 이제 칸 선택 화면으로 이동한다LockersFloorMap([Feat/#70] 사물함 구역 선택 화면 #71)의 점선 상자를 공용LockersMapArea로 바꿨다 — 렌더링은 같다index.css에 토큰 7개 추가 —orange-95/90/80/70/60/50,line-solid-alternative. 전부 WDS 변수 별칭이다🔀 Edge Case & 실패 시나리오
/lockers/apply/sections/B-1등):준비 중화면replace이동lockers에 없는 번호(서버 데이터 불일치): 칸 대신 빈 자리로 둔다type: 그 블록만 건너뛰고 나머지를 그린다inert로 막아 Tab·스크린리더에 두 번 잡히지 않게 했다key={sectionId}로 새로 그려서 선택·스크롤·배율이 남지 않는다📋 검토한 대안과 선택 이유
transform: scale로 확대 → 스크롤 영역 크기에 반영되지 않아 확대해도 스크롤이 생기지 않는다. CSSzoom을 쓴다💬 리뷰 포인트
[c]layout 블록 7종과 크기 규칙(fill이 부모 방향에 따라 다르게 동작) — 백엔드에 넘길 형태다[c]확대·축소(useLockersPinchZoom) — 앱 WebView 실기기에서 확인 부탁[a]내 사물함 초록 테두리, A-2 임시 사진✅ 검증
tsc -b·biome check·vite build통과백엔드 전달용 응답 가이드(블록 7종·필드·예시)는 별도로 전달한다.