- 링크결제 발송내역 Header Title,Close Button 겹침 문제 수정

This commit is contained in:
HyeonJongKim
2025-11-04 13:29:47 +09:00
parent 646aa0d3c0
commit 4f139ebcec
2 changed files with 62 additions and 69 deletions

View File

@@ -43,20 +43,13 @@ export const LinkPaymentHistoryDetail = ({
const { t } = useTranslation(); const { t } = useTranslation();
const { navigate } = useNavigate(); const { navigate } = useNavigate();
const location = useLocation(); const location = useLocation();
const [titleInfo, setTitleInfo] = useState<TitleInfo>(); const [titleInfo, setTitleInfo] = useState<TitleInfo>();
const [detailInfo, setDetailInfo] = useState<DetailInfo>(); const [detailInfo, setDetailInfo] = useState<DetailInfo>();
const [paymentInfo, setPaymentInfo] = useState<PaymentInfo>(); const [paymentInfo, setPaymentInfo] = useState<PaymentInfo>();
const [detailExposure, setDetailExposure] = useState<boolean>(false); const [detailExposure, setDetailExposure] = useState<boolean>(false);
const [showPayment, setShowPayment] = useState<boolean>(false); const [showPayment, setShowPayment] = useState<boolean>(false);
useSetHeaderTitle(t('additionalService.linkPayment.detailTitle'));
useSetHeaderType(HeaderType.RightClose);
useSetOnBack(() => {
navigate(-1); // Go back using browser history
});
useSetFooterMode(false);
const { mutateAsync: linkPayHistoryDetail } = useExtensionLinkPayHistoryDetailMutation(); const { mutateAsync: linkPayHistoryDetail } = useExtensionLinkPayHistoryDetailMutation();
const { mutateAsync: linkPayHistoryResend } = useExtensionLinkPayHistoryResendMutation(); const { mutateAsync: linkPayHistoryResend } = useExtensionLinkPayHistoryResendMutation();

View File

@@ -49,31 +49,31 @@ export const LinkPaymentHistoryWrap = () => {
const [sendMethod, setSendMethod] = useState<LinkPaymentSendMethod>(LinkPaymentSendMethod.ALL); const [sendMethod, setSendMethod] = useState<LinkPaymentSendMethod>(LinkPaymentSendMethod.ALL);
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false); const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
const [detailOn, setDetailOn] = useState<boolean>(false); const [detailOn, setDetailOn] = useState<boolean>(false);
const [detailMid, setDetailMid] = useState<string>(''); const [detailMid, setDetailMid] = useState<string>('');
const [detailRequestId, setDetailRequestId] = useState<string>(''); const [detailRequestId, setDetailRequestId] = useState<string>('');
const [detailSubReqId, setDetailSubReqId] = useState<string>(''); const [detailSubReqId, setDetailSubReqId] = useState<string>('');
const { mutateAsync: linkPayHistoryList } = useExtensionLinkPayHistoryListMutation(); const { mutateAsync: linkPayHistoryList } = useExtensionLinkPayHistoryListMutation();
const { mutateAsync: downloadExcel } = useExtensionLinkPayHistoryDownloadExcelMutation(); const { mutateAsync: downloadExcel } = useExtensionLinkPayHistoryDownloadExcelMutation();
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => { const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
entries.forEach((entry: IntersectionObserverEntry) => { entries.forEach((entry: IntersectionObserverEntry) => {
if(entry.isIntersecting){ if (entry.isIntersecting) {
console.log('Element is now intersecting with the root. [' + onActionIntersect + ']'); console.log('Element is now intersecting with the root. [' + onActionIntersect + ']');
if(onActionIntersect && !!pageParam.cursor){ if (onActionIntersect && !!pageParam.cursor) {
setOnActionIntersect(false); setOnActionIntersect(false);
callList('page'); callList('page');
} }
} }
else{ else {
console.log('Element is no longer intersecting with the root.'); console.log('Element is no longer intersecting with the root.');
} }
}); });
}; };
const { setTarget } = useIntersectionObserver({ const { setTarget } = useIntersectionObserver({
threshold: 1, threshold: 1,
onIntersect onIntersect
}); });
const onClickToNavigate = () => { const onClickToNavigate = () => {
navigate(PATHS.additionalService.linkPayment.request) navigate(PATHS.additionalService.linkPayment.request)
@@ -95,40 +95,40 @@ export const LinkPaymentHistoryWrap = () => {
...{ sortType: sortType } ...{ sortType: sortType }
} }
}; };
if(type !== 'page' && listParams.page){ if (type !== 'page' && listParams.page) {
listParams.page.cursor = null; listParams.page.cursor = null;
} }
linkPayHistoryList(listParams).then((rs) => { linkPayHistoryList(listParams).then((rs) => {
if(type === 'page'){ if (type === 'page') {
setListItems([ setListItems([
...listItems, ...listItems,
...rs.content ...rs.content
]); ]);
} }
else{ else {
setListItems(rs.content); setListItems(rs.content);
} }
if(rs.hasNext if (rs.hasNext
&& rs.nextCursor !== pageParam.cursor && rs.nextCursor !== pageParam.cursor
&& rs.content.length === DEFAULT_PAGE_PARAM.size && rs.content.length === DEFAULT_PAGE_PARAM.size
){ ) {
setPageParam({ setPageParam({
...pageParam, ...pageParam,
...{ cursor: rs.nextCursor } ...{ cursor: rs.nextCursor }
}); });
} }
else{ else {
setPageParam({ setPageParam({
...pageParam, ...pageParam,
...{ cursor: null } ...{ cursor: null }
}); });
} }
setOnActionIntersect( setOnActionIntersect(
!!rs.hasNext !!rs.hasNext
&& rs.nextCursor !== pageParam.cursor && rs.nextCursor !== pageParam.cursor
&& rs.content.length === DEFAULT_PAGE_PARAM.size && rs.content.length === DEFAULT_PAGE_PARAM.size
); );
}); });
}; };
@@ -170,13 +170,13 @@ export const LinkPaymentHistoryWrap = () => {
const setDetailData = (detailData: DetailData) => { const setDetailData = (detailData: DetailData) => {
setDetailOn(detailData.detailOn); setDetailOn(detailData.detailOn);
if(detailData.mid){ if (detailData.mid) {
setDetailMid(detailData.mid); setDetailMid(detailData.mid);
} }
if(detailData.requestId){ if (detailData.requestId) {
setDetailRequestId(detailData.requestId); setDetailRequestId(detailData.requestId);
} }
if(detailData.subReqId){ if (detailData.subReqId) {
setDetailSubReqId(detailData.subReqId); setDetailSubReqId(detailData.subReqId);
} }
}; };
@@ -250,12 +250,12 @@ export const LinkPaymentHistoryWrap = () => {
</div> </div>
<LinkPaymentHistoryList <LinkPaymentHistoryList
listItems={ listItems } listItems={listItems}
additionalServiceCategory={ AdditionalServiceCategory.LinkPaymentHistory } additionalServiceCategory={AdditionalServiceCategory.LinkPaymentHistory}
mid={ mid } mid={mid}
setDetailData={ setDetailData } setDetailData={setDetailData}
></LinkPaymentHistoryList> ></LinkPaymentHistoryList>
<div ref={ setTarget }></div> <div ref={setTarget}></div>
<div className="apply-row"> <div className="apply-row">
<button <button
className="btn-50 btn-blue flex-1" className="btn-50 btn-blue flex-1"
@@ -283,11 +283,11 @@ export const LinkPaymentHistoryWrap = () => {
setSendMethod={setSendMethod} setSendMethod={setSendMethod}
></LinkPaymentHistoryFilter> ></LinkPaymentHistoryFilter>
<LinkPaymentHistoryDetail <LinkPaymentHistoryDetail
detailOn={ detailOn } detailOn={detailOn}
setDetailOn={ setDetailOn } setDetailOn={setDetailOn}
mid={ detailMid } mid={detailMid}
requestId={ detailRequestId } requestId={detailRequestId}
subReqId={ detailSubReqId } subReqId={detailSubReqId}
></LinkPaymentHistoryDetail> ></LinkPaymentHistoryDetail>
<EmailBottomSheet <EmailBottomSheet
bottomSheetOn={emailBottomSheetOn} bottomSheetOn={emailBottomSheetOn}