erp-platform/ui/src/components/route/PermissionGuard.tsx
Sedat ÖZTÜRK e1a9562b22 init project
2025-05-06 09:45:49 +03:00

18 lines
553 B
TypeScript

import { usePermission } from '@/utils/hooks/usePermission'
import { PropsWithChildren } from 'react'
import { Navigate } from 'react-router-dom'
type PermissionGuardProps = PropsWithChildren<{
permissions?: string[]
}>
const PermissionGuard = (props: PermissionGuardProps) => {
const { permissions = [], children } = props
const { checkPermissions } = usePermission()
const permissionsMatched = checkPermissions(permissions)
return <>{permissionsMatched ? children : <Navigate to="/access-denied" />}</>
}
export default PermissionGuard