diff --git a/apps/web/src/app/(dashboard)/profile/page.tsx b/apps/web/src/app/(dashboard)/profile/page.tsx index 00696cd..5df4d07 100644 --- a/apps/web/src/app/(dashboard)/profile/page.tsx +++ b/apps/web/src/app/(dashboard)/profile/page.tsx @@ -1,13 +1,8 @@ 'use client'; -import { RefreshCw } from 'lucide-react'; -import { useState } from 'react'; -import { toast } from 'sonner'; - import { AvatarUpload } from '@/components/forms/AvatarUpload'; import { PasswordForm } from '@/components/forms/PasswordForm'; import { ProfileForm } from '@/components/forms/ProfileForm'; -import { Button } from '@/components/ui/button'; import { Card, CardContent, @@ -15,26 +10,8 @@ import { CardHeader, CardTitle, } from '@/components/ui/card'; -import { getUserMenusAndPermissions } from '@/services/permission.service'; -import { usePermissionStore } from '@/stores'; export default function ProfilePage() { - const [isRefreshing, setIsRefreshing] = useState(false); - const setPermissionData = usePermissionStore((state) => state.setPermissionData); - - const handleRefreshPermissions = async () => { - setIsRefreshing(true); - try { - const data = await getUserMenusAndPermissions(); - setPermissionData(data); - toast.success('权限缓存已刷新'); - } catch (error) { - toast.error(error instanceof Error ? error.message : '刷新失败'); - } finally { - setIsRefreshing(false); - } - }; - return (
@@ -72,21 +49,6 @@ export default function ProfilePage() { - - - - 刷新权限缓存 - - 如果您的权限或菜单发生变化,可以手动刷新以获取最新数据。 - - - - - -
); diff --git a/apps/web/src/app/(dashboard)/settings/page.tsx b/apps/web/src/app/(dashboard)/settings/page.tsx index 36cecb9..bad9cd6 100644 --- a/apps/web/src/app/(dashboard)/settings/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import { ThemeSettings, SidebarSettings } from '@/components/settings'; +import { ThemeSettings, SidebarSettings, PermissionSettings } from '@/components/settings'; export default function SettingsPage() { return ( @@ -13,6 +13,7 @@ export default function SettingsPage() {
+
); diff --git a/apps/web/src/components/settings/PermissionSettings.tsx b/apps/web/src/components/settings/PermissionSettings.tsx new file mode 100644 index 0000000..ee0b1c4 --- /dev/null +++ b/apps/web/src/components/settings/PermissionSettings.tsx @@ -0,0 +1,51 @@ +'use client'; + +import { RefreshCw } from 'lucide-react'; +import { useState } from 'react'; +import { toast } from 'sonner'; + +import { Button } from '@/components/ui/button'; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '@/components/ui/card'; +import { getUserMenusAndPermissions } from '@/services/permission.service'; +import { usePermissionStore } from '@/stores'; + +export function PermissionSettings() { + const [isRefreshing, setIsRefreshing] = useState(false); + const setPermissionData = usePermissionStore((state) => state.setPermissionData); + + const handleRefreshPermissions = async () => { + setIsRefreshing(true); + try { + const data = await getUserMenusAndPermissions(); + setPermissionData(data); + toast.success('权限缓存已刷新'); + } catch (error) { + toast.error(error instanceof Error ? error.message : '刷新失败'); + } finally { + setIsRefreshing(false); + } + }; + + return ( + + + 权限缓存 + + 如果您的权限或菜单发生变化,可以手动刷新以获取最新数据。 + + + + + + + ); +} diff --git a/apps/web/src/components/settings/index.ts b/apps/web/src/components/settings/index.ts index f5df33b..6fb8f71 100644 --- a/apps/web/src/components/settings/index.ts +++ b/apps/web/src/components/settings/index.ts @@ -1,2 +1,3 @@ export { ThemeSettings } from './ThemeSettings'; export { SidebarSettings } from './SidebarSettings'; +export { PermissionSettings } from './PermissionSettings';