feat: 링크로 담기 실패 사유를 토스트 대신 helper text로 안내 - #415
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Discord 스레드 연동용 메타데이터입니다. discord-pr-bot 워크플로가 자동 생성하며, 수정·삭제하면 PR 과 Discord 알림 연동이 끊깁니다. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthrough링크 저장 훅에 오류 토스트 제어 옵션을 추가했다. 링크 다이얼로그는 URL 검증 오류와 API 오류를 입력창 helper text로 표시한다. 성공 시에만 다이얼로그와 입력 상태를 초기화한다. Changes링크 저장 오류 처리
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
작업 요약
링크로 담기 모달에서 실패 시 모달 위에 토스트가 겹쳐 뜨던 것을, 입력창 아래 helper text로 수정
작업 세부 내용
링크로 담기 모달은 실패 시 모달을 닫지 않습니다. 사용자가 링크를 바로 고칠 수 있게 하려는 의도입니다 (
닫기/초기화는 성공 시에만 — 실패 시 URL을 고칠 수 있게 유지).그런데 실패 사유는 토스트로 띄우고 있어서, 모달 위에 토스트가 겹쳐 뜨고 정작 고쳐야 할 입력창과 안내가 멀리 떨어져 있었습니다. 모달을 열어둘 거면 안내도 모달 안에 있어야 한다고 판단해 helper text로 옮겼습니다.
1. 훅에 에러 토스트 비활성 옵션 추가
usePostWishLink/usePostTournamentItemLink가 4xx를 무조건 토스트로 띄우고 있어, 화면 안 안내와 중복됐습니다.showErrorToast옵션(기본true)을 추가해 호출부가 끌 수 있게 했습니다. 기본값을 유지한 이유는 입력창이 없는 경로 때문입니다. 앱 공유 인텐트(useShareIntentWish)는 helper text를 띄울 자리가 없어 토스트가 유일한 안내 수단입니다.5xx는 기존과 동일하게 전역
MutationCache.onError가 토스트 + Sentry로 처리합니다.2. 실패 사유를 helper text로 노출
hasError불리언을errorMessage: string | null로 바꿔, 클라 검증 문구와 서버 응답 문구를 같은 자리에 표시합니다. 입력을 수정하면 사라집니다.detail서버 문구 변환은 기존
getApiErrorMessage유틸을 재사용했습니다.3. http 링크를 요청 전에 차단
서버가 https만 받는데 클라는
http를 통과시켜 서버 왕복 후에야 실패했습니다. 요청 전에 거르도록 했습니다.https://·https:/·dfhttp://a.com·신발 http://a.comhttps://s.zigzag.kr/AbCURL_PATTERN·extractUrlFromText유틸 자체는 건드리지 않았습니다. 앱 공유 인텐트가 함께 쓰는 유틸이라 https 전용으로 바꾸면http링크의 공유 담기가 조용히 실패합니다. 다이얼로그 안에서만 거르도록 범위를 좁혔습니다.형식 오류(
submitUrl === null)와 스킴 오류를 분리했습니다. 하나로 묶으면https://만 입력한 사용자에게도 "https 링크만"이라는 맞지 않는 안내가 뜹니다.스크린샷
연관 이슈
closes #402
Summary by CodeRabbit