목표
TryGallerySection CTA가 이동하는 /request/try?parent=<uuid> 라우트를 구현하고, Try 이미지 업로드 + 스팟 태깅 후 원본 포스트로 복귀·캐시 무효화까지 동작하게 한다.
배경 / 버그
packages/web/lib/components/detail/TryGallerySection.tsx 48행: router.push(`/request/try?parent=${postId}`) (아이템 없을 때)
packages/web/app/request/에는 upload/, detect/만 있고 try/ 없음 → 404
packages/web/app/request/page.tsx는 /request/upload로만 redirect
스펙
specs/screens/creation/SCR-CREA-TRY-01-try-upload.md
플로우: specs/flows/FLW-08-my-try.md Step 2~3 (로그인 필수, 단일 이미지, 스팟 태깅, 선택 코멘트, 성공 시 부모 포스트로)
구현 체크리스트
라우트·UI
제출
완료 후 UX
수용 기준
로그인 유저가 /request/try?parent=<valid>에서 이미지 + 스팟 태깅 제출 후 부모 /posts/:id로 이동한다.
제출 후 Try 갤러리 쿼리가 갱신되어 새 Try가 보인다(feat(community): Try 포스트 백엔드 — parent_post_id, tries API, OpenAPI/Orval #24 연동 후).
잘못된 parent로는 안전하게 실패 처리한다.
스팟이 없는 포스트에서는 SpotTagSelector가 표시되지 않는다.
의존
참고 파일
specs/screens/creation/SCR-CREA-TRY-01-try-upload.md
packages/web/app/request/upload/page.tsx (플로우·헤더·상태 패턴)
packages/web/lib/hooks/useImageUpload.ts, packages/web/lib/api/posts.ts
목표
TryGallerySectionCTA가 이동하는/request/try?parent=<uuid>라우트를 구현하고, Try 이미지 업로드 + 스팟 태깅 후 원본 포스트로 복귀·캐시 무효화까지 동작하게 한다.배경 / 버그
packages/web/lib/components/detail/TryGallerySection.tsx48행:router.push(`/request/try?parent=${postId}`)(아이템 없을 때)packages/web/app/request/에는upload/,detect/만 있고try/없음 → 404packages/web/app/request/page.tsx는/request/upload로만 redirect스펙
specs/screens/creation/SCR-CREA-TRY-01-try-upload.mdspecs/flows/FLW-08-my-try.mdStep 2~3 (로그인 필수, 단일 이미지, 스팟 태깅, 선택 코멘트, 성공 시 부모 포스트로)구현 체크리스트
라우트·UI
packages/web/app/request/try/page.tsx추가searchParams.parent검증: 유효한 UUID 아니면 에러/리다이렉트GET /api/v1/posts/{id}또는 기존 훅으로 로드)DropZone(기존packages/web/lib/components/request/DropZone.tsx재사용 검토)SpotTagSelector컴포넌트)제출
parent_post_id,post_type: try, 이미지 +media_title+spot_ids전송 —createPostWithFile계열 확장 또는 전용 함수완료 후 UX
router.push(`/posts/${parentId}`)+useQueryClient().invalidateQueries({ queryKey: ['tries', parentId] })sonner토스트items.length > 0이면 VTON 모달만 열리므로 라우트는 아이템 없을 때만 타는지 UX 검증수용 기준
/request/try?parent=<valid>에서 이미지 + 스팟 태깅 제출 후 부모/posts/:id로 이동한다.parent로는 안전하게 실패 처리한다.의존
스팟 리뷰 UI: feat(community): 스팟 소유 자가신고 + 사진 리뷰 (spot_reviews) #29→ 본 이슈로 통합 (스팟 태깅 UI)참고 파일
specs/screens/creation/SCR-CREA-TRY-01-try-upload.mdpackages/web/app/request/upload/page.tsx(플로우·헤더·상태 패턴)packages/web/lib/hooks/useImageUpload.ts,packages/web/lib/api/posts.ts