문제:
- useSetOnRightClick 훅이 useEffect 안에서 호출되어 에러 발생
- "Invalid hook call" 에러 발생
수정 사항:
- useSetOnRightClick을 컴포넌트 최상위 레벨로 이동
- 조건부로 함수 또는 undefined를 전달하도록 변경
- useSetOnRightClick 훅의 의존성 배열에 fn 추가
- fn이 undefined일 때도 올바르게 처리하도록 개선
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 헤더 오른쪽 버튼 시스템 구현
- ContextType에 setOnRightClick 추가
- useSetOnRightClick 훅 추가
- HeaderNavigationProps에 onRightClick 추가
- HeaderType.LeftArrow에 오른쪽 삭제 버튼 렌더링
- 사용자 삭제 API 및 타입 추가
- UserDeleteParams, UserDeleteResponse 인터페이스 추가
- use-user-delete-mutation 훅 생성
- API_URL_USER.deleteUser() 엔드포인트 사용
- 사용자 설정 페이지에서 삭제 기능 구현
- 현재 로그인한 사용자가 아닐 경우에만 삭제 버튼 표시
- showConfirm 다이얼로그로 삭제 확인
- 삭제 성공 시 토스트 메시지 표시 및 목록 페이지로 이동
- 목록 페이지에서 refresh 상태로 자동 갱신
- showConfirm 위젯 추가
- Promise 기반의 확인 다이얼로그
- 취소/확인 버튼 지원
- 다국어 지원 (common.cancel, common.confirm)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add grant check (64, 'X') to QNA register page
- Add grant check (45, 'X') to user login auth modification
- Replace hardcoded Korean permission messages with i18n key 'common.nopermission'
- Add 'nopermission' translation key to both en.json and ko.json
- Update .env.development to use development API endpoints
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated 24 files to resolve 111 TypeScript compilation errors by:
- Updating imports from direct constant exports to getter functions
- Adding i18n support with useTranslation hook
- Fixing curried function calls to use translation function parameter
- Adding explicit type annotations to map callbacks
All filter components, list wrappers, and page components now properly
use internationalized getter functions for status text and button groups.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 안면인증 페이지 다국어화
* 헤더 타이틀: 안면인증 → Face Authentication
* 검색옵션, 다운로드 버튼 aria-label 및 alt 텍스트
* 정렬 옵션: 최신순/오래된순
- 공통 번역 키 추가
* common.latest: 최신순 / Latest
* common.oldest: 오래된순 / Oldest
- 번역 키 추가: faceAuth 네임스페이스
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 홈 화면 일/월 탭, 매출/정산 현황 다국어화
- 매출/정산 상세 정보 라벨 다국어화 (승인/취소 건수, 정산한도 등)
- 거래 인사이트 및 랭킹 섹션 다국어화
- 요일 이름 동적 번역 기능 추가 (월요일-일요일 → Monday-Sunday)
- 계정 관리 화면 다국어화 (계정 상태, 로그인 범위, 권한 설정)
- 메뉴 카테고리 다국어화 (en 언어시 menuNameEng 사용)
- 즐겨찾기 메뉴 다국어화
- 하단 네비게이션 버튼 다국어화
- 공지사항 제목 다국어화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- updateMessageCount를 updateAlarmCount로 변경
- BridgeMessageType.UPDATE_MESSAGE_COUNT를 UPDATE_ALARM_COUNT로 변경
- header에서 알림 카운트 조회 시 네이티브 앱에 카운트 업데이트 적용
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace XKeypad with standard password input fields
- Update user authentication and login info components
- Modify password modification and account pages
- Add sub-layout widget enhancements
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- 새로운 메뉴 아이콘 SVG 파일 추가 (31-65, 99번)
- constant.ts, favorite-wrapper.tsx, menu/index.tsx, sub-layout 수정
- public/pub 디렉토리 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Safe area bottom 고려하여 완전히 숨김 처리
- 스크롤 속도 증가 (0.5 -> 0.8)
- SCROLL_THRESHOLD 조건 제거로 자유로운 스크롤 구현
- 드래그 중 opacity 변화 제거
- 스냅은 드래그 종료 시에만 적용
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>