From 3faa3ecc84abbe1bfe9844bcd3661fa76888f8b4 Mon Sep 17 00:00:00 2001 From: Jay Sheen Date: Mon, 29 Sep 2025 18:08:35 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EB=89=B4=20=EA=B6=8C=ED=95=9C=20?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=20UI=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 초기 로드 시 애니메이션 효과 제거 (즉시 표시) - 권한 항목이 있을 때만 구분선 표시하도록 조건부 렌더링 추가 - 메뉴 항목에 '안면인증' 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/entities/account/ui/user-account-auth-wrap.tsx | 1 + src/pages/account/user/menu-auth-page.tsx | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/entities/account/ui/user-account-auth-wrap.tsx b/src/entities/account/ui/user-account-auth-wrap.tsx index fc64a71..56cf332 100644 --- a/src/entities/account/ui/user-account-auth-wrap.tsx +++ b/src/entities/account/ui/user-account-auth-wrap.tsx @@ -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: diff --git a/src/pages/account/user/menu-auth-page.tsx b/src/pages/account/user/menu-auth-page.tsx index c713a8d..4ccd98a 100644 --- a/src/pages/account/user/menu-auth-page.tsx +++ b/src/pages/account/user/menu-auth-page.tsx @@ -32,6 +32,7 @@ export const UserMenuAuthPage = () => { const [initialPermissions, setInitialPermissions] = useState>({}); const [defaultPermissions, setDefaultPermissions] = useState>({}); 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' }} > -
+ {(hasDefaultPermission(menu.menuId, PERMISSION.SAVE) || hasDefaultPermission(menu.menuId, PERMISSION.EXECUTE) || hasDefaultPermission(menu.menuId, PERMISSION.DOWNLOAD)) && ( +
+ )} + {hasDefaultPermission(menu.menuId, PERMISSION.SAVE) && (
저장