링크결제 발송대기 필터 다국어 지원 추가
- 필터 레이블 및 옵션 현지화 - 휴대폰번호/이메일 검색 타입 번역 - 발송수단 및 진행상태 옵션 다국어 적용 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import { IMAGE_ROOT } from '@/shared/constants/common';
|
import { IMAGE_ROOT } from '@/shared/constants/common';
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
import { ChangeEvent, useState } from 'react';
|
import { ChangeEvent, useState } from 'react';
|
||||||
@@ -32,7 +33,7 @@ export const LinkPaymentWaitSendFilter = ({
|
|||||||
setSendMethod,
|
setSendMethod,
|
||||||
setProcessStatus
|
setProcessStatus
|
||||||
}: LinkPaymentWaitFilterProps) => {
|
}: LinkPaymentWaitFilterProps) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const [filterMid, setFilterMid] = useState<string>(mid);
|
const [filterMid, setFilterMid] = useState<string>(mid);
|
||||||
const [filterSearchType, setFilterSearchType] = useState<LinkPaymentSearchCl>(searchCl);
|
const [filterSearchType, setFilterSearchType] = useState<LinkPaymentSearchCl>(searchCl);
|
||||||
@@ -58,21 +59,21 @@ export const LinkPaymentWaitSendFilter = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
let searchTypeOption = [
|
let searchTypeOption = [
|
||||||
{ name: '휴대폰번호', value: LinkPaymentSearchCl.PHONE },
|
{ name: t('additionalService.linkPay.phoneNumber'), value: LinkPaymentSearchCl.PHONE },
|
||||||
{ name: '이메일', value: LinkPaymentSearchCl.EMAIL },
|
{ name: t('common.email'), value: LinkPaymentSearchCl.EMAIL },
|
||||||
];
|
];
|
||||||
|
|
||||||
let sendMethodOption = [
|
let sendMethodOption = [
|
||||||
{ name: '전체', value: LinkPaymentSendMethod.ALL },
|
{ name: t('additionalService.linkPay.all'), value: LinkPaymentSendMethod.ALL },
|
||||||
{ name: 'SMS', value: LinkPaymentSendMethod.SMS },
|
{ name: 'SMS', value: LinkPaymentSendMethod.SMS },
|
||||||
{ name: '이메일', value: LinkPaymentSendMethod.EMAIL },
|
{ name: t('common.email'), value: LinkPaymentSendMethod.EMAIL },
|
||||||
{ name: '카카오', value: LinkPaymentSendMethod.KAKAO },
|
{ name: t('common.kakao'), value: LinkPaymentSendMethod.KAKAO },
|
||||||
];
|
];
|
||||||
|
|
||||||
let processStatusOption = [
|
let processStatusOption = [
|
||||||
{ name: '전체', value: LinkPaymentProcessStatus.ALL },
|
{ name: t('additionalService.linkPay.all'), value: LinkPaymentProcessStatus.ALL },
|
||||||
{ name: '발송요청', value: LinkPaymentProcessStatus.SEND_REQUEST },
|
{ name: t('additionalService.linkPay.sendRequest'), value: LinkPaymentProcessStatus.SEND_REQUEST },
|
||||||
{ name: '발송취소', value: LinkPaymentProcessStatus.SEND_CANCEL },
|
{ name: t('additionalService.linkPay.sendCancel'), value: LinkPaymentProcessStatus.SEND_CANCEL },
|
||||||
];
|
];
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -90,7 +91,7 @@ export const LinkPaymentWaitSendFilter = ({
|
|||||||
>
|
>
|
||||||
<div className="full-menu-container">
|
<div className="full-menu-container">
|
||||||
<div className="full-menu-header">
|
<div className="full-menu-header">
|
||||||
<div className="full-menu-title center">필터</div>
|
<div className="full-menu-title center">{t('filter.filter')}</div>
|
||||||
<div className="full-menu-actions">
|
<div className="full-menu-actions">
|
||||||
<FullMenuClose
|
<FullMenuClose
|
||||||
addClass='full-menu-close'
|
addClass='full-menu-close'
|
||||||
@@ -101,13 +102,13 @@ export const LinkPaymentWaitSendFilter = ({
|
|||||||
|
|
||||||
<div className="option-list pt-16 pb-86">
|
<div className="option-list pt-16 pb-86">
|
||||||
<FilterSelectMid
|
<FilterSelectMid
|
||||||
title='가맹점'
|
title={t('filter.merchant')}
|
||||||
selectSetter={setFilterMid}
|
selectSetter={setFilterMid}
|
||||||
showType={'GID'}
|
showType={'GID'}
|
||||||
></FilterSelectMid>
|
></FilterSelectMid>
|
||||||
|
|
||||||
<FilterSelectInput
|
<FilterSelectInput
|
||||||
title='휴대폰번호/이메일'
|
title={t('additionalService.linkPay.phoneNumberEmail')}
|
||||||
selectValue={filterSearchType}
|
selectValue={filterSearchType}
|
||||||
selectSetter={setFilterSearchType}
|
selectSetter={setFilterSearchType}
|
||||||
selectOptions={searchTypeOption}
|
selectOptions={searchTypeOption}
|
||||||
@@ -122,14 +123,14 @@ export const LinkPaymentWaitSendFilter = ({
|
|||||||
></FilterCalendar>
|
></FilterCalendar>
|
||||||
|
|
||||||
<FilterButtonGroups
|
<FilterButtonGroups
|
||||||
title='발송수단'
|
title={t('additionalService.linkPayment.sendMethodFilter')}
|
||||||
activeValue={filterSendMethod}
|
activeValue={filterSendMethod}
|
||||||
btnGroups={sendMethodOption}
|
btnGroups={sendMethodOption}
|
||||||
setter={setFilterSendMethod}
|
setter={setFilterSendMethod}
|
||||||
></FilterButtonGroups>
|
></FilterButtonGroups>
|
||||||
|
|
||||||
<FilterButtonGroups
|
<FilterButtonGroups
|
||||||
title='진행상태'
|
title={t('additionalService.linkPayment.processStatus')}
|
||||||
activeValue={filterProcessStatus}
|
activeValue={filterProcessStatus}
|
||||||
btnGroups={processStatusOption}
|
btnGroups={processStatusOption}
|
||||||
setter={setFilterProcessStatus}
|
setter={setFilterProcessStatus}
|
||||||
@@ -139,7 +140,7 @@ export const LinkPaymentWaitSendFilter = ({
|
|||||||
<button
|
<button
|
||||||
className="btn-50 btn-blue flex-1"
|
className="btn-50 btn-blue flex-1"
|
||||||
onClick={() => onClickToSetFilter()}
|
onClick={() => onClickToSetFilter()}
|
||||||
>적용</button>
|
>{t('filter.apply')}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|||||||
@@ -1090,6 +1090,8 @@
|
|||||||
"linkContent": "Link Content",
|
"linkContent": "Link Content",
|
||||||
"basic": "Basic",
|
"basic": "Basic",
|
||||||
"additional": "Additional",
|
"additional": "Additional",
|
||||||
|
"sendMethodFilter": "Send Method",
|
||||||
|
"processStatus": "Process Status",
|
||||||
"resendFailed": "Resend failed.",
|
"resendFailed": "Resend failed.",
|
||||||
"resendError": "An error occurred during resend.",
|
"resendError": "An error occurred during resend.",
|
||||||
"resendConfirm": "Do you want to resend?",
|
"resendConfirm": "Do you want to resend?",
|
||||||
|
|||||||
@@ -1090,6 +1090,8 @@
|
|||||||
"linkContent": "링크내용",
|
"linkContent": "링크내용",
|
||||||
"basic": "기본",
|
"basic": "기본",
|
||||||
"additional": "추가",
|
"additional": "추가",
|
||||||
|
"sendMethodFilter": "발송수단",
|
||||||
|
"processStatus": "진행상태",
|
||||||
"resendFailed": "재발송을 실패하였습니다.",
|
"resendFailed": "재발송을 실패하였습니다.",
|
||||||
"resendError": "재발송 중 오류가 발생했습니다.",
|
"resendError": "재발송 중 오류가 발생했습니다.",
|
||||||
"resendConfirm": "재발송 하시겠습니까?",
|
"resendConfirm": "재발송 하시겠습니까?",
|
||||||
|
|||||||
Reference in New Issue
Block a user