import React, { useState } from 'react';
import ReactDOM from 'react-dom';
import { PermissionsView } from './components/PermissionsView';
import { ComponentWithRoles } from './components/ComponentWithRoles';
import { ComponentWithPermissions } from './components/ComponentWithPermissions';
import { useRBACContext } from '..';
import ComponentWithHOC from './components/ComponentWithHOC';
import { Roles, RBAC, Permissions } from './RBAC';
const RolesAndPermissionsInContext = () => {
const helper = (title, obj) => {
return (
{title}
{JSON.stringify(obj, null, 2)}
);
};
const {
addedPermissions,
addedRoles,
existingPermissions,
existingRoles,
blockedPermissions,
blockedRoles,
} = useRBACContext();
return (
{helper('existing permissions', existingPermissions)}
{helper('added permissions', addedPermissions)}
{helper('blocked permissions', blockedPermissions)}
{helper('existing roles', existingRoles)}
{helper('added roles', addedRoles)}
{helper('blocked roles', blockedRoles)}
);
};
const App = () => {
const [roles, setRoles] = useState(['admin']);
const [permissions, setPermissions] = useState(['allow_auth']);
return (
Manually set roles and permissions
setRoles((prev) => [...prev, value])}
removePermission={(per) =>
setRoles((prev) => prev.filter((r) => r !== per))
}
permissions={roles}
label="Roles"
/>
setPermissions((prev) => [...prev, value])
}
removePermission={(per) =>
setPermissions((prev) => prev.filter((p) => p !== per))
}
permissions={permissions}
label="Permissions"
/>
{({ addRoles, addPermissions, addedRoles, addedPermissions }) => {
return (
<>
hooks
hi
hi
>
);
}}
);
};
ReactDOM.render(, document.querySelector('#root'));