# Conflicts:
#	src/entities/alarm/ui/alarm-item.tsx
#	src/entities/alarm/ui/alarm-list.tsx
This commit is contained in:
focp212@naver.com
2025-11-04 16:44:02 +09:00
5 changed files with 76 additions and 76 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();
@@ -193,7 +186,7 @@ export const LinkPaymentHistoryDetail = ({
detailInfo={detailInfo} detailInfo={detailInfo}
></DetailInfoWrap> ></DetailInfoWrap>
<div className="detail-divider"></div> <div className="detail-divider"></div>
<div className="link-payment-detail-button" style={{ paddingBottom: '85px' }}> <div className="link-payment-detail-button" style={{ paddingBottom: '100px' }}>
<button <button
className="btn-50 btn-blue flex-1" className="btn-50 btn-blue flex-1"
onClick={() => onClickToSeparateApproval()} onClick={() => onClickToSeparateApproval()}

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}

View File

@@ -40,10 +40,16 @@ export const AlarmItem = ({
const [appNotificationCategoryName, setAppNotificationCategoryName] = useState<string>(''); const [appNotificationCategoryName, setAppNotificationCategoryName] = useState<string>('');
const getCategoryName = () => { const getCategoryName = () => {
let myCategory = appNotificationCategories.filter((value, index) => { const categoryMap: { [key: string]: string } = {
return value.code1 === appNotificationCategory; '10': t('alarm.categories.benefits'),
}); '20': t('alarm.categories.notice'),
return myCategory[0].desc1; '30': t('alarm.categories.serviceGuide'),
'40': t('alarm.categories.etc'),
'60': t('alarm.categories.settlement'),
'61': t('alarm.categories.settlementStatus'),
'62': t('alarm.categories.settlementLimit')
};
return categoryMap[appNotificationCategory || ''] || '';
}; };
const onClickToNavigate = () => { const onClickToNavigate = () => {

View File

@@ -103,6 +103,7 @@ export const AlarmList = ({
for(let i=0;i<resultList.length;i++){ for(let i=0;i<resultList.length;i++){
rs.push( rs.push(
<AlarmItem <AlarmItem
key={i}
appNotificationSequence={ resultList[i]?.appNotificationSequence } appNotificationSequence={ resultList[i]?.appNotificationSequence }
appNotificationCategory={ resultList[i]?.appNotificationCategory } appNotificationCategory={ resultList[i]?.appNotificationCategory }
notificationReceivedDate={ resultList[i]?.notificationReceivedDate } notificationReceivedDate={ resultList[i]?.notificationReceivedDate }

View File

@@ -980,7 +980,7 @@
"linkContent": "링크내용", "linkContent": "링크내용",
"basic": "기본", "basic": "기본",
"additional": "추가", "additional": "추가",
"sendHistory": "발송 이력", "sendHistory": "발송 내역",
"pendingSend": "발송 대기", "pendingSend": "발송 대기",
"phoneOrEmail": "휴대폰번호/이메일", "phoneOrEmail": "휴대폰번호/이메일",
"transactionStatus": "거래 상태", "transactionStatus": "거래 상태",
@@ -1192,7 +1192,7 @@
"delete": "삭제", "delete": "삭제",
"separateApprovalDetail": "분리승인 상세", "separateApprovalDetail": "분리승인 상세",
"warning": "경고", "warning": "경고",
"shippingHistory": "발송 이력", "shippingHistory": "발송 내역",
"pendingSend": "발송 대기", "pendingSend": "발송 대기",
"all": "전체", "all": "전체",
"incompleteActive": "미완료/활성화", "incompleteActive": "미완료/활성화",