- 계정 관리 페이지 전체 다국어화 (8개 페이지) * 사용자 관리: 계정 추가, 메뉴 권한, 계정 정보, 로그인 인증정보 * 비밀번호 관리: 로그인/취소 비밀번호 변경 - 계정 엔티티 컴포넌트 다국어화 * account-tab: 사용자 관리/비밀번호 관리 탭 * account-user-tab: 로그인 인증정보/계정권한 서브탭 * password-manage-wrap: 비밀번호 변경 버튼 * user-manage-wrap: 등록 현황, 사용자 추가 버튼 * user-login-auth-info-wrap: 이메일/휴대폰 관리 인터페이스 - 계정 추가 페이지 상세 다국어화 * 폼 라벨: 사용자ID, 비밀번호, 로그인 범위 * 본인인증 정보 입력 섹션 * 유효성 검사 메시지 * 성공/실패 알림 메시지 - 메뉴 권한 페이지 다국어화 * 권한 설정 안내 메시지 * 저장/실행/다운로드 권한 라벨 * 탭 변경 시 초기화 안내 - 번역 키 추가: account 네임스페이스 50개 키 - 모든 폼, 버튼, 알림 메시지 일관된 다국어 지원 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { useTranslation } from 'react-i18next';
|
|
import { PATHS } from '@/shared/constants/paths';
|
|
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
|
import {
|
|
AccountTabKeys,
|
|
AccountTabProps
|
|
} from '../model/types';
|
|
|
|
export const AccountTab = ({
|
|
activeTab
|
|
}: AccountTabProps) => {
|
|
const { t } = useTranslation();
|
|
const { navigate } = useNavigate();
|
|
|
|
const onClickToNavigation = (tab: AccountTabKeys) => {
|
|
if(activeTab !== tab){
|
|
if(tab === AccountTabKeys.UserManage){
|
|
navigate(PATHS.account.user.manage);
|
|
}
|
|
else if(tab === AccountTabKeys.PasswordManage){
|
|
navigate(PATHS.account.password.manage);
|
|
}
|
|
}
|
|
};
|
|
return(
|
|
<>
|
|
<div className="subTab">
|
|
<button
|
|
className={`subtab-btn ${(activeTab === AccountTabKeys.UserManage)? 'active': ''}` }
|
|
onClick={ () => onClickToNavigation(AccountTabKeys.UserManage) }
|
|
>{t('account.userManagement')}</button>
|
|
<button
|
|
className={`subtab-btn ${(activeTab === AccountTabKeys.PasswordManage)? 'active': ''}` }
|
|
onClick={ () => onClickToNavigation(AccountTabKeys.PasswordManage) }
|
|
>{t('account.passwordManagement')}</button>
|
|
</div>
|
|
</>
|
|
);
|
|
}; |