From 7252b73327083de5270acbcd79b0609b8072c40b Mon Sep 17 00:00:00 2001
From: Zeke Zhang <958414905@qq.com>
Date: Sun, 2 Mar 2025 13:39:57 +0800
Subject: [PATCH] feat(users): add loading state for users management tab
(#6324)
- Add Spin component when users collection is not yet loaded
- Improve collection loading handling in UsersManagementTab
- Ensure smooth rendering with collection manager integration
---
.../plugin-users/src/client/UsersManagement.tsx | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx b/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx
index 40e79bdbed..0ff967d33a 100644
--- a/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx
+++ b/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx
@@ -11,21 +11,21 @@ import { css } from '@emotion/css';
import { createForm } from '@formily/core';
import { useForm } from '@formily/react';
import {
+ ExtendCollectionsProvider,
+ RemoteSchemaComponent,
SchemaComponent,
SchemaComponentContext,
useAPIClient,
useActionContext,
useCollection,
+ useCollectionManager,
useCollectionRecordData,
useDataBlockRequest,
useDataBlockResource,
useRequest,
- RemoteSchemaComponent,
- useCollectionManager,
- ExtendCollectionsProvider,
useSchemaComponentContext,
} from '@nocobase/client';
-import { App, Tabs, message } from 'antd';
+import { App, Spin, Tabs, message } from 'antd';
import React, { createContext, useContext, useEffect, useMemo } from 'react';
import { useUsersTranslation } from './locale';
import { PasswordField } from './PasswordField';
@@ -134,6 +134,11 @@ const FilterAction = () => {
const UsersManagementTab: React.FC = () => {
const { t } = useUsersTranslation();
+ const collectionManager = useCollectionManager();
+ const usersCollection = useMemo(() => collectionManager?.getCollection('users'), [collectionManager]);
+
+ if (!usersCollection) return ;
+
return (