feat(web): 添加 usePermission hook + AuthButton/AuthGuard 声明式权限组件

This commit is contained in:
iven
2026-04-25 23:24:02 +08:00
parent 9f25112861
commit d6420f4e27
3 changed files with 32 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
import type { ReactNode } from 'react';
import { usePermission } from '../hooks/usePermission';
interface AuthButtonProps {
code: string;
children: ReactNode;
}
export function AuthButton({ code, children }: AuthButtonProps) {
const { hasPermission } = usePermission(code);
if (!hasPermission) return null;
return <>{children}</>;
}

View File

@@ -0,0 +1,13 @@
import type { ReactNode } from 'react';
import { usePermission } from '../hooks/usePermission';
interface AuthGuardProps {
code: string;
children: ReactNode;
}
export function AuthGuard({ code, children }: AuthGuardProps) {
const { hasPermission } = usePermission(code);
if (!hasPermission) return null;
return <>{children}</>;
}