메뉴 권한 관리 UI 개선
- 초기 로드 시 애니메이션 효과 제거 (즉시 표시) - 권한 항목이 있을 때만 구분선 표시하도록 조건부 렌더링 추가 - 메뉴 항목에 '안면인증' 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -98,6 +98,7 @@ export const UserAccountAuthWrap = ({
|
||||
{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:
|
||||
|
||||
@@ -32,6 +32,7 @@ export const UserMenuAuthPage = () => {
|
||||
const [initialPermissions, setInitialPermissions] = useState<Record<number, number>>({});
|
||||
const [defaultPermissions, setDefaultPermissions] = useState<Record<number, number>>({});
|
||||
const [hasChanges, setHasChanges] = useState(false);
|
||||
const [isInitialLoad, setIsInitialLoad] = useState(true);
|
||||
const savePermissionsMutation = useUserMenuPermissionsSaveMutation({
|
||||
onSuccess: () => {
|
||||
snackBar('권한이 성공적으로 저장되었습니다.');
|
||||
@@ -101,6 +102,9 @@ export const UserMenuAuthPage = () => {
|
||||
setPermissions(grants);
|
||||
setInitialPermissions(grants); // 초기값은 현재 grant 값으로 설정
|
||||
setDefaultPermissions(defaultGrants); // defaultGrant는 별도로 관리
|
||||
|
||||
// 초기 로드 완료 후 애니메이션 활성화
|
||||
setTimeout(() => setIsInitialLoad(false), 100);
|
||||
} else {
|
||||
// menuGrants가 없거나 빈 배열이면 API에서 권한 조회
|
||||
// loadPermissions();
|
||||
@@ -223,10 +227,13 @@ export const UserMenuAuthPage = () => {
|
||||
maxHeight: hasAccess ? '300px' : '0',
|
||||
opacity: hasAccess ? 1 : 0,
|
||||
overflow: 'hidden',
|
||||
transition: 'max-height 0.3s ease-in-out, opacity 0.3s ease-in-out'
|
||||
transition: isInitialLoad ? 'none' : 'max-height 0.3s ease-in-out, opacity 0.3s ease-in-out'
|
||||
}}
|
||||
>
|
||||
<div className="set-divider"></div>
|
||||
{(hasDefaultPermission(menu.menuId, PERMISSION.SAVE) || hasDefaultPermission(menu.menuId, PERMISSION.EXECUTE) || hasDefaultPermission(menu.menuId, PERMISSION.DOWNLOAD)) && (
|
||||
<div className="set-divider"></div>
|
||||
)}
|
||||
|
||||
{hasDefaultPermission(menu.menuId, PERMISSION.SAVE) && (
|
||||
<div className="settings-row">
|
||||
<span className="settings-row-title bd-sub dot">저장</span>
|
||||
|
||||
Reference in New Issue
Block a user