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

- 안면인증 페이지 다국어화
  * 헤더 타이틀: 안면인증 → 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",
"settlementAmount": "Settlement Amount",
"arrow": "Arrow",
"merchantBasis": "Merchant Basis",
"transactionBasis": "Transaction Basis",
"merchantBasis": "Merchant",
"transactionBasis": "Transaction",
"settled": "Settled",
"approved": "Approved",
"settlementShort": "Settlement",
@@ -487,5 +487,12 @@
"all": "All",
"retentionNotice": "※ Notifications are kept for 90 days and then deleted.",
"goTo": "Go to {{category}}"
},
"faceAuth": {
"title": "Face Authentication"
},
"common": {
"latest": "Latest",
"oldest": "Oldest"
}
}

View File

@@ -491,5 +491,12 @@
"all": "전체",
"retentionNotice": "※ 알림은 90일간 보관 후 삭제됩니다.",
"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 { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check';
import useIntersectionObserver from '@/widgets/intersection-observer';
import { useTranslation } from 'react-i18next';
export const FaceAuthPage = () => {
const { navigate } = useNavigate();
const { t } = useTranslation();
const userMid = useStore.getState().UserStore.mid;
let recentCursor: null | string = null;
@@ -48,7 +50,7 @@ export const FaceAuthPage = () => {
const [authResult, setAuthResult] = useState<FaceAuthResult>(FaceAuthResult.ALL);
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
useSetHeaderTitle('안면인증');
useSetHeaderTitle(t('faceAuth.title'));
useSetHeaderType(HeaderType.LeftArrow);
useSetFooterMode(false);
useSetOnBack(() => {
@@ -229,23 +231,23 @@ export const FaceAuthPage = () => {
/>
<button
className="filter-btn"
aria-label="필터"
aria-label={t('transaction.searchOptions')}
>
<img
src={IMAGE_ROOT + '/ico_setting.svg'}
alt="검색옵션"
alt={t('transaction.searchOptions')}
onClick={() => onClickToOpenFilter()}
/>
</button>
</div>
<button
className="download-btn"
aria-label="다운로드"
aria-label={t('transaction.download')}
onClick={() => onClickToOpenEmailBottomSheet()}
>
<img
src={IMAGE_ROOT + '/ico_download.svg'}
alt="다운로드"
alt={t('transaction.download')}
/>
</button>
</div>
@@ -256,8 +258,8 @@ export const FaceAuthPage = () => {
sortType={sortType}
onClickToSort={onClickToSort}
sortOptions={[
{ key: SortTypeKeys.LATEST, label: '최신순' },
{ key: SortTypeKeys.OLDEST, label: '오래된순' }
{ key: SortTypeKeys.LATEST, label: t('common.latest') },
{ key: SortTypeKeys.OLDEST, label: t('common.oldest') }
]}
></SortTypeBox>
<div className="excrow">

View File

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