All files / blong-browser/src/hooks usePermission.ts

0% Statements 0/16
0% Branches 0/1
0% Functions 0/1
0% Lines 0/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 17                                 
/**
 * usePermission — check a single named permission.
 */
import {useAppStore} from '../state/appStore.js';

/**
 * Returns true if the current user has the given permission.
 * Also accepts a boolean override for testing.
 */
export function usePermission(permission: string | boolean | undefined | null): boolean {
    const permissions = useAppStore(s => s.auth.permissions);
    if (typeof permissions === 'boolean') return permissions;
    if (permission == null) return true;
    if (typeof permission === 'boolean') return permission;
    return permissions[permission] === true;
}