Commit Graph

767 Commits

Author SHA1 Message Date
Jay Sheen
c6b821a351 Improve menu category selection when scrolling to bottom
Automatically select the last category when the user scrolls to the bottom of the menu list.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 14:08:45 +09:00
Jay Sheen
09e6892f1c Remove unused key-in payment transaction types and simplify cancel status logic
- Remove FULL_CANCEL and PARTIAL_CANCEL from KeyInPaymentTansactionType enum
- Remove corresponding filter buttons from payment status button group
- Simplify list item color logic to combine PRE_CANCEL and POST_CANCEL handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 14:01:37 +09:00
Jay Sheen
c03cb55157 Fix translation key for detail section title
- Change transaction.fields.detailInfo to transaction.sections.detailInfo
- Fixes missing translation issue in account holder auth and search detail pages
- detailInfo is a section title, not a field, so it belongs in sections namespace

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 13:59:20 +09:00
Jay Sheen
df5ea656c6 Add common translation keys and localize account holder search request page
- 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>
2025-11-03 13:57:23 +09:00
Jay Sheen
dad9cb699e Add missing translation keys for ARS SMS resend
- 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>
2025-11-03 13:42:31 +09:00
focp212@naver.com
6ff2209508 close 버튼 공통화 2025-11-03 13:36:22 +09:00
HyeonJongKim
b543719295 - 링크결제 전화번호 입력 Number only
- 링크결제 신청 완료 페이지 결과 박스 제거
- 안면인증 테스트용 Mid 고정
2025-11-03 13:29:38 +09:00
Jay Sheen
e7a3409edc Add localization for account holder auth and search detail pages
- 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>
2025-11-03 13:09:50 +09:00
focp212@naver.com
8940be56b9 . 2025-11-03 11:36:35 +09:00
Jay Sheen
c86e64f545 Add missing transaction filter translations
- 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>
2025-11-03 11:23:40 +09:00
focp212@naver.com
f2b09cd2f8 calendar 수정 2025-11-03 11:20:31 +09:00
Jay Sheen
0b3c326768 Add KeyIn pre/post cancel types and improve English translations
- 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>
2025-11-03 11:11:46 +09:00
Jay Sheen
c6f0fd0a6d Add missing Korean translations to match en.json structure
- additionalService section: Added 170+ missing Korean translations
  - sms: smsDetailAndResend, sender, receiver, send status messages
  - linkPay: 35 fields including product info, buyer info, language settings
  - accountHolderSearch: 5 fields for search functionality
  - faceAuth: merchantMemberId, transactionType, authenticationResult
  - fundAccount: 10 fields for transfer and inquiry features
  - alimtalk: notification categories and send types
  - payout: 19 fields for disbursement details
  - keyIn: productPrice
  - linkPayment: Complete new section with 41 fields
  - infoWrap: Complete new section with 24 fields
  - settlementAgencyDetails: Complete new section with 27 fields

- support.notice.categories: Added ALL, NOTICE, SERVICE, IMPORTANT
- support.qna: Added submitButton, confirmButton, successMessage
- home: Added currencySymbol (₩)

All translations sourced from actual Korean strings in UI components,
not arbitrary translations, ensuring consistency with existing codebase.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 11:10:39 +09:00
HyeonJongKim
446ac47def - 링크결제: 결제내역 분리승인 버튼 하단 패딩 추가 2025-11-03 11:06:24 +09:00
HyeonJongKim
13292f6d20 - KeyIn 결제 신청_ 주문번호 필수처리 2025-11-03 10:35:32 +09:00
HyeonJongKim
840ee8f17e -안면인증 권한 제한 주석 2025-11-03 10:33:32 +09:00
HyeonJongKim
e8286206bb - 권한 접근 제한 주석 2025-11-03 09:44:18 +09:00
Jay Sheen
4e5e0a8760 Add undefined fallback for valueMonth state
Added else clauses to set valueMonth to undefined when month values are not provided:
- Prevents stale date values in calendar
- Ensures calendar displays correctly when switching between date ranges

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 18:43:07 +09:00
Jay Sheen
6b9ee65418 Fix calendar month value type to use Date instead of string
Fixed invalid date error when selecting month:
- Changed valueYear (string) to valueMonth (Date) state
- Set valueMonth using moment().toDate() for all calendar types
- Parse startMonth, endMonth, singleMonth with moment and convert to Date
- Calendar component now receives proper Date object instead of year string
- This fixes the "Invalid date" error and prevents error cascade

