From 133015c492b2e68334a57e8992dd7fcecdf1393b Mon Sep 17 00:00:00 2001 From: HyeonJongKim Date: Mon, 22 Sep 2025 18:34:16 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=80=EA=B0=80=EC=84=9C=EB=B9=84=EC=8A=A4:?= =?UTF-8?q?=20=EA=B3=84=EC=A2=8C=EB=AA=85=20=EC=9D=B8=EC=A6=9D=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=ED=91=9C=EC=8B=9C=20=EB=B0=8F=20=EB=82=A0=EC=A7=9C?= =?UTF-8?q?=20=EC=84=A0=ED=83=9D=EA=B8=B0=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AccountHolderAuth에서 transferStatus 기반 성공/실패 표시 추가 - SingleDatePicker 컴포넌트 생성 및 링크결제 Step1에 적용 - 각 리스트 아이템에 key prop 추가로 React 경고 해결 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- ...ion-account-holder-auth-deatil-mutation.ts | 0 ...unt-holder-auth-download-excel-mutation.ts | 0 ...nsion-account-holder-auth-list-mutation.ts | 30 ++++ .../model/account-holder-auth/constant.ts | 8 + .../additional-service/model/types.ts | 40 ++++- .../account-holder-auth-filter.tsx | 0 .../account-holder-auth-list.tsx | 33 ++++ .../additional-service/ui/list-date-group.tsx | 2 + .../additional-service/ui/list-item.tsx | 57 ++++++- .../account-holder-auth-page.tsx | 157 +++++++++++++++++- .../account-holder-search-page.tsx | 6 +- .../additional-service-pages.tsx | 5 +- .../additional-service/intro/intro-page.tsx | 2 +- src/shared/api/api-url-additional-service.ts | 12 ++ src/shared/constants/paths.ts | 12 +- src/shared/constants/route-names.ts | 6 +- src/shared/ui/menu/index.tsx | 2 +- 17 files changed, 351 insertions(+), 21 deletions(-) create mode 100644 src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-deatil-mutation.ts create mode 100644 src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-download-excel-mutation.ts create mode 100644 src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-list-mutation.ts create mode 100644 src/entities/additional-service/model/account-holder-auth/constant.ts create mode 100644 src/entities/additional-service/ui/account-holder-auth/account-holder-auth-filter.tsx create mode 100644 src/entities/additional-service/ui/account-holder-auth/account-holder-auth-list.tsx diff --git a/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-deatil-mutation.ts b/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-deatil-mutation.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-download-excel-mutation.ts b/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-download-excel-mutation.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-list-mutation.ts b/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-list-mutation.ts new file mode 100644 index 0000000..e0a44bb --- /dev/null +++ b/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-list-mutation.ts @@ -0,0 +1,30 @@ +import axios from 'axios'; +import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service'; +import { resultify } from '@/shared/lib/resultify'; +import { CBDCAxiosError } from '@/shared/@types/error'; +import { + ExtensionAccountHolderAuthListParams, + ExtensionAccountHolderAuthListResponse, + ExtensionAccountHolderSearchListParams, + ExtensionAccountHolderSearchListResponse, +} from '../../model/types'; +import { + useMutation, + UseMutationOptions +} from '@tanstack/react-query'; + +export const extensionAccountHolderAuthList = (params: ExtensionAccountHolderAuthListParams) => { + return resultify( + axios.post(API_URL_ADDITIONAL_SERVICE.extensionAccountHolderAuthList(), params), + ); +}; + +export const useExtensionAccountHolderAuthListMutation = (options?: UseMutationOptions) => { + const mutation = useMutation({ + ...options, + mutationFn: (params: ExtensionAccountHolderAuthListParams) => extensionAccountHolderAuthList(params), + }); + return { + ...mutation, + }; +} \ No newline at end of file diff --git a/src/entities/additional-service/model/account-holder-auth/constant.ts b/src/entities/additional-service/model/account-holder-auth/constant.ts new file mode 100644 index 0000000..7eeccb4 --- /dev/null +++ b/src/entities/additional-service/model/account-holder-auth/constant.ts @@ -0,0 +1,8 @@ +import { AuthAndTransferStatus } from "../types"; + +export const authStatusBtnGroup = [ + { name: '전체', value: AuthAndTransferStatus.ALL }, + { name: '요청', value: AuthAndTransferStatus.REQUEST}, + { name: '성공', value: AuthAndTransferStatus.SUCCESS}, + { name: '실패', value: AuthAndTransferStatus.FAIL} +] \ No newline at end of file diff --git a/src/entities/additional-service/model/types.ts b/src/entities/additional-service/model/types.ts index 9c86d5f..99bf42b 100644 --- a/src/entities/additional-service/model/types.ts +++ b/src/entities/additional-service/model/types.ts @@ -1,5 +1,6 @@ import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types'; import { PayoutContent } from './payout/types'; +import { P } from 'node_modules/framer-motion/dist/types.d-Cjd591yU'; // ======================================== // 공통 Enums 및 타입들 @@ -24,6 +25,7 @@ export interface SortOptionsBoxProps { // 부가서비스 카테고리 enum export enum AdditionalServiceCategory { KeyInPayment = 'KeyInPayment', + AccountHolderAuth = 'AccountHolderAuth', AccountHolderSearch = 'AccountHolderSearch', LinkPaymentHistory = 'LinkPaymentHistory', LinkPaymentPending = 'LinkPaymentPending', @@ -135,6 +137,28 @@ export interface KeyInPaymentFilterProps extends FilterProps { setMaxAmount: (maxAmount: string | number) => void; } +// ======================================== +// 계좌 점유 조회 관련 타입들 +// ======================================== +export enum AuthAndTransferStatus { + ALL = "ALL", + REQUEST = "REQUEST", + SUCCESS = "SUCCESS", + FAIL = "FAIL" +} + +export interface AccountHolderAuthListItem { + tid?: string; + accountName?: string; + accountNo?: string; + requestDate?: string; + bankName?: string; + transferStatus?: AuthAndTransferStatus; +} +export interface AccountHolderAuthListProps { + listItems: Record>; + mid: string; +} // ======================================== // 계좌성명 조회 관련 타입들 // ======================================== @@ -353,7 +377,8 @@ export interface SettlementAgencyBottomAgreeProps { export interface ListItemProps extends KeyInPaymentListItem, AccountHolderSearchListItem, - LinkPaymentHistoryListItem, LinkPaymentWaitListItem, + AccountHolderAuthListItem,LinkPaymentHistoryListItem, + LinkPaymentWaitListItem, PayoutContent { additionalServiceCategory?: AdditionalServiceCategory; mid?: string @@ -538,6 +563,19 @@ export interface ExtensionLinkPayWaitDeleteRespone { status: boolean } +// 계좌 점유 인증 확장 서비스 +// ======================================== +export interface ExtensionAccountHolderAuthListParams extends ExtensionRequestParams { + fromDate: string; + toDate: string; + authStatus: String; + page?: DefaultRequestPagination; +} + +export interface ExtensionAccountHolderAuthListResponse extends DefaulResponsePagination { + content: Array +} + // 계좌 성명 조회 확장 서비스 // ======================================== export interface ExtensionAccountHolderSearchListParams extends ExtensionRequestParams { // Request diff --git a/src/entities/additional-service/ui/account-holder-auth/account-holder-auth-filter.tsx b/src/entities/additional-service/ui/account-holder-auth/account-holder-auth-filter.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/ui/account-holder-auth/account-holder-auth-list.tsx b/src/entities/additional-service/ui/account-holder-auth/account-holder-auth-list.tsx new file mode 100644 index 0000000..e98347e --- /dev/null +++ b/src/entities/additional-service/ui/account-holder-auth/account-holder-auth-list.tsx @@ -0,0 +1,33 @@ +import { PATHS } from '@/shared/constants/paths'; +import { ListDateGroup } from '../list-date-group'; +import { AccountHolderAuthListProps, AdditionalServiceCategory } from '../../model/types'; + +export const AccountHolderAuthList = ({ + listItems, + mid +}: AccountHolderAuthListProps) => { + + const getListDateGroup = () => { + let rs = []; + for (const [key, value] of Object.entries(listItems)) { + rs.push( + + ) + } + return rs; + }; + + return ( + <> +
+ {getListDateGroup()} +
+ + ) +} \ No newline at end of file diff --git a/src/entities/additional-service/ui/list-date-group.tsx b/src/entities/additional-service/ui/list-date-group.tsx index d2d130d..c401527 100644 --- a/src/entities/additional-service/ui/list-date-group.tsx +++ b/src/entities/additional-service/ui/list-date-group.tsx @@ -30,7 +30,9 @@ export const ListDateGroup = ({ paymentStatus={ items[i]?.paymentStatus} requestDate={ items[i]?.requestDate } bankName={ items[i]?.bankName} + accountName={ items[i]?.accountName} accountNo={ items[i]?.accountNo } + transferStatus={ items[i]?.transferStatus} resultStatus={ items[i]?.resultStatus } amount={ items[i]?.amount } diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index 085aca1..d14d945 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -13,6 +13,8 @@ export const ListItem = ({ amount, sendDate, sendStatus, sendMethod, scheduledSendDate, processStatus, + accountName,transferStatus, + submallId, settlementDate, companyName, disbursementStatus, disbursementAmount }: ListItemProps) => { @@ -51,6 +53,13 @@ export const ListItem = ({ } } + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) { + if (transferStatus === "REQUEST" || transferStatus === "SUCCESS") { + rs = 'blue'; + } else if (transferStatus === "FAIL") { + rs = 'gray'; + } + } else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { if (resultStatus === "SUCCESS") { rs = 'blue'; @@ -92,6 +101,15 @@ export const ListItem = ({ return; } + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) { + navigate(PATHS.additionalService.accountHolderAuth.detail, { + state: { + additionalServiceCategory: additionalServiceCategory, + mid: mid, + tid: tid + } + }) + } else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { navigate(PATHS.additionalService.accountHolderSearch.detail, { state: { @@ -125,7 +143,7 @@ export const ListItem = ({ else if (additionalServiceCategory === AdditionalServiceCategory.SettlementAgency) { } - else if(additionalServiceCategory === AdditionalServiceCategory.Payout){ + else if (additionalServiceCategory === AdditionalServiceCategory.Payout) { navigate(PATHS.additionalService.payout.detail, { state: { additionalServiceCategory: additionalServiceCategory, @@ -145,6 +163,10 @@ export const ListItem = ({ let time = paymentDate?.substring(8, 12); timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4); } + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) { + let time = requestDate?.substring(8, 14); + timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4) + ':' + time?.substring(4, 6); + } else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { let time = requestDate?.substring(8, 14); timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4) + ':' + time?.substring(4, 6); @@ -160,11 +182,14 @@ export const ListItem = ({ if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) { str = `${tid}(${amount})`; } + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) { + str = `${accountName}(${accountNo})` + } else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { str = `${accountNo}` } else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentHistory || - additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending + additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending ) { if (sendMethod === "SMS") { str = `${"buyerName"}(${"휴대폰 번호"})` @@ -172,7 +197,7 @@ export const ListItem = ({ str = `${"buyerName"}(${"이메일"})` } } - else if (additionalServiceCategory === AdditionalServiceCategory.Payout){ + else if (additionalServiceCategory === AdditionalServiceCategory.Payout) { str = companyName; } @@ -190,6 +215,15 @@ export const ListItem = ({ ); } + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) { + rs.push( +
+ {getTime()} + | + {bankName} +
+ ) + } else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { rs.push(
@@ -229,12 +263,12 @@ export const ListItem = ({
); } - else if(additionalServiceCategory === AdditionalServiceCategory.Payout){ + else if (additionalServiceCategory === AdditionalServiceCategory.Payout) { rs.push(
- { disbursementStatus } + {disbursementStatus} | - { submallId } + {submallId}
); } @@ -262,6 +296,13 @@ export const ListItem = ({ ); } + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) { + rs.push( +
+ {(transferStatus === 'REQUEST' || transferStatus === 'SUCCESS') ? '성공' : '실패'} +
+ ); + } else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentHistory || additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending ) { @@ -276,9 +317,9 @@ export const ListItem = ({ ) } - else if(additionalServiceCategory === AdditionalServiceCategory.Payout){ + else if (additionalServiceCategory === AdditionalServiceCategory.Payout) { rs.push( -
diff --git a/src/pages/additional-service/account-holder-auth/account-holder-auth-page.tsx b/src/pages/additional-service/account-holder-auth/account-holder-auth-page.tsx index 41aeeee..ad31f4d 100644 --- a/src/pages/additional-service/account-holder-auth/account-holder-auth-page.tsx +++ b/src/pages/additional-service/account-holder-auth/account-holder-auth-page.tsx @@ -1,18 +1,167 @@ +import moment from 'moment'; +import { PATHS } from '@/shared/constants/paths'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { HeaderType } from '@/entities/common/model/types'; -import { - useSetHeaderTitle, - useSetHeaderType, - useSetFooterMode +import { IMAGE_ROOT } from '@/shared/constants/common'; +import { SortByKeys, AuthAndTransferStatus, AccountHolderAuthListItem } from '@/entities/additional-service/model/types'; +import { useEffect, useState } from 'react'; +import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; +import { SortOptionsBox } from '@/entities/additional-service/ui/sort-options-box'; + +import { + useSetHeaderTitle, + useSetHeaderType, + useSetFooterMode, + 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 { AccountHolderAuthList } from '@/entities/additional-service/ui/account-holder-auth/account-holder-auth-list'; export const AccountHolderAuthPage = () => { + const { navigate } = useNavigate(); + + const [sortBy, setSortBy] = useState(SortByKeys.New); + const [listItems, setListItems] = useState({}); + const [filterOn, setFilterOn] = useState(false); + const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); + const [mid, setMid] = useState('nictest001m'); + const [fromDate, setFromDate] = useState(moment().format('YYYY-MM-DD')); + const [toDate, setToDate] = useState(moment().format('YYYY-MM-DD')); + const [authStatus, setAuthStatus] = useState(AuthAndTransferStatus.ALL) + useSetHeaderTitle('계좌점유인증'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(true); + useSetOnBack(() => { + navigate(PATHS.home); + }); + const { mutateAsync: accountHolderAuthList } = useExtensionAccountHolderAuthListMutation(); + + const callList = (option?: { + sortBy?: string, + val?: string + }) => { + pageParam.sortBy = (option?.sortBy) ? option.sortBy : sortBy; + setPageParam(pageParam); + let listParams = { + mid: mid, + fromDate: fromDate, + toDate: toDate, + authStatus: authStatus, + page: pageParam + } + + accountHolderAuthList(listParams).then((rs) => { + setListItems(assembleData(rs.content)); + }); + } + + const assembleData = (content: Array) => { + console.log('rs.content:', content) + let data: any = {}; + if (content && content.length > 0) { + for (let i = 0; i < content?.length; i++) { + let requestDate = content[i]?.requestDate?.substring(0, 8); + let groupDate = moment(requestDate).format('YYYYMMDD'); + if (!!groupDate && !data.hasOwnProperty(groupDate)) { + data[groupDate] = []; + } + if (!!groupDate && data.hasOwnProperty(groupDate)) { + data[groupDate].push(content[i]); + } + } + } + console.log('Data : ', data) + return data; + }; + + const onClickToDownloadExcel = () => { + + } + + const onClickToOpenFilter = () => { + setFilterOn(!filterOn); + }; + + const onClickToSort = (sort: SortByKeys) => { + setSortBy(sort); + callList({ sortBy: sort }) + }; + + + const onClickToAuthStatus = (val: AuthAndTransferStatus) => { + setAuthStatus(val); + callList({ val: val }); + }; + + useEffect(() => { + callList(); + }, []); return ( <> +
+
+
+
+
+
+ + +
+ +
+
+
+ +
+
+ { + authStatusBtnGroup.map((value, index) => ( + onClickToAuthStatus(value.value)} + >{value.name} + )) + } +
+
+
+ +
+
+
); }; \ No newline at end of file diff --git a/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx b/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx index e4f0655..3ae27d0 100644 --- a/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx +++ b/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx @@ -4,9 +4,8 @@ import { useEffect, useState } from 'react'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { IMAGE_ROOT } from '@/shared/constants/common'; import { HeaderType } from '@/entities/common/model/types'; -import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation'; import { AccountHolderSearchFilter } from '@/entities/additional-service/ui/account-holder-search/filter/account-holder-search-filter'; -import { ProcessResult, AccountHolderSearchType, SortByKeys, AccountHolderSearchListItem, AdditionalServiceCategory } from '@/entities/additional-service/model/types'; +import { ProcessResult, AccountHolderSearchType, SortByKeys, AccountHolderSearchListItem } from '@/entities/additional-service/model/types'; import { useSetHeaderTitle, useSetHeaderType, @@ -63,7 +62,8 @@ export const AccountHolderSearchPage = () => { fromDate: startDate, toDate: endDate, bankCode: bank, - resultStatus: processResult + resultStatus: processResult, + page: pageParam } accountHolderSearchList(listParams).then((rs) => { diff --git a/src/pages/additional-service/additional-service-pages.tsx b/src/pages/additional-service/additional-service-pages.tsx index cf4ceb0..455fde9 100644 --- a/src/pages/additional-service/additional-service-pages.tsx +++ b/src/pages/additional-service/additional-service-pages.tsx @@ -56,7 +56,10 @@ export const AdditionalServicePages = () => { } /> } /> - } /> + + } /> + } /> + } /> } /> diff --git a/src/pages/additional-service/intro/intro-page.tsx b/src/pages/additional-service/intro/intro-page.tsx index 4ce584a..9def4ec 100644 --- a/src/pages/additional-service/intro/intro-page.tsx +++ b/src/pages/additional-service/intro/intro-page.tsx @@ -57,7 +57,7 @@ export const IntroPage = () => { }, { className: 'list-wrap02', serviceName: '계좌점유인증', serviceDesc: '1원 송금으로 실제 계좌 점유 확인 여부', - icon: IMAGE_ROOT + '/icon_ing09.svg', path: PATHS.additionalService.accountHolderAuth + icon: IMAGE_ROOT + '/icon_ing09.svg', path: PATHS.additionalService.accountHolderAuth.list }, { className: 'list-wrap02', serviceName: '알림톡 결제통보', serviceDesc: '결제 상태를 알림톡으로 쉽고 빠른 안내', diff --git a/src/shared/api/api-url-additional-service.ts b/src/shared/api/api-url-additional-service.ts index a541cbc..eb8b8ad 100644 --- a/src/shared/api/api-url-additional-service.ts +++ b/src/shared/api/api-url-additional-service.ts @@ -5,6 +5,18 @@ import { /* Extension Management - 부가서비스 API */ export const API_URL_ADDITIONAL_SERVICE = { + extensionAccountHolderAuthList: () => { + // POST: 계좌점유인증 목록 조회 + return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/account-auth/list`; + }, + extensionAccountHolderAuthDownlaodExcel: () => { + // POST: 계좌점유인증 엑셀 다운 + return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/account-auth/excel`; + }, + extensionAccountHolderAuthDetail: () => { + // POST: 계좌점유인증 상세 조회 + return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/account-auth/detail`; + }, extensionAccountHolderSearchList: () => { // POST: 계좌성명조회 목록 조회 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/search-account-name/list`; diff --git a/src/shared/constants/paths.ts b/src/shared/constants/paths.ts index 2a6472b..3abf7c8 100644 --- a/src/shared/constants/paths.ts +++ b/src/shared/constants/paths.ts @@ -188,7 +188,17 @@ export const PATHS: RouteNamesType = { ROUTE_NAMES.additionalService.accountHolderSearch.request, ) }, - accountHolderAuth: generatePath(ROUTE_NAMES.additionalService.base, ROUTE_NAMES.additionalService.accountHolderAuth), + accountHolderAuth: { + base: generatePath(ROUTE_NAMES.additionalService.base, ROUTE_NAMES.additionalService.accountHolderAuth.base), + list: generatePath( + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.accountHolderAuth.base}`, + ROUTE_NAMES.additionalService.accountHolderAuth.list + ), + detail: generatePath( + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.accountHolderAuth.base}`, + ROUTE_NAMES.additionalService.accountHolderAuth.detail + ), + }, linkPayment: { base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.linkPayment.base}`), shippingHistory: generatePath( diff --git a/src/shared/constants/route-names.ts b/src/shared/constants/route-names.ts index 42e504e..c9741b1 100644 --- a/src/shared/constants/route-names.ts +++ b/src/shared/constants/route-names.ts @@ -89,7 +89,11 @@ export const ROUTE_NAMES = { detail: 'detail', request: 'request' }, - accountHolderAuth: 'account-holder-auth', + accountHolderAuth: { + base: '/account-holder-auth/*', + list: 'list', + detail: 'detail' + }, linkPayment: { base: '/link-payment/*', shippingHistory: 'shipping-history', diff --git a/src/shared/ui/menu/index.tsx b/src/shared/ui/menu/index.tsx index cdba423..c875c3e 100644 --- a/src/shared/ui/menu/index.tsx +++ b/src/shared/ui/menu/index.tsx @@ -86,7 +86,7 @@ export const Menu = ({ {title: 'KEY-IN 결제', path: PATHS.additionalService.keyInPayment.list}, {title: 'SMS 결제 통보', path: PATHS.additionalService.smsPaymentNotification}, {title: '계좌성명조회', path: PATHS.additionalService.accountHolderSearch.list}, - {title: '계좌점유인증', path: PATHS.additionalService.accountHolderAuth}, + {title: '계좌점유인증', path: PATHS.additionalService.accountHolderAuth.list}, {title: '링크결제', path: PATHS.additionalService.linkPayment.shippingHistory}, {title: '알림톡 결제통보', path: PATHS.additionalService.kakaoPaymentNotification.list}, {title: '자금이체', path: PATHS.additionalService.fundTransfer.requestList},