Files
nice-app-web/src/entities/account/ui/account-tab.tsx
Jay Sheen 3f0ab49a3d 계정 관리 페이지 및 컴포넌트 다국어화 완료
- 계정 관리 페이지 전체 다국어화 (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>
2025-10-29 18:14:40 +09:00

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>
</>
);
};