Changes:
- useState<string> → useState<Date | undefined>
- setValueYear(year) → setValueMonth(moment().toDate())
- Calendar value prop now receives Date object

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 18:42:46 +09:00
Jay Sheen
d9af3ef407 Fix invalid date error with better date parsing
Improved date parsing in setMinMaxValueDate:
- Use moment with multiple format support: ['YYYY.MM', 'YYYYMM']
- Add strict parsing mode with true parameter
- Validate date with isValid() before setting
- Handles both 'YYYY.MM' and 'YYYYMM' input formats

This resolves the invalid date error when selecting year/month.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 18:29:11 +09:00
Jay Sheen
3fd7b7c058 Fix date parsing error in nice-calendar-month
Fixed Invalid date error when selecting year/month:
- Changed date creation from `new Date(moment(endMonth+'01').format('YYYY.MM.DD'))`
  to `moment(endMonth + '.01', 'YYYY.MM.DD').toDate()`
- Used proper moment parsing with explicit format string
- Applied to both minMonth and maxMonth date creation

This fixes the error that occurred after localization was applied.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 18:16:48 +09:00
Jay Sheen
32961512df Fix Korean translation spacing in QNA form labels
- inquiryType: "문의 유형" → "문의유형"
- inquiryContents: "문의 내용" → "문의내용"

Removed spaces to match consistent Korean translation style.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 17:52:09 +09:00
focp212@naver.com
5f973b2496 잇슈 수정 2025-10-31 17:49:11 +09:00
Jay Sheen
0a88a89f92 Add missing Korean translations for QNA pages
Added missing detailLabels and formLabels sections to ko.json qna section:

detailLabels:
- title: 제목
- type: 유형
- registrationDate: 등록일
- answerDate: 답변일
- inquiryAnswer: 문의 답변
- inquiryContents: 문의 내용

formLabels:
- title: 제목
- inquiryType: 문의 유형
- requesterName: 요청자명
- phoneNumber: 휴대폰번호
- emailAddress: 이메일 주소
- inquiryContents: 문의 내용
- required: *
- phonePlaceholder: '-' 없이 입력
- emailPlaceholder: TEST123@nicepay.com

These translations are used in qna detail-page and register-page.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 17:47:22 +09:00
focp212@naver.com
25cbc03b83 maxWidth 100% 2025-10-31 17:17:40 +09:00
focp212@naver.com
ae4ee20308 no message 2025-10-31 17:10:56 +09:00
focp212@naver.com
283bab656e 수정 2025-10-31 17:08:29 +09:00
Jay Sheen
2ff49ef4ab Remove '일' suffix from Korean calendar day numbers
Modified formatDay function in both calendar components:
- For Korean locale (ko), display only the day number (e.g., '10' instead of '10일')
- For other locales, use default toLocaleString formatting

Changes:
- nice-calendar.tsx: Updated formatDay to check currentLocale === 'ko'
- nice-calendar-month.tsx: Updated formatDay to check currentLocale === 'ko'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 16:59:36 +09:00
Jay Sheen
70a40c1c01 Add locale support to calendar components (ko, en)
Applied i18n locale to both calendar components:

Changes to nice-calendar.tsx:
- Added useTranslation hook import
- Get current locale from i18n.language
- Updated all format functions (formatMonthYear, formatYear, formatMonth, formatDay, formatShortWeekday) to use currentLocale instead of hardcoded 'en'
- Added locale prop to Calendar component

Changes to nice-calendar-month.tsx:
- Added useTranslation hook import
- Get current locale from i18n.language
- Updated all format functions to use currentLocale instead of hardcoded 'en'
- Added locale prop to Calendar component

Now calendars will display in Korean when language is set to 'ko' and in English when set to 'en'.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 16:57:28 +09:00
focp212@naver.com
516b2d1382 font- size 수정 2025-10-31 16:46:32 +09:00
focp212@naver.com
eb54cb8472 bottom sheet 수정 2025-10-31 16:42:46 +09:00
focp212@naver.com
95c3e5a76e Merge branch 'main' of https://gitea.bpsoft.co.kr/nicepayments/nice-app-web 2025-10-31 16:38:33 +09:00
focp212@naver.com
b44c7360bf 수정 2025-10-31 16:37:05 +09:00
Jay Sheen
c4c79a3974 Add missing Korean translations for common keys
Added missing Korean translation keys in ko.json common section:
- selectEmailAddress: 이메일 주소 선택
- imageSave: 이미지로 저장
- receiveByEmail: 이메일로 받기
- mail: 메일
- image: 이미지
- request: 요청
- imageRequested: 이미지가 요청되었습니다.
- selectDownloadMethod: 다운로드 방법 선택
- filter: 필터
- download: 다운로드
- searchOptions: 검색 옵션
- requestDate: 요청일
- failed: 실패
- clear: 지우기
- currency.krw: 원

