From bcd51e6971da96b11b5c96df44b477adc9db6b61 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Fri, 26 Sep 2025 09:23:27 +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=EC=86=8C=EA=B0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../additional-service/ui/intro-list-item.tsx | 35 ------- .../link-payment/apply/link-payment-step1.tsx | 2 +- .../additional-service-pages.tsx | 5 +- .../{intro/intro-page.tsx => list-page.tsx} | 93 +++++++++++++------ src/shared/constants/paths.ts | 2 +- src/shared/constants/route-names.ts | 85 +---------------- src/shared/ui/menu/index.tsx | 2 +- 7 files changed, 71 insertions(+), 153 deletions(-) delete mode 100644 src/entities/additional-service/ui/intro-list-item.tsx rename src/pages/additional-service/{intro/intro-page.tsx => list-page.tsx} (63%) diff --git a/src/entities/additional-service/ui/intro-list-item.tsx b/src/entities/additional-service/ui/intro-list-item.tsx deleted file mode 100644 index 1f6fca2..0000000 --- a/src/entities/additional-service/ui/intro-list-item.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { IntroListItemProps } from '../model/types'; -import { useNavigate } from '@/shared/lib/hooks/use-navigate'; - -export const IntroListItem = ({ - className, - serviceName, - serviceDesc, - icon, - path -}: IntroListItemProps) => { - const { navigate } = useNavigate(); - - const onClickToNavigate = () => { - if(!!path){ - navigate(path); - } - }; - return ( - <> -
onClickToNavigate() } - > -
-
{ serviceName }
-

{ serviceDesc }

-
- { -
- - ) -}; \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx b/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx index 28374c0..7596eab 100644 --- a/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx +++ b/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx @@ -13,7 +13,7 @@ export const LinkPaymentStep1 = ({ formData, setFormData }: LinkPaymentStep1Prop const { navigate } = useNavigate(); useSetOnBack(() => { - navigate(PATHS.additionalService.intro); + navigate(PATHS.additionalService.list); }); const handlePaymentMethodChange = (method: LinkPaymentSendMethod) => { diff --git a/src/pages/additional-service/additional-service-pages.tsx b/src/pages/additional-service/additional-service-pages.tsx index 14ae267..c01c060 100644 --- a/src/pages/additional-service/additional-service-pages.tsx +++ b/src/pages/additional-service/additional-service-pages.tsx @@ -1,7 +1,7 @@ import { Route } from 'react-router-dom'; import { SentryRoutes } from '@/shared/configs/sentry'; import { ROUTE_NAMES } from '@/shared/constants/route-names'; -import { IntroPage } from './intro/intro-page'; +import { ListPage } from './list-page'; import { ArsListPage } from './ars/list-page'; import { ArsDetailPage } from './ars/detail-page'; import { ArsRequestPage } from './ars/request-page'; @@ -43,8 +43,7 @@ export const AdditionalServicePages = () => { return ( <> - } /> - + } /> } /> } /> diff --git a/src/pages/additional-service/intro/intro-page.tsx b/src/pages/additional-service/list-page.tsx similarity index 63% rename from src/pages/additional-service/intro/intro-page.tsx rename to src/pages/additional-service/list-page.tsx index a761546..7e7713d 100644 --- a/src/pages/additional-service/intro/intro-page.tsx +++ b/src/pages/additional-service/list-page.tsx @@ -1,18 +1,24 @@ +import { useEffect, useState } from 'react'; import { PATHS } from '@/shared/constants/paths'; -import { IMAGE_ROOT } from '@/shared/constants/common'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; -import { IntroListItem } from '@/entities/additional-service/ui/intro-list-item'; import { HeaderType } from '@/entities/common/model/types'; +import { IMAGE_ROOT } from '@/shared/constants/common'; import { useSetHeaderTitle, useSetHeaderType, useSetFooterMode, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; +import { useExtensionListMutation } from '@/entities/additional-service/api/use-extension-list-mutation'; +import { ExtensionListParams, ExtensionListResponse } from '@/entities/additional-service/model/types'; -export const IntroPage = () => { +export const ListPage = () => { const { navigate } = useNavigate(); + const [mid, setMid] = useState('nictest001m'); + + const { mutateAsync: extensionList } = useExtensionListMutation(); + useSetHeaderTitle('부가서비스 소개'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(true); @@ -20,7 +26,20 @@ export const IntroPage = () => { navigate(PATHS.home); }); - const usingList = [ + const callExtensionList = () => { + let params: ExtensionListParams = { + mid: mid + } + extensionList(params).then((rs: ExtensionListResponse) => { + console.log(rs) + }); + }; + + useEffect(() => { + callExtensionList(); + }, []); + + const activeExtensionList = [ { className: 'list-wrap01', serviceName: 'SMS 결제 통보', serviceDesc: '입금 요청부터 완료까지 SMS 자동 전송', icon: IMAGE_ROOT + '/icon_ing03.svg', path: PATHS.additionalService.smsPaymentNotification @@ -38,7 +57,7 @@ export const IntroPage = () => { icon: IMAGE_ROOT + '/icon_ing04.svg', path: PATHS.additionalService.accountHolderSearch.list }, ]; - const requestList = [ + const availableExtensionList = [ { className: 'list-wrap02', serviceName: '지급대행', serviceDesc: '하위 가맹점에 빠른 정산금 지급 지급대행 서비스', icon: IMAGE_ROOT + '/icon_ing05.svg', path: PATHS.additionalService.payout.list @@ -65,34 +84,52 @@ export const IntroPage = () => { }, ]; - const getUsingList = () => { + const onClickToNavigate = (path?: string) => { + if(!!path){ + navigate(path); + } + }; + + const getActiveExtensionList = () => { let rs = []; - for(let i=0;i +
onClickToNavigate(activeExtensionList[i]?.path) } + > +
+
{ activeExtensionList[i]?.serviceName }
+

{ activeExtensionList[i]?.serviceDesc }

+
+ { +
); } return rs; }; - const getRequestList = () => { + const getAvailableExtensionList = () => { let rs = []; - for(let i=0;i +
onClickToNavigate(availableExtensionList[i]?.path) } + > +
+
{ availableExtensionList[i]?.serviceName }
+

{ availableExtensionList[i]?.serviceDesc }

+
+ { +
); } return rs; @@ -112,13 +149,13 @@ export const IntroPage = () => {

사용중인 서비스

- { getUsingList() } + { getActiveExtensionList() }

신청 가능한 서비스

- { getRequestList() } + { getAvailableExtensionList() } - ); + ) }; \ No newline at end of file diff --git a/src/shared/constants/paths.ts b/src/shared/constants/paths.ts index e2f6d03..b5c85a3 100644 --- a/src/shared/constants/paths.ts +++ b/src/shared/constants/paths.ts @@ -132,7 +132,7 @@ export const PATHS: RouteNamesType = { }, additionalService: { base: generatePath(ROUTE_NAMES.additionalService.base), - intro: generatePath(ROUTE_NAMES.additionalService.base, ROUTE_NAMES.additionalService.intro), + list: generatePath(ROUTE_NAMES.additionalService.base, ROUTE_NAMES.additionalService.list), ars: { base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.ars.base}`), list: generatePath( diff --git a/src/shared/constants/route-names.ts b/src/shared/constants/route-names.ts index 8643f62..f68442a 100644 --- a/src/shared/constants/route-names.ts +++ b/src/shared/constants/route-names.ts @@ -66,7 +66,7 @@ export const ROUTE_NAMES = { }, additionalService: { base: '/additional-service/*', - intro: 'intro', + list: 'list', ars: { base: '/ars/*', list: 'list', @@ -161,89 +161,6 @@ export const ROUTE_NAMES = { list: 'list', }, - /* - intro: '/intro', - appAuth: '/appAuth', - start: '/start', - mobileVerification: '/mobileVerification', - pwFail: '/pwFail', - signUp: { - base: '/signUp/*', - termsAndConditions: 'termsAndConditions', - setPinNumber: 'setPinNumber', - reSetBiometricAuth: 'reSetBiometricAuth', - setBiometricAuth: 'setBiometricAuth', - reSetPinNumber: 'reSetPinNumber', - bioPinNumber: 'bioPinNumber', - inputPinNumber: 'inputPinNumber', - }, - issueWallet: { - base: '/issueWallet/*', - intro: 'intro', - inputBankAccount: 'inputBankAccount', - authBankAccount: 'authBankAccount', - chooseIDCardType: 'chooseIDCardType', - captureBusinessLicense: 'captureBusinessLicense', - confirm: { - base: '/confirm/*', - IDCard: 'IDCard', - driverLicense: 'driverLicense', - passport: 'passport', - businessLicense: 'businessLicense', - }, - }, - myWallet: { - base: '/myWallet/*', - history: 'history', - historyDetail: 'history/:historyId', - refundQRCode: 'refundQRCode/:historyId', - tokenDetail: 'token/:tokenId', - }, - exchange: { - base: '/exchange/*', - selectRecipient: 'selectRecipient', - inputRecipient: 'inputRecipient', - inputAmount: 'inputAmount', - inputConfirm: 'inputConfirm', - process: 'process', - complete: 'complete', - }, - myBankAccount: '/myBankAccount', - security: '/security', - appVersion: '/appVersion', - settingFontSize: '/settingFontSize', - community: { - base: '/community/*', - faq: 'faq', - faqDetail: 'faqDetail', - notice: 'notice', - noticeDetail: 'noticeDetail', - inquiry: 'inquiry', - inquiryDetail: 'inquiryDetail', - inquiryModify: 'inquiryModify', - }, - menu: '/menu', - login: '/login', - reLogin: '/reLogin', - home: '/home', - shopList: '/shopList', - notification: { - base: '/notification/*', - setting: 'setting', - }, - payment: { - base: '/payment/*', - myPaymentQRCode: 'myPaymentQRCode', - payWithNFCManual: 'payWithNFCManual', - payWithNFCAuto: 'payWithNFCAuto', - }, - voucher: { - base: '/voucher/*', - voucherDetail: ':voucherId', - }, - paymentGuide: 'paymentGuide', - inputShopWalletAddr: 'inputShopWalletAddr', - */ }; export type RouteNamesType = typeof ROUTE_NAMES; diff --git a/src/shared/ui/menu/index.tsx b/src/shared/ui/menu/index.tsx index ec62d3a..83b0c3b 100644 --- a/src/shared/ui/menu/index.tsx +++ b/src/shared/ui/menu/index.tsx @@ -81,7 +81,7 @@ export const Menu = ({ category: '부가서비스', categoryIcon: 'service-icon', items: [ - {title: '부가서비스소개', path: PATHS.additionalService.intro}, + {title: '부가서비스소개', path: PATHS.additionalService.list}, {title: 'ARS 카드결제', path: PATHS.additionalService.ars.list}, {title: 'KEY-IN 결제', path: PATHS.additionalService.keyInPayment.list}, {title: 'SMS 결제 통보', path: PATHS.additionalService.smsPaymentNotification},