UNPKG

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

Version:
56 lines (53 loc) 1.84 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 { useTheme } from '@mui/material/styles'; import { bulkImportPermission } from '@red-hat-developer-hub/backstage-plugin-bulk-import-common'; import { useTranslation } from '../hooks/useTranslation.esm.js'; import { getImageForIconClass } from '../utils/icons.esm.js'; const BulkImportIcon = () => { const theme = useTheme(); const isDarkTheme = theme.palette.mode === "dark"; const iconClass = isDarkTheme ? "icon-bulk-import-white" : "icon-bulk-import-black"; return /* @__PURE__ */ jsx( "img", { src: getImageForIconClass(iconClass), alt: "bulk import icon", style: { height: "25px" } } ); }; const BulkImportSidebarItem = () => { const { t } = useTranslation(); 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: t("sidebar.bulkImport"), to: "bulk-import", icon: BulkImportIcon } ) : null; } if (!isPermissionFrameworkEnabled) { return /* @__PURE__ */ jsx( SidebarItem, { text: t("sidebar.bulkImport"), to: "bulk-import", icon: BulkImportIcon } ); } return null; }; export { BulkImportIcon, BulkImportSidebarItem, BulkImportIcon as default }; //# sourceMappingURL=BulkImportSidebarItem.esm.js.map