These keys are used by email-bottom-sheet and other common components.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 16:34:46 +09:00
Jay Sheen
c08f8e0ff4 Merge branch 'main' of https://gitea.bpsoft.co.kr/nicepayments/nice-app-web 2025-10-31 16:27:15 +09:00
focp212@naver.com
003782230b 타임아웃 2025-10-31 16:27:06 +09:00
Jay Sheen
e71dfc946b Merge branch 'main' of https://gitea.bpsoft.co.kr/nicepayments/nice-app-web 2025-10-31 16:23:27 +09:00
focp212@naver.com
79ed55f524 ui 수정 2025-10-31 16:22:52 +09:00
Jay Sheen
5fe197ed58 env 서비스 주소 변경 2025-10-31 16:22:25 +09:00
focp212@naver.com
216cca963f css 2025-10-31 16:10:57 +09:00
focp212@naver.com
1e8be97199 timeout 2025-10-31 15:51:41 +09:00
focp212@naver.com
5e0f60a024 수정 2025-10-31 15:43:34 +09:00
focp212@naver.com
b880486721 임시 2025-10-31 14:04:17 +09:00
focp212@naver.com
9bf6b7aba9 css 수정 2025-10-31 13:42:42 +09:00
Jay Sheen
e657c5e7e6 Localize link-payment-history-filter component
- Added linkPayment filter translation keys to en.json:
  - phoneNumber, email, success, fail, kakao
  - merchant, phoneNumberEmail, transactionStatus
  - sendResult, sendMethod, apply
  - sendRequest, sendCancel, progressStatus
- Localized link-payment-history-filter.tsx:
  - Filter title and close button alt text
  - All filter section titles (merchant, phoneNumberEmail, etc.)
  - Search type options (phone, email)
  - Transaction status options (all, incomplete/active, deposit request, etc.)
  - Process result options (all, success, fail)
  - Send method options (all, SMS, email, kakao)
  - Apply button text
  - Added useTranslation hook

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:30:27 +09:00
Jay Sheen
4e0918a89c Localize link-payment UI components
- Added linkPayment translation keys to en.json:
  - shippingHistory, pendingSend, all, incompleteActive
  - depositRequest, paymentComplete, paymentFailed, paymentStopped
  - applyRequest, noData
- Localized link-payment-tab.tsx:
  - Tab button labels (shippingHistory, pendingSend)
  - Added useTranslation hook
- Localized link-payment-history-wrap.tsx:
  - Payment status button group with function getPaymentResultBtnGroup(t)
  - Alt texts and aria-labels for filter and download buttons
  - Apply request button text
  - Added useTranslation hook
- Localized link-payment-wait-send-wrap.tsx:
  - Alt texts and aria-labels for filter and download buttons
  - Apply request button text
  - Uses getProcessStatusBtnGroup(t) from constant file

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:28:13 +09:00
Jay Sheen
5ef6407e9b Localize link-payment main pages
- Added linkPayment translation keys to en.json:
  - title, detailTitle, waitDetailTitle, applyTitle, messagePreview
  - resendSuccess, resendFailed, resendError, resendConfirm
  - deleteSuccess, deleteConfirm, resend, delete
  - separateApprovalTitle, separateApprovalDetail, warning
- Localized link-payment-history-page.tsx:
  - Header title, access check comment
- Localized link-payment-wait-send-page.tsx:
  - Header title, page comment
- Localized link-payment-detail-page.tsx:
  - Header title, button labels (resend, separate approval detail)
  - Success/error messages for resend operations
  - Dialog button labels and confirmation message
  - Code comments from Korean to English
- Localized link-payment-wait-detail-page.tsx:
  - Header title, button label (delete)
  - Success message for delete operation
  - Dialog button labels and confirmation message
- All files: Added useTranslation hook import

Note: Apply and separate-approval subdirectories still need localization

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:20:13 +09:00
Jay Sheen
b9aab1d0fd Add thousand separator formatting to deposit balance
Use Intl.NumberFormat('en-US').format() to add commas for thousand separators
in the deposit balance display (50,000,000 instead of 50000000).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:14:35 +09:00
Jay Sheen
473f8b0881 Fix currency display format to use t('home.money', { value })
Changed from separate number and unit to use t('home.money', { value: 50000000 })
for proper currency formatting with interpolation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:13:11 +09:00
focp212@naver.com
ad7ddd9214 . 2025-10-31 13:11:08 +09:00