21 lines
653 B
TypeScript
21 lines
653 B
TypeScript
'use client'
|
|
|
|
import { useAuth } from '@/contexts/auth-context'
|
|
|
|
export function usePermission(permission: string): boolean {
|
|
const { permissions } = useAuth()
|
|
return permissions.includes('*') || permissions.includes(permission)
|
|
}
|
|
|
|
export function usePermissions(codes: string[]): boolean[] {
|
|
const { permissions } = useAuth()
|
|
const isAdmin = permissions.includes('*')
|
|
return codes.map((code) => isAdmin || permissions.includes(code))
|
|
}
|
|
|
|
export function useHasAnyPermission(codes: string[]): boolean {
|
|
const { permissions } = useAuth()
|
|
if (permissions.includes('*')) return true
|
|
return codes.some((code) => permissions.includes(code))
|
|
}
|