+
diff --git a/packages/effects/common-ui/src/about/index.ts b/packages/effects/common-ui/src/ui/about/index.ts
similarity index 100%
rename from packages/effects/common-ui/src/about/index.ts
rename to packages/effects/common-ui/src/ui/about/index.ts
diff --git a/packages/effects/common-ui/src/authentication/auth-title.vue b/packages/effects/common-ui/src/ui/authentication/auth-title.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/auth-title.vue
rename to packages/effects/common-ui/src/ui/authentication/auth-title.vue
diff --git a/packages/effects/common-ui/src/authentication/code-login.vue b/packages/effects/common-ui/src/ui/authentication/code-login.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/code-login.vue
rename to packages/effects/common-ui/src/ui/authentication/code-login.vue
diff --git a/packages/effects/common-ui/src/authentication/forget-password.vue b/packages/effects/common-ui/src/ui/authentication/forget-password.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/forget-password.vue
rename to packages/effects/common-ui/src/ui/authentication/forget-password.vue
diff --git a/packages/effects/common-ui/src/authentication/index.ts b/packages/effects/common-ui/src/ui/authentication/index.ts
similarity index 100%
rename from packages/effects/common-ui/src/authentication/index.ts
rename to packages/effects/common-ui/src/ui/authentication/index.ts
diff --git a/packages/effects/common-ui/src/authentication/login-expired-modal.vue b/packages/effects/common-ui/src/ui/authentication/login-expired-modal.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/login-expired-modal.vue
rename to packages/effects/common-ui/src/ui/authentication/login-expired-modal.vue
diff --git a/packages/effects/common-ui/src/authentication/login.vue b/packages/effects/common-ui/src/ui/authentication/login.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/login.vue
rename to packages/effects/common-ui/src/ui/authentication/login.vue
diff --git a/packages/effects/common-ui/src/authentication/qrcode-login.vue b/packages/effects/common-ui/src/ui/authentication/qrcode-login.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/qrcode-login.vue
rename to packages/effects/common-ui/src/ui/authentication/qrcode-login.vue
diff --git a/packages/effects/common-ui/src/authentication/register.vue b/packages/effects/common-ui/src/ui/authentication/register.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/register.vue
rename to packages/effects/common-ui/src/ui/authentication/register.vue
diff --git a/packages/effects/common-ui/src/authentication/third-party-login.vue b/packages/effects/common-ui/src/ui/authentication/third-party-login.vue
similarity index 100%
rename from packages/effects/common-ui/src/authentication/third-party-login.vue
rename to packages/effects/common-ui/src/ui/authentication/third-party-login.vue
diff --git a/packages/effects/common-ui/src/authentication/typings.ts b/packages/effects/common-ui/src/ui/authentication/typings.ts
similarity index 100%
rename from packages/effects/common-ui/src/authentication/typings.ts
rename to packages/effects/common-ui/src/ui/authentication/typings.ts
diff --git a/packages/effects/common-ui/src/dashboard/analysis/analysis-chart-card.vue b/packages/effects/common-ui/src/ui/dashboard/analysis/analysis-chart-card.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/analysis/analysis-chart-card.vue
rename to packages/effects/common-ui/src/ui/dashboard/analysis/analysis-chart-card.vue
diff --git a/packages/effects/common-ui/src/dashboard/analysis/analysis-charts-tabs.vue b/packages/effects/common-ui/src/ui/dashboard/analysis/analysis-charts-tabs.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/analysis/analysis-charts-tabs.vue
rename to packages/effects/common-ui/src/ui/dashboard/analysis/analysis-charts-tabs.vue
diff --git a/packages/effects/common-ui/src/dashboard/analysis/analysis-overview.vue b/packages/effects/common-ui/src/ui/dashboard/analysis/analysis-overview.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/analysis/analysis-overview.vue
rename to packages/effects/common-ui/src/ui/dashboard/analysis/analysis-overview.vue
diff --git a/packages/effects/common-ui/src/dashboard/analysis/index.ts b/packages/effects/common-ui/src/ui/dashboard/analysis/index.ts
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/analysis/index.ts
rename to packages/effects/common-ui/src/ui/dashboard/analysis/index.ts
diff --git a/packages/effects/common-ui/src/dashboard/index.ts b/packages/effects/common-ui/src/ui/dashboard/index.ts
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/index.ts
rename to packages/effects/common-ui/src/ui/dashboard/index.ts
diff --git a/packages/effects/common-ui/src/dashboard/typing.ts b/packages/effects/common-ui/src/ui/dashboard/typing.ts
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/typing.ts
rename to packages/effects/common-ui/src/ui/dashboard/typing.ts
diff --git a/packages/effects/common-ui/src/dashboard/workbench/index.ts b/packages/effects/common-ui/src/ui/dashboard/workbench/index.ts
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/workbench/index.ts
rename to packages/effects/common-ui/src/ui/dashboard/workbench/index.ts
diff --git a/packages/effects/common-ui/src/dashboard/workbench/workbench-header.vue b/packages/effects/common-ui/src/ui/dashboard/workbench/workbench-header.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/workbench/workbench-header.vue
rename to packages/effects/common-ui/src/ui/dashboard/workbench/workbench-header.vue
diff --git a/packages/effects/common-ui/src/dashboard/workbench/workbench-project.vue b/packages/effects/common-ui/src/ui/dashboard/workbench/workbench-project.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/workbench/workbench-project.vue
rename to packages/effects/common-ui/src/ui/dashboard/workbench/workbench-project.vue
diff --git a/packages/effects/common-ui/src/dashboard/workbench/workbench-quick-nav.vue b/packages/effects/common-ui/src/ui/dashboard/workbench/workbench-quick-nav.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/workbench/workbench-quick-nav.vue
rename to packages/effects/common-ui/src/ui/dashboard/workbench/workbench-quick-nav.vue
diff --git a/packages/effects/common-ui/src/dashboard/workbench/workbench-todo.vue b/packages/effects/common-ui/src/ui/dashboard/workbench/workbench-todo.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/workbench/workbench-todo.vue
rename to packages/effects/common-ui/src/ui/dashboard/workbench/workbench-todo.vue
diff --git a/packages/effects/common-ui/src/dashboard/workbench/workbench-trends.vue b/packages/effects/common-ui/src/ui/dashboard/workbench/workbench-trends.vue
similarity index 100%
rename from packages/effects/common-ui/src/dashboard/workbench/workbench-trends.vue
rename to packages/effects/common-ui/src/ui/dashboard/workbench/workbench-trends.vue
diff --git a/packages/effects/common-ui/src/fallback/fallback.ts b/packages/effects/common-ui/src/ui/fallback/fallback.ts
similarity index 100%
rename from packages/effects/common-ui/src/fallback/fallback.ts
rename to packages/effects/common-ui/src/ui/fallback/fallback.ts
diff --git a/packages/effects/common-ui/src/fallback/fallback.vue b/packages/effects/common-ui/src/ui/fallback/fallback.vue
similarity index 100%
rename from packages/effects/common-ui/src/fallback/fallback.vue
rename to packages/effects/common-ui/src/ui/fallback/fallback.vue
diff --git a/packages/effects/common-ui/src/fallback/icons/icon-403.vue b/packages/effects/common-ui/src/ui/fallback/icons/icon-403.vue
similarity index 100%
rename from packages/effects/common-ui/src/fallback/icons/icon-403.vue
rename to packages/effects/common-ui/src/ui/fallback/icons/icon-403.vue
diff --git a/packages/effects/common-ui/src/fallback/icons/icon-404.vue b/packages/effects/common-ui/src/ui/fallback/icons/icon-404.vue
similarity index 100%
rename from packages/effects/common-ui/src/fallback/icons/icon-404.vue
rename to packages/effects/common-ui/src/ui/fallback/icons/icon-404.vue
diff --git a/packages/effects/common-ui/src/fallback/icons/icon-500.vue b/packages/effects/common-ui/src/ui/fallback/icons/icon-500.vue
similarity index 100%
rename from packages/effects/common-ui/src/fallback/icons/icon-500.vue
rename to packages/effects/common-ui/src/ui/fallback/icons/icon-500.vue
diff --git a/packages/effects/common-ui/src/fallback/icons/icon-coming-soon.vue b/packages/effects/common-ui/src/ui/fallback/icons/icon-coming-soon.vue
similarity index 100%
rename from packages/effects/common-ui/src/fallback/icons/icon-coming-soon.vue
rename to packages/effects/common-ui/src/ui/fallback/icons/icon-coming-soon.vue
diff --git a/packages/effects/common-ui/src/fallback/icons/icon-offline.vue b/packages/effects/common-ui/src/ui/fallback/icons/icon-offline.vue
similarity index 100%
rename from packages/effects/common-ui/src/fallback/icons/icon-offline.vue
rename to packages/effects/common-ui/src/ui/fallback/icons/icon-offline.vue
diff --git a/packages/effects/common-ui/src/fallback/icons/warning.svg b/packages/effects/common-ui/src/ui/fallback/icons/warning.svg
similarity index 100%
rename from packages/effects/common-ui/src/fallback/icons/warning.svg
rename to packages/effects/common-ui/src/ui/fallback/icons/warning.svg
diff --git a/packages/effects/common-ui/src/fallback/index.ts b/packages/effects/common-ui/src/ui/fallback/index.ts
similarity index 100%
rename from packages/effects/common-ui/src/fallback/index.ts
rename to packages/effects/common-ui/src/ui/fallback/index.ts
diff --git a/packages/effects/common-ui/src/ui/index.ts b/packages/effects/common-ui/src/ui/index.ts
new file mode 100644
index 00000000..fb99fdec
--- /dev/null
+++ b/packages/effects/common-ui/src/ui/index.ts
@@ -0,0 +1,4 @@
+export * from './about';
+export * from './authentication';
+export * from './dashboard';
+export * from './fallback';
diff --git a/playground/src/views/demos/access/admin-visible.vue b/playground/src/views/demos/access/admin-visible.vue
index 079b9309..f63b2d9d 100644
--- a/playground/src/views/demos/access/admin-visible.vue
+++ b/playground/src/views/demos/access/admin-visible.vue
@@ -1,11 +1,7 @@
-
+
diff --git a/playground/src/views/demos/access/button-control.vue b/playground/src/views/demos/access/button-control.vue
index 51a1b78c..2c5cc524 100644
--- a/playground/src/views/demos/access/button-control.vue
+++ b/playground/src/views/demos/access/button-control.vue
@@ -4,9 +4,10 @@ import type { LoginAndRegisterParams } from '@vben/common-ui';
import { useRouter } from 'vue-router';
import { AccessControl, useAccess } from '@vben/access';
+import { Page } from '@vben/common-ui';
import { resetAllStores, useUserStore } from '@vben/stores';
-import { Button } from 'ant-design-vue';
+import { Button, Card } from 'ant-design-vue';
import { useAuthStore } from '#/store';
@@ -50,21 +51,17 @@ async function changeAccount(role: string) {
-