Commit Graph

804 Commits

Author SHA1 Message Date
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
Jay Sheen
e7731caaa3 Update currency display to use t('home.money')
Changed from t('common.currency.krw') to t('home.money') in payout list page
for consistent currency display across the application.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:08:12 +09:00
Jay Sheen
c2e8da956a Localize payout pages (detail, list, request)
- Added payout-specific translation keys to en.json:
  - depositBalance, subId, disbursementAmount, requestFailed
- Added common translation keys: filter, download, searchOptions, failed, clear, currency.krw
- Localized detail-page.tsx:
  - Header title, button text, detail section title
  - All KV labels (disbursementStatus, transactionType, etc.)
  - Updated code comments from Korean to English
- Localized list-page.tsx:
  - Header title, aria-labels, alt texts
  - Deposit balance label and currency unit
  - Request button text
- Localized request-page.tsx:
  - Header title, form labels, placeholder text
  - Success/error messages in snackBar calls
  - Added useTranslation hook import

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:06:28 +09:00
Jay Sheen
52717206db Localize QNA (Q&A) support pages
Replace all hardcoded Korean text with i18n translation keys in
QNA detail and register pages. List page was already localized.

Translation keys added to en.json:
- detailLabels: title, type, registrationDate, answerDate,
  inquiryAnswer, inquiryContents
- formLabels: title, inquiryType, requesterName, phoneNumber,
  emailAddress, inquiryContents, required marker, placeholders
- submitButton, confirmButton, successMessage

Components localized:
- detail-page.tsx: All label badges for title, type, dates, and
  section titles for answer/contents
- register-page.tsx: All form field labels, placeholders, dialog
  button, success alert, and submit button

Note: list-page.tsx was already fully localized.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:43:22 +09:00
Jay Sheen
79bb42d2cc Localize FAQ detail page header title
Replace hardcoded Korean text '자주 묻는 질문' with dynamic
translation key using useTranslation hook.

Changes:
- Import useTranslation from react-i18next
- Replace hardcoded title with t('support.faq.title')
- Maintains consistency with FAQ list page localization

Note: FAQ list-page.tsx was already fully localized.
Translation key 'support.faq.title' already exists in en.json.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:40:23 +09:00
Jay Sheen
811fff80ab Add missing notice category translation keys
Add comprehensive category translation keys for notice pages
to support all notice types used in the application.

Categories added:
- INTEREST_FREE_INSTALLMENT: Interest-Free Installment
- NEWS: News
- SERVICE_DISRUPTION_NOTICE: Service Disruption Notice
- MAINTENANCE_NOTICE: Maintenance Notice
- SERVICE_CHANGE_OR_ADDITION: Service Change or Addition
- IMPORTANT_NOTICE: Important Notice
- ADDITIONAL_SERVICE: Additional Service

Note: Notice pages (list-page.tsx and detail-page.tsx) are already
fully localized with useTranslation and t() function calls.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:38:20 +09:00
Jay Sheen
d0602dae1c Localize common UI components (bottom sheets)
Replace all hardcoded Korean text with i18n translation keys in
common bottom sheet components for email selection and download
type selection.

Components localized:
- email-bottom-sheet: Title, image save label, receive by email label,
  image requested snackbar message, close button alt, request button
- download-type-bottom-sheet: Title, download method selection labels,
  image/email alt texts, close button alt

Translation keys added to en.json:
- selectEmailAddress: "Select Email Address"
- imageSave: "Save as Image"
- receiveByEmail: "Receive by Email"
- mail: "Mail"
- image: "Image"
- request: "Request"
- imageRequested: "Image has been requested."
- selectDownloadMethod: "Select Download Method"

All bottom sheet UI text now supports internationalization.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:33:30 +09:00
Jay Sheen
1e65a67674 Localize key-in payment and fund account components
Replace all hardcoded Korean text with i18n translation keys in
key-in payment list and fund account components including tab
navigation and wrap components.

Components localized:
- key-in-payment-list: Payment request button
- fund-account/tab: Transfer request and result inquiry tab buttons
- fund-account/transfer-list-wrap: Balance, won unit, transfer registration notice and button
- fund-account/result-list-wrap: Request/success/fail labels, won units, transfer registration button

All text now supports multi-language through translation keys.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:29:15 +09:00
Jay Sheen
21f8a634f4 Localize all additional-service filter components
Replace all hardcoded Korean text with i18n translation keys in
6 filter components covering payout, fund account, alimtalk,
face authentication, and account holder authentication.

Components localized:
- payout-filter: Filter title, merchant, search criteria, period, payment status, transaction amount
- fund-account-transaction-filter: Select option, merchant, recipient/account, period, bank, processing result
- fund-account-result-filter: Search criteria, recipient/account, period, bank, processing result
- alimtalk-filter: Merchant, order/TID, payment method, notification category, period, send type/category
- face-auth-filter: Merchant, member ID, period, transaction type, authentication result
- account-holder-auth-filter: Merchant, period, payment status

All filter headers, close buttons, and apply buttons now use dynamic translations.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:27:09 +09:00
Jay Sheen
dfe7152631 Add comprehensive localization keys and localize initial components
Add extensive translation keys to en.json for all additional-service
components including link payment, fund account, SMS, alimtalk, face auth,
key-in payment, payout, settlement agency, and info-wrap components.

Localize components:
- account-holder-search-list: Add search request button translation
- key-in-payment-filter: Replace all Korean filter labels with i18n keys

Translation keys added cover:
- Link payment forms, steps, and bottom sheets
- Fund account transfer and result views
- SMS detail and resend functionality
- Filter components for all service types
- Info wrap components for payment and detail information
- Settlement agency management interfaces

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 11:30:01 +09:00
Jay Sheen
5a61fbc102 css .excrow 2025-10-31 11:30:01 +09:00
focp212@naver.com
5c5bda72db Merge branch 'main' of https://gitea.bpsoft.co.kr/nicepayments/nice-app-web 2025-10-31 11:28:44 +09:00
focp212@naver.com
55a71f10f6 fix 2025-10-31 11:28:28 +09:00
Jay Sheen
75e864c388 Apply localization to account-holder-search filter component
Replace all hardcoded Korean text with dynamic translation keys
in the account-holder-search filter component for internationalization
support.

Changes:
- Add translation keys for filter labels (select, bank, search result)
- Replace filter title, close button, merchant, and apply button text
- Update bank select options and form field labels with i18n keys

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 11:22:37 +09:00