All files / core/blong-browser/src/components/Permission Permission.tsx

0% Statements 0/2
0% Branches 0/3
0% Functions 0/1
0% Lines 0/2

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                                 
/**
 * 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}</>;
}