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

100% Statements 16/16
100% Branches 1/1
100% Functions 0/0
100% Lines 16/16

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 171x 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}</>;
}