@red-hat-developer-hub/backstage-plugin-bulk-import
Version:
50 lines (47 loc) • 1.55 kB
JavaScript
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