안면인증 페이지 다국어화 및 공통 정렬 옵션 추가

- 안면인증 페이지 다국어화
  * 헤더 타이틀: 안면인증 → Face Authentication
  * 검색옵션, 다운로드 버튼 aria-label 및 alt 텍스트
  * 정렬 옵션: 최신순/오래된순
- 공통 번역 키 추가
  * common.latest: 최신순 / Latest
  * common.oldest: 오래된순 / Oldest
- 번역 키 추가: faceAuth 네임스페이스

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-10-30 09:17:18 +09:00
parent 9a73626422
commit 11c0fc6269
4 changed files with 29 additions and 15 deletions

View File

@@ -290,8 +290,8 @@
"detailTitle": "Settlement Details", "detailTitle": "Settlement Details",
"settlementAmount": "Settlement Amount", "settlementAmount": "Settlement Amount",
"arrow": "Arrow", "arrow": "Arrow",
"merchantBasis": "Merchant Basis", "merchantBasis": "Merchant",
"transactionBasis": "Transaction Basis", "transactionBasis": "Transaction",
"settled": "Settled", "settled": "Settled",
"approved": "Approved", "approved": "Approved",
"settlementShort": "Settlement", "settlementShort": "Settlement",
@@ -487,5 +487,12 @@
"all": "All", "all": "All",
"retentionNotice": "※ Notifications are kept for 90 days and then deleted.", "retentionNotice": "※ Notifications are kept for 90 days and then deleted.",
"goTo": "Go to {{category}}" "goTo": "Go to {{category}}"
},
"faceAuth": {
"title": "Face Authentication"
},
"common": {
"latest": "Latest",
"oldest": "Oldest"
} }
} }

View File

@@ -491,5 +491,12 @@
"all": "전체", "all": "전체",
"retentionNotice": "※ 알림은 90일간 보관 후 삭제됩니다.", "retentionNotice": "※ 알림은 90일간 보관 후 삭제됩니다.",
"goTo": "{{category}} 바로가기" "goTo": "{{category}} 바로가기"
},
"faceAuth": {
"title": "안면인증"
},
"common": {
"latest": "최신순",
"oldest": "오래된순"
} }
} }

View File

@@ -24,9 +24,11 @@ import { useExtensionFaceAuthDownloadExcelMutation } from '@/entities/additional
import { ListDateGroup } from '@/entities/additional-service/ui/list-date-group'; import { ListDateGroup } from '@/entities/additional-service/ui/list-date-group';
import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check'; import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check';
import useIntersectionObserver from '@/widgets/intersection-observer'; import useIntersectionObserver from '@/widgets/intersection-observer';
import { useTranslation } from 'react-i18next';
export const FaceAuthPage = () => { export const FaceAuthPage = () => {
const { navigate } = useNavigate(); const { navigate } = useNavigate();
const { t } = useTranslation();
const userMid = useStore.getState().UserStore.mid; const userMid = useStore.getState().UserStore.mid;
let recentCursor: null | string = null; let recentCursor: null | string = null;
@@ -48,7 +50,7 @@ export const FaceAuthPage = () => {
const [authResult, setAuthResult] = useState<FaceAuthResult>(FaceAuthResult.ALL); const [authResult, setAuthResult] = useState<FaceAuthResult>(FaceAuthResult.ALL);
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false); const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
useSetHeaderTitle('안면인증'); useSetHeaderTitle(t('faceAuth.title'));
useSetHeaderType(HeaderType.LeftArrow); useSetHeaderType(HeaderType.LeftArrow);
useSetFooterMode(false); useSetFooterMode(false);
useSetOnBack(() => { useSetOnBack(() => {
@@ -229,23 +231,23 @@ export const FaceAuthPage = () => {
/> />
<button <button
className="filter-btn" className="filter-btn"
aria-label="필터" aria-label={t('transaction.searchOptions')}
> >
<img <img
src={IMAGE_ROOT + '/ico_setting.svg'} src={IMAGE_ROOT + '/ico_setting.svg'}
alt="검색옵션" alt={t('transaction.searchOptions')}
onClick={() => onClickToOpenFilter()} onClick={() => onClickToOpenFilter()}
/> />
</button> </button>
</div> </div>
<button <button
className="download-btn" className="download-btn"
aria-label="다운로드" aria-label={t('transaction.download')}
onClick={() => onClickToOpenEmailBottomSheet()} onClick={() => onClickToOpenEmailBottomSheet()}
> >
<img <img
src={IMAGE_ROOT + '/ico_download.svg'} src={IMAGE_ROOT + '/ico_download.svg'}
alt="다운로드" alt={t('transaction.download')}
/> />
</button> </button>
</div> </div>
@@ -256,8 +258,8 @@ export const FaceAuthPage = () => {
sortType={sortType} sortType={sortType}
onClickToSort={onClickToSort} onClickToSort={onClickToSort}
sortOptions={[ sortOptions={[
{ key: SortTypeKeys.LATEST, label: '최신순' }, { key: SortTypeKeys.LATEST, label: t('common.latest') },
{ key: SortTypeKeys.OLDEST, label: '오래된순' } { key: SortTypeKeys.OLDEST, label: t('common.oldest') }
]} ]}
></SortTypeBox> ></SortTypeBox>
<div className="excrow"> <div className="excrow">

View File

@@ -223,16 +223,14 @@ export const SubLayout = () => {
const handleLogin = useCallback(async () => { const handleLogin = useCallback(async () => {
let userParmas; let userParmas;
if(!isNativeEnvironment){ if(!isNativeEnvironment){
/*
userParmas = { userParmas = {
id: 'nictest00', id: 'nictest00',
password: 'nictest00' password: 'nictest00'
}; };
*/ // userParmas = {
userParmas = { // id: 'woowahan5',
id: 'woowahan5', // password: 'nictest00'
password: 'nictest00' // };
};
} }
callLogin(userParmas).then(() => { callLogin(userParmas).then(() => {