Fix TypeScript errors in additional-service module
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>
This commit is contained in:
@@ -14,8 +14,9 @@ import {
|
||||
useSetOnBack
|
||||
} from '@/widgets/sub-layout/use-sub-layout';
|
||||
import { useExtensionAccountHolderAuthListMutation } from '@/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-list-mutation';
|
||||
import { authStatusBtnGroup } from '@/entities/additional-service/model/account-holder-auth/constant';
|
||||
import { getAuthStatusBtnGroup } from '@/entities/additional-service/model/account-holder-auth/constant';
|
||||
import { AccountHolderAuthList } from '@/entities/additional-service/ui/account-holder-auth/account-holder-auth-list';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useExtensionAccountHolderAuthDownloadExcelMutation } from '@/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-download-excel-mutation';
|
||||
import { AccountHolderAuthFilter } from '@/entities/additional-service/ui/account-holder-auth/filter/account-holder-auth-filter';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
@@ -27,6 +28,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
|
||||
export const AccountHolderAuthPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
@@ -216,7 +218,7 @@ export const AccountHolderAuthPage = () => {
|
||||
<div className="excrow">
|
||||
<div className="full-menu-keywords no-padding">
|
||||
{
|
||||
authStatusBtnGroup.map((value, index) => (
|
||||
getAuthStatusBtnGroup(t).map((value: any, index: number) => (
|
||||
<span
|
||||
key={`key-service-code=${index}`}
|
||||
className={`keyword-tag ${(authStatus === value.value) ? 'active' : ''}`}
|
||||
|
||||
@@ -17,9 +17,11 @@ import { ExtensionAccountHolderAuthDetailParams, ExtensionAccountHolderAuthDetai
|
||||
import moment from 'moment';
|
||||
import { getAuthStatusText } from '@/entities/additional-service/model/account-holder-auth/constant';
|
||||
import { getAuthResultStatusText } from '@/entities/additional-service/model/face-auth/constant';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
export const AccountHolderAuthDetailPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
const location = useLocation();
|
||||
const { mid, tid } = location.state || {};
|
||||
const [detail, setDetail] = useState<ExtensionAccountHolderAuthDetailResponse>();
|
||||
@@ -91,11 +93,11 @@ export const AccountHolderAuthDetailPage = () => {
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">결과</span>
|
||||
<span className="v">{getAuthStatusText(detail?.authStatus)}</span>
|
||||
<span className="v">{getAuthStatusText(t)(detail?.authStatus)}</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">실패 사유</span>
|
||||
<span className="v">{detail?.failReason ? getAuthResultStatusText(detail?.failReason) : '-' }</span>
|
||||
<span className="v">{detail?.failReason ? getAuthResultStatusText(t)(detail?.failReason) : '-' }</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -20,13 +20,15 @@ import { SortTypeKeys } from '@/entities/common/model/types';
|
||||
import { AccountHolderSearchList } from '@/entities/additional-service/ui/account-holder-search/account-holder-search-list';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
import { AccountHolderSearchListItem, AccountHolderSearchCl, AccountHolderResultStatus } from '@/entities/additional-service/model/account-holder-search/types';
|
||||
import { resultStatusBtnGroup } from '@/entities/additional-service/model/account-holder-search/constant';
|
||||
import { getResultStatusBtnGroup } from '@/entities/additional-service/model/account-holder-search/constant';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check';
|
||||
import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
|
||||
export const AccountHolderSearchPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
@@ -227,7 +229,7 @@ export const AccountHolderSearchPage = () => {
|
||||
<div className="excrow">
|
||||
<div className="full-menu-keywords no-padding">
|
||||
{
|
||||
resultStatusBtnGroup.map((value, index) => (
|
||||
getResultStatusBtnGroup(t).map((value: any, index: number) => (
|
||||
<span
|
||||
key={`key-service-code=${index}`}
|
||||
className={`keyword-tag ${(resultStatus === value.value) ? 'active' : ''}`}
|
||||
|
||||
@@ -16,9 +16,11 @@ import { DetailInfoWrap } from '@/entities/additional-service/ui/info-wrap/detai
|
||||
import { ExtensionAccountHolderSearchDetailParams, ExtensionAccountHolderSearchDetailResponse } from '@/entities/additional-service/model/account-holder-search/types';
|
||||
import { useExtensionAccountHolderSearchDetailtMutation } from '@/entities/additional-service/api/account-holder-search/use-extension-account-holder-search-detail-mutation';
|
||||
import { getAccountHolderStatusText } from '@/entities/additional-service/model/account-holder-search/constant';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
export const AccountHolderSearchDetailPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
const location = useLocation();
|
||||
|
||||
const { mid, tid } = location.state || {};
|
||||
@@ -77,7 +79,7 @@ export const AccountHolderSearchDetailPage = () => {
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">결과</span>
|
||||
<span className="v">{getAccountHolderStatusText(detail?.resultStatus)}</span>
|
||||
<span className="v">{getAccountHolderStatusText(t)(detail?.resultStatus)}</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">실패사유</span>
|
||||
|
||||
@@ -13,9 +13,11 @@ import { ExtensionAlimtalkDetailParams, ExtensionAlimtalkDetailResponse } from '
|
||||
import { useExtensionAlimtalkDetailMutation } from '@/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation';
|
||||
import moment from 'moment';
|
||||
import { getAlimtalkAlimClText, getAlimtalkSendClTypeText, getAlimtalkSendTypeText, getAlimtalkServiceCodeText } from '@/entities/additional-service/model/alimtalk/constant';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
export const AlimtalkDetailPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
const location = useLocation();
|
||||
|
||||
const tid = location.state.tid;
|
||||
@@ -81,23 +83,23 @@ export const AlimtalkDetailPage = () => {
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">발송 종류</span>
|
||||
<span className="v">{ getAlimtalkSendTypeText(detail?.sendType) }</span>
|
||||
<span className="v">{ getAlimtalkSendTypeText(t)(detail?.sendType) }</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">주문자명</span>
|
||||
<span className="k">주문자명</span>
|
||||
<span className="v">{detail?.receiverName }</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">결제서비스</span>
|
||||
<span className="v">{ getAlimtalkServiceCodeText(detail?.serviceCode) }</span>
|
||||
<span className="v">{ getAlimtalkServiceCodeText(t)(detail?.serviceCode) }</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">알림구분</span>
|
||||
<span className="v">{ getAlimtalkAlimClText(detail?.alimCl) }</span>
|
||||
<span className="v">{ getAlimtalkAlimClText(t)(detail?.alimCl) }</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">발송구분</span>
|
||||
<span className="v">{ getAlimtalkSendClTypeText(detail?.sendCl) }</span>
|
||||
<span className="v">{ getAlimtalkSendClTypeText(t)(detail?.sendCl) }</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -106,11 +106,11 @@ export const ArsDetailPage = () => {
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">결제상태</span>
|
||||
<span className="v">{ getArsPaymentStatusName(detail?.paymentStatus) }</span>
|
||||
<span className="v">{ getArsPaymentStatusName(t)(detail?.paymentStatus) }</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">주문상태</span>
|
||||
<span className="v">{ getArsOrderStatusName(detail?.orderStatus) }</span>
|
||||
<span className="v">{ getArsOrderStatusName(t)(detail?.orderStatus) }</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">주문일시</span>
|
||||
|
||||
@@ -17,8 +17,9 @@ import { useExtensionArsDownloadExcelMutation } from '@/entities/additional-serv
|
||||
import { ListDateGroup } from '@/entities/additional-service/ui/list-date-group';
|
||||
import { AdditionalServiceCategory } from '@/entities/additional-service/model/types';
|
||||
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
||||
import { ArsPaymentStatusBtnGroup } from '@/entities/additional-service/model/ars/constant';
|
||||
import { getArsPaymentStatusBtnGroup } from '@/entities/additional-service/model/ars/constant';
|
||||
import { ArsFilter } from '@/entities/additional-service/ui/filter/ars-filter';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check';
|
||||
@@ -26,6 +27,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
|
||||
export const ArsListPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
@@ -276,7 +278,7 @@ export const ArsListPage = () => {
|
||||
<div className="excrow mr-0">
|
||||
<div className="full-menu-keywords no-padding">
|
||||
{
|
||||
ArsPaymentStatusBtnGroup.map((value, index) => (
|
||||
getArsPaymentStatusBtnGroup(t).map((value: any, index: number) => (
|
||||
<span
|
||||
key={`key-service-code=${index}`}
|
||||
className={`keyword-tag ${(paymentStatus === value.value) ? 'active' : ''}`}
|
||||
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
|
||||
import { FaceAuthFilter } from '@/entities/additional-service/ui/face-auth/filter/face-auth-filter';
|
||||
import { ExtensionFaceAuthExcelDownlaodPrams, ExtensionFaceAuthExcelDownlaodResponse, ExtensionFaceAuthListParams, ExtensionFaceAuthListResponse, FaceAuthListItem, FaceAuthResult, FaceAuthTransType } from '@/entities/additional-service/model/face-auth/types';
|
||||
import { AuthResultBtnGroup } from '@/entities/additional-service/model/face-auth/constant';
|
||||
import { getAuthResultBtnGroup } from '@/entities/additional-service/model/face-auth/constant';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import { useExtensionFaceAuthListtMutation } from '@/entities/additional-service/api/face-auth/use-extension-face-auth-list-mutation';
|
||||
import { useExtensionFaceAuthDownloadExcelMutation } from '@/entities/additional-service/api/face-auth/use-extension-face-auth-download-excel-mutation';
|
||||
@@ -265,7 +265,7 @@ export const FaceAuthPage = () => {
|
||||
<div className="excrow">
|
||||
<div className="full-menu-keywords no-padding">
|
||||
{
|
||||
AuthResultBtnGroup.map((value, index) => (
|
||||
getAuthResultBtnGroup(t).map((value: any, index: number) => (
|
||||
<span
|
||||
key={`key-service-code=${index}`}
|
||||
className={`keyword-tag ${(authResult === value.value) ? 'active' : ''}`}
|
||||
|
||||
@@ -99,7 +99,7 @@ export const FundAccountTransferDetailPage = () => {
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">처리결과</span>
|
||||
<span className="v">{getFundAccountStatusName(detail?.resultStatus) || '-'}</span>
|
||||
<span className="v">{getFundAccountStatusName(t)(detail?.resultStatus) || '-'}</span>
|
||||
</li>
|
||||
<li className="kv-row">
|
||||
<span className="k">요청일자</span>
|
||||
|
||||
@@ -20,13 +20,15 @@ import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||
import { KeyInPaymentList } from '@/entities/additional-service/ui/key-in-payment/key-in-payment-list';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
import { KeyInPaymentListItem, KeyInPaymentStatus, KeyInPaymentTansactionType } from '@/entities/additional-service/model/key-in/types';
|
||||
import { keyInPaymentPaymentStatusBtnGroup } from '@/entities/additional-service/model/key-in/constant';
|
||||
import { getKeyInPaymentPaymentStatusBtnGroup } from '@/entities/additional-service/model/key-in/constant';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check';
|
||||
import useIntersectionObserver from '@/widgets/intersection-observer';
|
||||
|
||||
export const KeyInPaymentPage = () => {
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
// 권한 체크
|
||||
@@ -223,7 +225,7 @@ export const KeyInPaymentPage = () => {
|
||||
<div className="excrow">
|
||||
<div className="full-menu-keywords no-padding">
|
||||
{
|
||||
keyInPaymentPaymentStatusBtnGroup.map((value, index) => (
|
||||
getKeyInPaymentPaymentStatusBtnGroup(t).map((value: any, index: number) => (
|
||||
<span
|
||||
key={`key-service-code=${index}`}
|
||||
className={`keyword-tag ${(transactionType === value.value) ? 'active' : ''}`}
|
||||
|
||||
@@ -24,8 +24,9 @@ import moment from 'moment';
|
||||
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
||||
import { useExtensionPayoutExcelMutation } from '@/entities/additional-service/api/payout/use-extension-payout-excel-mutation';
|
||||
import { PayoutFilter } from '@/entities/additional-service/ui/filter/payout-filter';
|
||||
import { PayoutDisbursementStatusBtnGroup } from '@/entities/additional-service/model/payout/constant';
|
||||
import { getPayoutDisbursementStatusBtnGroup } from '@/entities/additional-service/model/payout/constant';
|
||||
import { ListDateGroup } from '@/entities/additional-service/ui/list-date-group';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { AdditionalServiceCategory } from '@/entities/additional-service/model/types';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
|
||||
@@ -38,6 +39,7 @@ export const PayoutListPage = () => {
|
||||
extensionCode: 'PAYOUT'
|
||||
});
|
||||
const { navigate } = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
const userMid = useStore.getState().UserStore.mid;
|
||||
|
||||
const [onActionIntersect, setOnActionIntersect] = useState<boolean>(false);
|
||||
@@ -282,7 +284,7 @@ export const PayoutListPage = () => {
|
||||
<div className="excrow mr-0">
|
||||
<div className="full-menu-keywords no-padding">
|
||||
{
|
||||
PayoutDisbursementStatusBtnGroup.map((value, index) => (
|
||||
getPayoutDisbursementStatusBtnGroup(t).map((value: any, index: number) => (
|
||||
<span
|
||||
key={`key-service-code=${index}`}
|
||||
className={`keyword-tag ${(status === value.value) ? 'active' : ''}`}
|
||||
|
||||
Reference in New Issue
Block a user