Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /**
* Permission — conditionally renders children based on user permissions.
*/
import {type ReactNode} from 'react';
import {usePermission} from '../../hooks/usePermission.js';
interface IPermissionProps {
permission?: string | boolean | null;
fallback?: ReactNode;
children: ReactNode;
}
export function Permission({permission, fallback = null, children}: IPermissionProps) {
const allowed = usePermission(permission);
return allowed ? <>{children}</> : <>{fallback}</>;
}
|