UNPKG

@red-hat-developer-hub/backstage-plugin-bulk-import

Version:
50 lines (47 loc) 1.55 kB
import { jsx } from 'react/jsx-runtime'; import { SidebarItem } from '@backstage/core-components'; import { useApi, configApiRef } from '@backstage/core-plugin-api'; import { usePermission } from '@backstage/plugin-permission-react'; import { bulkImportPermission } from '@red-hat-developer-hub/backstage-plugin-bulk-import-common'; import { getImageForIconClass } from '../utils/icons.esm.js'; const BulkImportIcon = () => { return /* @__PURE__ */ jsx( "img", { src: getImageForIconClass("icon-bulk-import-white"), alt: "bulk import icon", style: { height: "25px" } } ); }; const BulkImportSidebarItem = () => { const { loading: isUserLoading, allowed } = usePermission({ permission: bulkImportPermission, resourceRef: bulkImportPermission.resourceType }); const config = useApi(configApiRef); const isPermissionFrameworkEnabled = config.getOptionalBoolean("permission.enabled"); if (!isUserLoading && isPermissionFrameworkEnabled) { return allowed ? /* @__PURE__ */ jsx( SidebarItem, { text: "Bulk import", to: "bulk-import/repositories", icon: BulkImportIcon } ) : null; } if (!isPermissionFrameworkEnabled) { return /* @__PURE__ */ jsx( SidebarItem, { text: "Bulk import", to: "bulk-import/repositories", icon: BulkImportIcon } ); } return null; }; export { BulkImportIcon, BulkImportSidebarItem, BulkImportIcon as default }; //# sourceMappingURL=BulkImportSidebarItem.esm.js.map