From b757a137c36b637f18a412538e764054a7ca09c1 Mon Sep 17 00:00:00 2001 From: chan Date: Mon, 20 Apr 2026 09:32:32 +0900 Subject: [PATCH] fix: follow rules of hooks in TenantSchemaPage --- .../tenants/routes/TenantSchemaPage.tsx | 69 ++++++++++--------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/adminfront/src/features/tenants/routes/TenantSchemaPage.tsx b/adminfront/src/features/tenants/routes/TenantSchemaPage.tsx index 7b4fefa3..113d8573 100644 --- a/adminfront/src/features/tenants/routes/TenantSchemaPage.tsx +++ b/adminfront/src/features/tenants/routes/TenantSchemaPage.tsx @@ -56,41 +56,10 @@ export function TenantSchemaPage() { const canAccess = profile?.role === "super_admin" || profile?.role === "tenant_admin"; - if (isProfileLoading) { - return ( -
- {t("msg.common.loading", "로딩 중...")} -
- ); - } - - if (!canAccess) { - return ( -
-

- {t("msg.common.forbidden", "접근 권한이 없습니다.")} -

-

- {t( - "msg.admin.tenants.schema.forbidden_desc", - "사용자 스키마 설정은 관리자만 접근할 수 있습니다.", - )} -

-
- ); - } - - if (!tenantId) { - return ( -
- {t("msg.admin.tenants.schema.missing_id", "테넌트 ID가 없습니다.")} -
- ); - } - const tenantQuery = useQuery({ queryKey: ["tenant", tenantId], - queryFn: () => fetchTenant(tenantId), + queryFn: () => fetchTenant(tenantId!), + enabled: !!tenantId && canAccess, }); const [fields, setFields] = useState([]); @@ -130,7 +99,7 @@ export function TenantSchemaPage() { newConfig.loginIdField = undefined; newConfig.userSchema = newFields; - return updateTenant(tenantId, { + return updateTenant(tenantId!, { config: newConfig, }); }, @@ -151,6 +120,38 @@ export function TenantSchemaPage() { }, }); + if (isProfileLoading) { + return ( +
+ {t("msg.common.loading", "로딩 중...")} +
+ ); + } + + if (!canAccess) { + return ( +
+

+ {t("msg.common.forbidden", "접근 권한이 없습니다.")} +

+

+ {t( + "msg.admin.tenants.schema.forbidden_desc", + "사용자 스키마 설정은 관리자만 접근할 수 있습니다.", + )} +

+
+ ); + } + + if (!tenantId) { + return ( +
+ {t("msg.admin.tenants.schema.missing_id", "테넌트 ID가 없습니다.")} +
+ ); + } + const addField = () => { setFields([ ...fields,