UNPKG

@keycloakify/keycloak-admin-ui

Version:
24 lines 2.27 kB
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime"; import { useNavigate } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { EmptyState, EmptyStateIcon, EmptyStateBody, Button, Tooltip, EmptyStateHeader, EmptyStateFooter, } from "@patternfly/react-core"; import { PlusCircleIcon } from "@patternfly/react-icons"; import { toNewPermission } from "../../clients/routes/NewPermission"; import { useRealm } from "../../context/realm-context/RealmContext"; import { toUpperCase } from "../../util"; const EmptyButton = ({ permissionType, disabled = false, clientId, }) => { const { t } = useTranslation(); const { realm } = useRealm(); const navigate = useNavigate(); return (_jsx(Button, { "data-testid": `create-${permissionType}`, className: disabled ? "keycloak__permissions__empty_state " : "" + "pf-v5-u-m-sm", variant: "secondary", onClick: () => !disabled && navigate(toNewPermission({ realm, id: clientId, permissionType })), children: t(`create${toUpperCase(permissionType)}BasedPermission`) })); }; const TooltipEmptyButton = ({ permissionType, disabled, ...props }) => { const { t } = useTranslation(); return disabled ? (_jsx(Tooltip, { content: t(`no${toUpperCase(permissionType)}CreateHint`), children: _jsx(EmptyButton, { ...props, disabled: disabled, permissionType: permissionType }) })) : (_jsx(EmptyButton, { ...props, disabled: disabled, permissionType: permissionType })); }; export const EmptyPermissionsState = ({ clientId, isResourceEnabled, isScopeEnabled, }) => { const { t } = useTranslation(); return (_jsxs(EmptyState, { "data-testid": "empty-state", variant: "lg", children: [_jsx(EmptyStateHeader, { titleText: _jsx(_Fragment, { children: t("emptyPermissions") }), icon: _jsx(EmptyStateIcon, { icon: PlusCircleIcon }), headingLevel: "h1" }), _jsx(EmptyStateBody, { children: t("emptyPermissionInstructions") }), _jsxs(EmptyStateFooter, { children: [_jsx(TooltipEmptyButton, { permissionType: "resource", disabled: isResourceEnabled, clientId: clientId }), _jsx("br", {}), _jsx(TooltipEmptyButton, { permissionType: "scope", disabled: isScopeEnabled, clientId: clientId })] })] })); }; //# sourceMappingURL=EmptyPermissionsState.js.map