import moment from 'moment'; import { useEffect, useState } from 'react'; 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, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; import { AdditionalServiceCategory, DetailInfo, DetailResponse, TitleInfo } from '@/entities/additional-service/model/types'; import { TitleInfoWrap } from '@/entities/additional-service/ui/info-wrap/title-info-wrap'; import { useLocation } from 'react-router'; import { DetailInfoWrap } from '@/entities/additional-service/ui/info-wrap/detail-info-wrap'; import { ExtensionAccountHolderSearchDetailParams, ExtensionAccountHolderSearchDetailResponse } from '@/entities/additional-service/model/account-holder-search/types'; import { useExtensionAccountHolderSearchDetailtMutation } from '@/entities/additional-service/api/account-holder-search/use-extension-account-holder-search-detail-mutation'; import { getAccountHolderStatusText } from '@/entities/additional-service/model/account-holder-search/constant'; import { useTranslation } from 'react-i18next'; export const AccountHolderSearchDetailPage = () => { const { navigate } = useNavigate(); const { t } = useTranslation(); const location = useLocation(); const { mid, tid } = location.state || {}; const [detail, setDetail] = useState(); useSetHeaderTitle(t('additionalService.accountHolderSearch.detailTitle')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { navigate(PATHS.additionalService.accountHolderSearch.list); }); const { mutateAsync: accountHolderSearchDetail } = useExtensionAccountHolderSearchDetailtMutation(); const callDetail = () => { let accountHolderSearchDetailParams: ExtensionAccountHolderSearchDetailParams = { mid: mid, tid: tid } accountHolderSearchDetail(accountHolderSearchDetailParams).then((rs: ExtensionAccountHolderSearchDetailResponse) => { setDetail(rs); }); }; const getDate = (date?: string) => { return (date) ? moment(date, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : ''; }; useEffect(() => { callDetail(); }, []); return ( <>
{detail?.accountNo}
{detail?.bankName}
{getDate(detail?.requestDate)}
{t('transaction.sections.detailInfo')}
  • {t('transaction.fields.accountHolder')} {detail?.accountName}
  • {t('additionalService.accountHolderAuth.requestDate')} {getDate(detail?.requestDate)}
  • {t('common.result')} {getAccountHolderStatusText(t)(detail?.resultStatus)}
  • {t('transaction.fields.failureReason')} {detail?.failReason ? detail?.failReason : '-' }
  • {t('transaction.fields.bank')} {detail?.bankName}
  • {t('transaction.fields.accountNo')} {detail?.accountNo}
  • {t('additionalService.accountHolderAuth.requestWay')} {detail?.requestWay}
) }