diff --git a/src/entities/additional-service/ui/info-wrap/detail-info-wrap.tsx b/src/entities/additional-service/ui/info-wrap/detail-info-wrap.tsx index 57ceb75..cd98ec7 100644 --- a/src/entities/additional-service/ui/info-wrap/detail-info-wrap.tsx +++ b/src/entities/additional-service/ui/info-wrap/detail-info-wrap.tsx @@ -1,4 +1,5 @@ import moment from 'moment'; +import { useTranslation } from 'react-i18next'; import { AdditionalServiceCategory, DetailInfoSectionProps } from '../../model/types'; import 'react-slidedown/lib/slidedown.css'; @@ -6,29 +7,50 @@ export const DetailInfoWrap = ({ additionalServiceCategory, detailInfo }: DetailInfoSectionProps) => { + const { t } = useTranslation(); + + // 전화번호 마스킹 + const getMaskedPhoneNumber = (phone?: string) => { + if (!phone) return ''; + if (phone.length <= 7) return phone; + const visiblePart = phone.slice(0, -4); + return visiblePart + '****'; + }; + + // 이메일 마스킹 + const getMaskedEmail = (email?: string) => { + if (!email) return ''; + const atIndex = email.indexOf('@'); + if (atIndex === -1 || atIndex <= 2) return email; + const visiblePart = email.slice(0, 2); + const domainPart = email.slice(atIndex); + const maskedLength = atIndex - 2; + const masked = '*'.repeat(maskedLength); + return visiblePart + masked + domainPart; + }; return ( <>