자금이체 탭
This commit is contained in:
@@ -1,5 +1,12 @@
|
|||||||
import { DefaulResponsePagination } from '@/entities/common/model/types';
|
import { DefaulResponsePagination } from '@/entities/common/model/types';
|
||||||
|
|
||||||
|
export enum FundTransferTabKeys {
|
||||||
|
RequestList = 'RequestList',
|
||||||
|
ResultInquiry = 'ResultInquiry'
|
||||||
|
};
|
||||||
|
export interface FundTransferTabProps {
|
||||||
|
activeTab: FundTransferTabKeys;
|
||||||
|
};
|
||||||
export interface ExtensionRequestParams {
|
export interface ExtensionRequestParams {
|
||||||
mid: string;
|
mid: string;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
export const FundTransferRequestListWrap = () => {
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
export const FundTransferResultInquiryWrap = () => {
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
37
src/entities/additional-service/ui/fund-transfer-tab.tsx
Normal file
37
src/entities/additional-service/ui/fund-transfer-tab.tsx
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import { PATHS } from '@/shared/constants/paths';
|
||||||
|
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
||||||
|
import {
|
||||||
|
FundTransferTabKeys,
|
||||||
|
FundTransferTabProps
|
||||||
|
} from '../model/types';
|
||||||
|
export const FundTransferTab = ({
|
||||||
|
activeTab
|
||||||
|
}: FundTransferTabProps) => {
|
||||||
|
const { navigate } = useNavigate();
|
||||||
|
|
||||||
|
const onClickToNavigation = (tab: FundTransferTabKeys) => {
|
||||||
|
if(activeTab !== tab){
|
||||||
|
if(tab === FundTransferTabKeys.RequestList){
|
||||||
|
navigate(PATHS.additionalService.fundTransfer.requestList);
|
||||||
|
}
|
||||||
|
else if(tab === FundTransferTabKeys.ResultInquiry){
|
||||||
|
navigate(PATHS.additionalService.fundTransfer.resultInquiry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="subTab">
|
||||||
|
<button
|
||||||
|
className={`subtab-btn ${(activeTab === FundTransferTabKeys.RequestList)? 'active': ''}` }
|
||||||
|
onClick={ () => onClickToNavigation(FundTransferTabKeys.RequestList) }
|
||||||
|
>이체 신청</button>
|
||||||
|
<button
|
||||||
|
className={`subtab-btn ${(activeTab === FundTransferTabKeys.ResultInquiry)? 'active': ''}` }
|
||||||
|
onClick={ () => onClickToNavigation(FundTransferTabKeys.ResultInquiry) }
|
||||||
|
>결과 조회</button>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -14,6 +14,7 @@ import { KakaoPaymentNotificationListPage } from './kakao-payment-notification/l
|
|||||||
import { KakaoPaymentNotificationSettingPage } from './kakao-payment-notification/setting-page';
|
import { KakaoPaymentNotificationSettingPage } from './kakao-payment-notification/setting-page';
|
||||||
import { FundTransferRequestListPage } from './fund-transfer/request-list-page';
|
import { FundTransferRequestListPage } from './fund-transfer/request-list-page';
|
||||||
import { FundTransferRequestRegisterPage } from './fund-transfer/request-register-page';
|
import { FundTransferRequestRegisterPage } from './fund-transfer/request-register-page';
|
||||||
|
import { FundTransferResultInquiryPage } from './fund-transfer/result-inquiry-page';
|
||||||
import { SettlementAgencyPage } from './settlement-agency/settlement-agency-page';
|
import { SettlementAgencyPage } from './settlement-agency/settlement-agency-page';
|
||||||
import { PaymentAgencyListPage } from './payment-agency/list-page';
|
import { PaymentAgencyListPage } from './payment-agency/list-page';
|
||||||
import { PaymentAgencyDetailPage } from './payment-agency/detail-page';
|
import { PaymentAgencyDetailPage } from './payment-agency/detail-page';
|
||||||
@@ -42,6 +43,7 @@ export const AdditionalServicePages = () => {
|
|||||||
<Route path={ROUTE_NAMES.additionalService.fundTransfer.base}>
|
<Route path={ROUTE_NAMES.additionalService.fundTransfer.base}>
|
||||||
<Route path={ROUTE_NAMES.additionalService.fundTransfer.requestList} element={<FundTransferRequestListPage />} />
|
<Route path={ROUTE_NAMES.additionalService.fundTransfer.requestList} element={<FundTransferRequestListPage />} />
|
||||||
<Route path={ROUTE_NAMES.additionalService.fundTransfer.requestRegister} element={<FundTransferRequestRegisterPage />} />
|
<Route path={ROUTE_NAMES.additionalService.fundTransfer.requestRegister} element={<FundTransferRequestRegisterPage />} />
|
||||||
|
<Route path={ROUTE_NAMES.additionalService.fundTransfer.resultInquiry} element={<FundTransferResultInquiryPage />} />
|
||||||
</Route>
|
</Route>
|
||||||
<Route path={ROUTE_NAMES.additionalService.settlementAgency} element={<SettlementAgencyPage />} />
|
<Route path={ROUTE_NAMES.additionalService.settlementAgency} element={<SettlementAgencyPage />} />
|
||||||
<Route path={ROUTE_NAMES.additionalService.paymentAgency.base}>
|
<Route path={ROUTE_NAMES.additionalService.paymentAgency.base}>
|
||||||
|
|||||||
@@ -1,18 +1,39 @@
|
|||||||
|
import { useState } from 'react';
|
||||||
|
import { PATHS } from '@/shared/constants/paths';
|
||||||
|
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
||||||
|
import { FundTransferTab } from '@/entities/additional-service/ui/fund-transfer-tab';
|
||||||
|
import { FundTransferRequestListWrap } from '@/entities/additional-service/ui/fund-transfer-request-list-wrap';
|
||||||
|
import { FundTransferTabKeys } from '@/entities/additional-service/model/types';
|
||||||
import { HeaderType } from '@/entities/common/model/types';
|
import { HeaderType } from '@/entities/common/model/types';
|
||||||
import {
|
import {
|
||||||
useSetHeaderTitle,
|
useSetHeaderTitle,
|
||||||
useSetHeaderType,
|
useSetHeaderType,
|
||||||
useSetFooterMode
|
useSetFooterMode,
|
||||||
|
useSetOnBack
|
||||||
} from '@/widgets/sub-layout/use-sub-layout';
|
} from '@/widgets/sub-layout/use-sub-layout';
|
||||||
|
|
||||||
export const FundTransferRequestListPage = () => {
|
export const FundTransferRequestListPage = () => {
|
||||||
|
const { navigate } = useNavigate();
|
||||||
|
|
||||||
|
const [activeTab, setActiveTab] = useState<FundTransferTabKeys>(FundTransferTabKeys.RequestList);
|
||||||
|
|
||||||
useSetHeaderTitle('자금이체');
|
useSetHeaderTitle('자금이체');
|
||||||
useSetHeaderType(HeaderType.LeftArrow);
|
useSetHeaderType(HeaderType.LeftArrow);
|
||||||
useSetFooterMode(true);
|
useSetFooterMode(true);
|
||||||
|
useSetOnBack(() => {
|
||||||
|
navigate(PATHS.home);
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<main>
|
||||||
|
<div className="tab-content">
|
||||||
|
<div className="tab-pane sub active">
|
||||||
|
<FundTransferTab activeTab={ activeTab }></FundTransferTab>
|
||||||
|
<FundTransferRequestListWrap></FundTransferRequestListWrap>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
import { useState } from 'react';
|
||||||
|
import { PATHS } from '@/shared/constants/paths';
|
||||||
|
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
||||||
|
import { FundTransferTab } from '@/entities/additional-service/ui/fund-transfer-tab';
|
||||||
|
import { FundTransferResultInquiryWrap } from '@/entities/additional-service/ui/fund-transfer-result-inquiry-wrap';
|
||||||
|
import { FundTransferTabKeys } from '@/entities/additional-service/model/types';
|
||||||
|
import { HeaderType } from '@/entities/common/model/types';
|
||||||
|
import {
|
||||||
|
useSetHeaderTitle,
|
||||||
|
useSetHeaderType,
|
||||||
|
useSetFooterMode,
|
||||||
|
useSetOnBack
|
||||||
|
} from '@/widgets/sub-layout/use-sub-layout';
|
||||||
|
|
||||||
|
export const FundTransferResultInquiryPage = () => {
|
||||||
|
const { navigate } = useNavigate();
|
||||||
|
|
||||||
|
const [activeTab, setActiveTab] = useState<FundTransferTabKeys>(FundTransferTabKeys.ResultInquiry);
|
||||||
|
|
||||||
|
useSetHeaderTitle('자금이체');
|
||||||
|
useSetHeaderType(HeaderType.LeftArrow);
|
||||||
|
useSetFooterMode(true);
|
||||||
|
useSetOnBack(() => {
|
||||||
|
navigate(PATHS.home);
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<main>
|
||||||
|
<div className="tab-content">
|
||||||
|
<div className="tab-pane sub active">
|
||||||
|
<FundTransferTab activeTab={ activeTab }></FundTransferTab>
|
||||||
|
<FundTransferResultInquiryWrap></FundTransferResultInquiryWrap>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -183,6 +183,10 @@ export const PATHS: RouteNamesType = {
|
|||||||
`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.fundTransfer.base}`,
|
`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.fundTransfer.base}`,
|
||||||
ROUTE_NAMES.additionalService.fundTransfer.requestRegister,
|
ROUTE_NAMES.additionalService.fundTransfer.requestRegister,
|
||||||
),
|
),
|
||||||
|
resultInquiry: generatePath(
|
||||||
|
`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.fundTransfer.base}`,
|
||||||
|
ROUTE_NAMES.additionalService.fundTransfer.resultInquiry,
|
||||||
|
),
|
||||||
},
|
},
|
||||||
settlementAgency: generatePath(ROUTE_NAMES.additionalService.base, ROUTE_NAMES.additionalService.settlementAgency),
|
settlementAgency: generatePath(ROUTE_NAMES.additionalService.base, ROUTE_NAMES.additionalService.settlementAgency),
|
||||||
paymentAgency: {
|
paymentAgency: {
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ export const ROUTE_NAMES = {
|
|||||||
base: '/fund-transfer/*',
|
base: '/fund-transfer/*',
|
||||||
requestList: 'request-list',
|
requestList: 'request-list',
|
||||||
requestRegister: 'request-register',
|
requestRegister: 'request-register',
|
||||||
|
resultInquiry: 'result-inquiry',
|
||||||
},
|
},
|
||||||
settlementAgency: 'settlement-agency',
|
settlementAgency: 'settlement-agency',
|
||||||
paymentAgency: {
|
paymentAgency: {
|
||||||
|
|||||||
Reference in New Issue
Block a user