홈 화면, 메뉴, 네비게이션, 계정 관리 다국어화 완료
- 홈 화면 일/월 탭, 매출/정산 현황 다국어화 - 매출/정산 상세 정보 라벨 다국어화 (승인/취소 건수, 정산한도 등) - 거래 인사이트 및 랭킹 섹션 다국어화 - 요일 이름 동적 번역 기능 추가 (월요일-일요일 → Monday-Sunday) - 계정 관리 화면 다국어화 (계정 상태, 로그인 범위, 권한 설정) - 메뉴 카테고리 다국어화 (en 언어시 menuNameEng 사용) - 즐겨찾기 메뉴 다국어화 - 하단 네비게이션 버튼 다국어화 - 공지사항 제목 다국어화 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,8 @@ import { UserAccountAuthPermList } from './user-account-auth-perm-list';
|
||||
import { useUserMenuPermissionsMutation } from '@/entities/user/api/use-user-menu-permission-mutation';
|
||||
import { useUserUpdatePermissionsMutation } from '@/entities/user/api/use-user-update-permission-mutation';
|
||||
import { UserMenuPermissionData } from '@/entities/user/model/types';
|
||||
import { MenuItems } from '@/entities/common/model/constant';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
export const UserAccountAuthWrap = ({
|
||||
mid,
|
||||
@@ -11,6 +13,7 @@ export const UserAccountAuthWrap = ({
|
||||
idCL,
|
||||
status,
|
||||
}: UserAccountAuthWrapProps) => {
|
||||
const { t } = useTranslation();
|
||||
const [currentStatus, setCurrentStatus] = useState(status);
|
||||
const [currentIdCL, setCurrentIdCl] = useState(idCL);
|
||||
const [permissions, setPermissions] = useState<Array<UserMenuPermissionData>>([]);
|
||||
@@ -46,84 +49,21 @@ export const UserAccountAuthWrap = ({
|
||||
const idCLChanged = currentIdCL !== idCL;
|
||||
setHasChanges(statusChanged || idCLChanged);
|
||||
}, [currentStatus, currentIdCL, status, idCL]);
|
||||
|
||||
let menuItems = [
|
||||
{menuId: 30, parent: 30, menuName: '거래조회', subMenu:
|
||||
[
|
||||
{menuId: 31, parent: 30, menuName: '거래내역조회'},
|
||||
{menuId: 32, parent: 30, menuName: '현금영수증발행'},
|
||||
{menuId: 33, parent: 30, menuName: '에스크로'},
|
||||
{menuId: 34, parent: 30, menuName: '빌링'}
|
||||
]
|
||||
},
|
||||
{menuId: 35, parent: 35, menuName: '정산조회', subMenu:
|
||||
[
|
||||
{menuId: 36, parent: 35, menuName: '정산달력'},
|
||||
{menuId: 37, parent: 35, menuName: '정산내역'},
|
||||
]
|
||||
},
|
||||
{menuId: 38, parent: 38, menuName: '가맹점관리', subMenu:
|
||||
[
|
||||
{menuId: 39, parent: 38, menuName: '가맹점정보'},
|
||||
{menuId: 40, parent: 38, menuName: '등록현황'},
|
||||
]
|
||||
},
|
||||
{menuId: 41, parent: 41, menuName: '결제관리', subMenu:
|
||||
[
|
||||
{menuId: 42, parent: 41, menuName: '결제정보'},
|
||||
{menuId: 43, parent: 41, menuName: '결제데이터통보'},
|
||||
]
|
||||
},
|
||||
{menuId: 44, parent: 44, menuName: '계정관리', subMenu:
|
||||
[
|
||||
{menuId: 45, parent: 44, menuName: '사용자관리'},
|
||||
{menuId: 46, parent: 44, menuName: '비밀번호관리'},
|
||||
]
|
||||
},
|
||||
{menuId: 47, parent: 47, menuName: '부가세신고자료', subMenu:
|
||||
[
|
||||
{menuId: 48, parent: 47, menuName: '세금계산서'},
|
||||
{menuId: 49, parent: 47, menuName: '부가세참고'},
|
||||
]
|
||||
},
|
||||
{menuId: 50, parent: 50, menuName: '부가서비스', subMenu:
|
||||
[
|
||||
{menuId: 51, parent: 50, menuName: '부가서비스소개'},
|
||||
{menuId: 52, parent: 50, menuName: '신용카드ARS카드결제'},
|
||||
{menuId: 53, parent: 50, menuName: '지급대행'},
|
||||
{menuId: 54, parent: 50, menuName: '링크결제'},
|
||||
{menuId: 55, parent: 50, menuName: '자금이체'},
|
||||
{menuId: 56, parent: 50, menuName: 'KEY-IN결제'},
|
||||
{menuId: 57, parent: 50, menuName: 'SMS결제통보'},
|
||||
{menuId: 58, parent: 50, menuName: '알림톡결제통보'},
|
||||
{menuId: 59, parent: 50, menuName: '계좌점유인증'},
|
||||
{menuId: 60, parent: 50, menuName: '계좌성명조회'},
|
||||
{menuId: 65, parent: 50, menuName: '안면인증'},
|
||||
]
|
||||
},
|
||||
{menuId: 61, parent: 61, menuName: '고객지원', subMenu:
|
||||
[
|
||||
{menuId: 62, parent: 61, menuName: '공지사항'},
|
||||
{menuId: 63, parent: 61, menuName: '자주묻는질문'},
|
||||
{menuId: 64, parent: 61, menuName: '1:1문의'},
|
||||
]
|
||||
},
|
||||
]
|
||||
return (
|
||||
<>
|
||||
<div className="ing-list pdtop pb-86">
|
||||
<div className="perm-form">
|
||||
<div className="perm-field">
|
||||
<div className="perm-label">계정 상태</div>
|
||||
<div className="perm-label">{t('account.accountStatus')}</div>
|
||||
<div className="perm-control">
|
||||
<select value={currentStatus} onChange={(e) => setCurrentStatus(e.target.value)}>
|
||||
<option value="NORMAL">사용</option>
|
||||
<option value="SUSPENDED">미사용</option>
|
||||
<option value="NORMAL">{t('account.active')}</option>
|
||||
<option value="SUSPENDED">{t('account.inactive')}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="perm-field">
|
||||
<div className="perm-label">로그인 범위</div>
|
||||
<div className="perm-label">{t('account.loginScope')}</div>
|
||||
<div className="perm-control">
|
||||
<select value={currentIdCL} onChange={(e) => setCurrentIdCl(e.target.value)}>
|
||||
<option value="MID">MID</option>
|
||||
@@ -133,14 +73,14 @@ export const UserAccountAuthWrap = ({
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="ing-title fs18">메뉴별 권한 설정</div>
|
||||
<div className="ing-title fs18">{t('account.menuPermissions')}</div>
|
||||
|
||||
<UserAccountAuthPermList
|
||||
mid={ mid }
|
||||
usrid={ usrid }
|
||||
idCL={ currentIdCL }
|
||||
status={ currentStatus }
|
||||
menuItems={ menuItems }
|
||||
menuItems={ MenuItems }
|
||||
menuGrants={ permissions }
|
||||
></UserAccountAuthPermList>
|
||||
|
||||
@@ -160,7 +100,7 @@ export const UserAccountAuthWrap = ({
|
||||
});
|
||||
}}
|
||||
>
|
||||
{updatePermissionsMutation.isPending ? '저장 중...' : '저장'}
|
||||
{updatePermissionsMutation.isPending ? t('common.saving') : t('common.save')}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user