- 이메일/전화번호 형식 및 중복 검증 기능 추가
- 실시간 validation 오류 메시지 표시
- 입력 중이거나 오류 발생 시 추가 버튼 비활성화
- 공백 trim 처리하여 중복 검사 정확도 향상
- validation 오류 시 편집 모드 유지하여 수정 가능
- 빈 입력란 blur 시 자동 제거
- 삭제 버튼 항상 활성화
- 다국어 지원 (한국어/영어)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 비밀번호 변경 페이지에 확인 Dialog 추가 (로그인/거래취소)
- 비밀번호 에러 코드별 상세 메시지 처리
* INVALID_PASSWORD, UPDATE_PASSWORD_FAIL, PREVIOUS_PASSWORD
* MERCHANT_INFO_MATCH_PASSWORD, PASSWORD_LENGHT
* DISALLOWED_CHARACTERS_INCLUDED, DISALLOWED_WHITE_SPACE
* NOT_ENOUGH_COMPLEXITY, REPEATED_CHARACTER_SEQUENCE
* COMMON_PASSWORD_DETECTED
- 비밀번호 입력 검증 로직 통합 (validatePassword)
- 이메일/전화번호 마스킹 기능 추가
- 사용자 추가 페이지 에러 처리 개선
- 다국어 메시지 추가 (한국어/영어)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- PermItem 타입에 menuNameEng 속성 추가
- 메뉴 권한 목록/아이템/페이지에서 현재 언어에 따라 메뉴 이름 선택
- 영어 번역 파일에 사용자 삭제 관련 번역 키 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 즐겨찾기 삭제 시 최소 1개 유지 검증 추가 (favorite-wrapper.tsx)
- 즐겨찾기 추가/삭제 로직 분리 및 개선 (menu-category.tsx)
- 추가 시: 최대 10개만 체크
- 삭제 시: 최소 1개 유지 체크
- 각 조건에서 early return으로 명확한 흐름 구성
- 메뉴 오픈 시 즐겨찾기 목록 스크롤을 맨 앞으로 초기화
- prevMenuOn 상태로 메뉴 오픈 감지
- 추가/삭제 시에만 마지막 아이템으로 스크롤
- 로컬라이제이션 키 추가
- cannotDeleteLastItem: 최소 1개 유지 메시지
- cannotAddMoreThan10: 최대 10개 제한 메시지
- snackBar import 추가 및 showAlert에서 snackBar로 변경
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- SaveImageResponse 인터페이스 수정: success/error 필드 제거, message 필드 추가
- 네이티브는 {success: true, data: {filePath, message}} 형태로 응답하지만
appBridge.sendMessage는 response.data만 반환하므로 인터페이스를 실제 반환값에 맞춤
- 이미지 저장 성공 체크 로직을 result?.success에서 result?.filePath로 변경
- 이미지 저장 관련 로컬라이제이션 키 추가 (imageSaved, imageSaveFailed, imageGenerationFailed)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add translation keys for download bottom sheet messages
- Replace hardcoded Korean text with translation function calls
- Add error handling for empty notice detail response
- Support multi-language functionality
🤖 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>
- Add missing Korean locale keys to alimtalk section (23 keys)
- Add localization for ARS payment detail page (11 keys)
- Replace hardcoded Korean text with translation keys in ars-detail.tsx
- Support both Korean and English for ARS payment details
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add translation keys for alarm categories in ko.json and en.json
- Implement getCategoryLabel function to map category codes to localized labels
- Sort categories to display "etc" category at the end
- Replace hardcoded desc1 values with localized category labels
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
알림톡 필터에서 사용되는 번역 키를 추가했습니다.
추가된 키:
- transaction.constants.card: 카드 / Card
- transaction.constants.mobilePhone: 휴대폰 / Mobile Phone
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
알림톡 상세 페이지와 설정 페이지에 대한 다국어 지원을 추가했습니다.
변경사항:
- 상세 페이지: 페이지 타이틀, 거래 정보 레이블 다국어화
- 설정 페이지: 페이지 타이틀, 안내 문구, 폼 레이블, 서비스 종류, 버튼, 메시지 다국어화
번역 키 추가:
- detailTitle: 알림톡 발송 상세 / Alimtalk Send Detail
- transactionInfo: 거래 정보 / Transaction Information
- serviceName, sendKind, buyerName, paymentService, notificationDivision, sendDivision
- settingNotice1, settingNotice2: 설정 안내 문구
- merchant, sendToMerchant, sendToCustomer
- 서비스 종류: creditCardApproval, creditCardCancel, bankTransferApproval, bankTransferCancel, virtualAccountDepositRequest, virtualAccountDepositComplete, virtualAccountRefund
- saveSuccess, saveFailed, unknownError
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
알림톡 목록 페이지에 대한 다국어 지원을 추가했습니다.
변경사항:
- 목록 페이지: 페이지 타이틀, 버튼 다국어화
- useTranslation 훅 추가
번역 키 추가:
- title: 알림톡 결제통보 / Alimtalk Payment Notification
- serviceSetting: 서비스 설정 / Service Settings
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
buyerName 필드의 영어 번역을 일관성 있게 "Purchaser Name"으로 통일했습니다.
변경 영역:
- 거래 관련 폼 (송장, ARS, KEY-IN, 링크결제 등)
- 결제 정보 표시 영역
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
KEY-IN 결제 관련 모든 페이지에 대한 다국어 지원을 추가했습니다.
변경사항:
- 목록 페이지: 페이지 타이틀 다국어화
- 결제 신청 페이지: 모든 폼 레이블, 버튼, 에러 메시지 다국어화
- 성공 페이지: 성공 메시지, 버튼 다국어화
번역 키 추가:
- 폼 레이블: merchant, productName, productPrice, buyerName, buyerEmail, buyerPhoneNumber, cardNumber, expiryDate, installmentPeriod, lumpSum, orderNumber
- 성공/실패 메시지: requestSuccess, requestFailed, requestError
- 성공 페이지: paymentRequestComplete, resultLabel, arsRequestComplete, confirm
- 기타: phoneNumberPlaceholder, fullCancel, postCancel
중복 keyIn 섹션 제거 및 통합 완료
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
변경사항:
- home.count 영어 번역 추가 (" cases")
- result-list-wrap.tsx에서 transaction.count를 home.count로 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
자금이체 관련 모든 페이지에 대한 다국어 지원을 추가했습니다.
변경사항:
- 이체등록 페이지: 폼 레이블, 버튼, 에러 메시지 다국어화
- 이체요청 목록 페이지: 페이지 타이틀 다국어화
- 결과조회 목록 페이지: 페이지 타이틀 다국어화
- 이체 상세 페이지: 상세 정보 레이블, 버튼, 상태 메시지 다국어화
- 결과 상세 페이지: 상세 정보 레이블, 입금확인서 버튼 다국어화
번역 키 추가:
- 은행, 계좌번호, 예금주명, 이체금액, 입금인자
- 등록/요청 성공/실패 메시지
- 상세 정보 레이블 (등록일시, 요청일시, 이체일시, 이체결과, 실패사유 등)
- 수취인명, 입금확인서 등
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- additionalService.linkPay.all 추가 (전체 / All)
- additionalService.linkPay.phoneNumber 추가 (휴대폰번호 / Phone Number)
- additionalService.linkPay.phoneNumberEmail 추가 (휴대폰번호/이메일 / Phone Number/Email)
- 링크결제 필터에서 사용하는 누락된 키 보완
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- common.email 키 추가 (이메일 / Email)
- common.kakao 키 추가 (카카오 / Kakao)
- 링크결제 Step1 및 필터에서 사용하는 누락된 키 보완
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Step1, Step2 폼 레이블 현지화
- 발송 수단, 상품 정보, 구매자 정보 등 모든 필드 번역
- 구매자 정보 대조 옵션(개인/법인) 다국어 적용
- 언어 선택(국문/영문), 링크내용(기본/추가) 현지화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 분리승인 상세, 성공, 실패 페이지 현지화
- 기간연장 및 링크중단 기능 텍스트 번역
- 에러 메시지 및 안내 문구 다국어 적용
- 거래금액, 결제상태, 유효기간 등 레이블 현지화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- SMS 결제 통보 관련 컴포넌트에 i18n 적용
- 한글/영문 번역 키 추가 (ko.json, en.json)
- sms-payment-detail-resend, sms-payment-filter, sms-payment-page 현지화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add common translation keys: select, requestSuccess, requestFailed, errorOccurred
- Replace hardcoded '선택' with t('common.select') in account holder search request page
- Fix KeyIn enum: uncomment FULL_CANCEL and PARTIAL_CANCEL to resolve TypeScript errors
- All labels now support Korean and English through i18n
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add transaction.apply translation key
- Add transaction.sms.resendConfirmMessage translation key
- Supports both Korean and English for SMS resend confirmation dialog
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace hardcoded Korean strings with translation keys in detail pages
- Add new translation keys for account holder services:
- accountHolderAuth: title, detailTitle, requestDate, requestWay
- accountHolderSearch: title, detailTitle
- Add 'result' key to common translations for reusability
- All labels now support Korean and English through i18n
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add transaction.filter.paymentStatus (결제상태 / Payment Status)
- Add transaction.filter.orderStatus (주문상태 / Order Status)
- Fix missing Korean translations in ARS filter
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add PRE_CANCEL and POST_CANCEL transaction types to KeyIn payment
- Update English translations for better readability (FAQ, Settlement Service)
- Fix calendar month date parsing to handle format correctly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>