import styled from 'styled-components'; import * as React from 'react'; import { ApiOutlined, BankOutlined, BarChartOutlined, SettingOutlined, UsergroupAddOutlined, FolderOutlined, } from '@ant-design/icons'; import { Link } from 'react-router-dom'; import { Button } from 'antd'; import { useAppConfig } from '../../useAppConfig'; import { useGetAuthenticatedUser } from '../../useGetAuthenticatedUser'; const AdminLink = styled.span` margin-right: 4px; `; const LinksWrapper = styled.div<{ areLinksHidden?: boolean }>` opacity: 1; white-space: nowrap; transition: opacity 0.5s; ${(props) => props.areLinksHidden && ` opacity: 0; width: 0; `} `; interface Props { areLinksHidden?: boolean; } export function AdminHeaderLinks(props: Props) { const { areLinksHidden } = props; const me = useGetAuthenticatedUser(); const { config } = useAppConfig(); const isAnalyticsEnabled = config?.analyticsConfig.enabled; const isPoliciesEnabled = config?.policiesConfig.enabled; const isIdentityManagementEnabled = config?.identityManagementConfig.enabled; const isIngestionEnabled = config?.managedIngestionConfig.enabled; const showAnalytics = (isAnalyticsEnabled && me && me.platformPrivileges.viewAnalytics) || false; const showPolicyBuilder = (isPoliciesEnabled && me && me.platformPrivileges.managePolicies) || false; const showIdentityManagement = (isIdentityManagementEnabled && me && me.platformPrivileges.manageIdentities) || false; const showSettings = true; const showIngestion = isIngestionEnabled && me && me.platformPrivileges.manageIngestion && me.platformPrivileges.manageSecrets; const showDomains = me?.platformPrivileges?.manageDomains || false; return ( {showAnalytics && ( )} {showDomains && ( )} {showIdentityManagement && ( )} {showIngestion && ( )} {showPolicyBuilder && ( )} {showSettings && ( )} ); }