Skip to content

[fix] 위스키 등록 폼 카테고리 초기값 매핑 및 검증 피드백 개선#47

Merged
hyejj19 merged 1 commit intomainfrom
feature/issue-220-check
Apr 8, 2026
Merged

[fix] 위스키 등록 폼 카테고리 초기값 매핑 및 검증 피드백 개선#47
hyejj19 merged 1 commit intomainfrom
feature/issue-220-check

Conversation

@hyejj19
Copy link
Copy Markdown
Collaborator

@hyejj19 hyejj19 commented Apr 8, 2026

요약

위스키 신규 등록 시 카테고리 초기값 매핑 누락으로 인한 등록 실패 버그 수정 및 폼 검증 피드백 개선

동기

  • 신규 위스키 등록 폼에서 categoryGroupSINGLE_MALT로 초기화되지만, 대응하는 korCategory/engCategory가 빈 문자열로 남아 Zod 검증 실패 → 등록 불가
  • 검증 실패 시 인라인 에러만 표시되고 toast 알림이 없어 사용자가 에러를 인지하기 어려움
  • 카테고리 그룹 ↔ 카테고리명 매핑이 3개의 분산된 하드코딩 상수로 관리되어 동기화 문제 발생 가능

변경사항

  • GROUPED_CATEGORY_REFERENCES 단일 소스 도입 (미래 #221 API grouped 응답 형태 선행 구현)
  • 기존 하드코딩 매핑 3개 제거 (GROUP_TO_CATEGORY, CATEGORY_TO_GROUP_MAP, getCategoryGroup)
  • useCategoryGroupMap 훅 신규 생성 — #221 서버 API 반영 시 React Query 전환 대비
  • DEFAULT_WHISKY_FORM에서 GROUPED_CATEGORY_REFERENCES로부터 카테고리 초기값 세팅
  • 폼 검증 실패 시 showToast({ type: 'warning' }) 알림 추가
  • WhiskyList 카테고리 컬럼에서 불필요한 그룹 라벨(역산) 제거, korCategoryName만 표시

관련 이슈

테스트

  • pnpm test:run — 135개 전체 통과
  • pnpm build — 타입 에러 없이 빌드 성공
  • /whisky/new 접속 → 카테고리 그룹 "싱글몰트" 선택 시 한글/영문 카테고리 자동 세팅 확인
  • 필수 필드 비운 채 등록 버튼 클릭 → toast 경고 알림 확인
  • /whisky 목록 → 카테고리 컬럼에 korCategoryName만 표시 확인

🤖 Generated with Claude Code

- GROUPED_CATEGORY_REFERENCES 단일 소스 도입, 기존 하드코딩 매핑 3개 제거
- useCategoryGroupMap 훅 신규 생성 (#221 API 전환 대비)
- DEFAULT_WHISKY_FORM 카테고리 초기값 매핑 수정
- 폼 검증 실패 시 toast warning 알림 추가
- WhiskyList 카테고리 컬럼에서 불필요한 그룹 라벨 제거

Closes #220

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 8, 2026 02:20
@hyejj19 hyejj19 self-assigned this Apr 8, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

위스키 신규 등록 폼에서 categoryGroup 초기값과 korCategory/engCategory가 불일치해 Zod 검증에 실패하던 문제를 해결하고, 검증 실패 시 사용자 피드백(toast)을 추가하는 변경입니다.

Changes:

  • GROUPED_CATEGORY_REFERENCES 단일 소스를 도입하고 기존 하드코딩 매핑/유틸(getCategoryGroup, GROUP_TO_CATEGORY 등)을 제거
  • 신규 등록 기본값(DEFAULT_WHISKY_FORM)에서 카테고리 한/영 초기값을 단일 소스 기반으로 세팅
  • 폼 검증 실패(onInvalid) 시 warning toast를 표시하고, 목록의 카테고리 표시를 korCategoryName만 노출하도록 단순화

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/types/api/alcohol.api.ts 그룹-카테고리 레퍼런스 단일 소스(GROUPED_CATEGORY_REFERENCES) 도입 및 기존 매핑 제거
src/pages/whisky/WhiskyList.tsx 목록 카테고리 컬럼에서 그룹 라벨(역산 표시) 제거
src/pages/whisky/WhiskyDetail.tsx 폼 검증 실패 시 warning toast 노출 추가
src/pages/whisky/useWhiskyDetailForm.ts 신규 등록 폼 기본값의 korCategory/engCategory 초기 세팅 수정
src/pages/whisky/components/WhiskyBasicInfoCard.tsx 그룹 변경 시 기본 카테고리 세팅 로직을 useCategoryGroupMap 기반으로 변경
src/hooks/useCategoryGroupMap.ts 그룹/카테고리 매핑 파생 훅 신규 추가
src/hooks/tests/useAdminAlcohols.test.ts 매핑 로직 테스트를 useCategoryGroupMap 기준으로 갱신

@hyejj19 hyejj19 merged commit a8e7a28 into main Apr 8, 2026
6 checks passed
@hyejj19 hyejj19 deleted the feature/issue-220-check branch April 8, 2026 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[issue]: 어드민 위스키 등록 오류

2 participants