import {Flex} from '@gravity-ui/uikit'; import type {PreparedTenant} from '../../store/reducers/tenants/types'; import type {AdditionalTenantsProps, ClusterLinkWithTitle} from '../../types/additionalProps'; import {useHasDeveloperUi} from '../../utils/developerUI/developerUI'; import {ClusterRightControls} from './ClusterRightControls'; import {ClustersHomeControls} from './ClustersHomeControls'; import {DatabaseRightControls} from './DatabaseRightControls'; import {DeveloperUIControl} from './GlobalRightControls'; interface HeaderRightControlsProps { clusterName?: string; database?: string; databaseData?: PreparedTenant; isDatabasePage: boolean; isClusterPage: boolean; isHomePage: boolean; isClustersHomePage: boolean; isDatabaseDataLoading: boolean; isAddClusterAvailable: boolean; isV2NavigationEnabled: boolean; isViewerUser?: boolean; prepareTenantBackend?: AdditionalTenantsProps['prepareTenantBackend']; clusterLinks: ClusterLinkWithTitle[]; databaseLinks: ClusterLinkWithTitle[]; handleEditCluster?: () => Promise; handleDeleteCluster?: () => Promise; } export function HeaderRightControls({ clusterName, database, databaseData, isDatabasePage, isClusterPage, isHomePage, isClustersHomePage, isDatabaseDataLoading, isAddClusterAvailable, isV2NavigationEnabled, isViewerUser, prepareTenantBackend, clusterLinks, databaseLinks, handleEditCluster, handleDeleteCluster, }: HeaderRightControlsProps) { const hasDeveloperUi = useHasDeveloperUi(); const showAddCluster = isClustersHomePage && isAddClusterAvailable; const showDeveloperUI = !isHomePage && hasDeveloperUi; return ( {showAddCluster ? : null} {isDatabasePage && database ? ( ) : null} {isClusterPage ? ( ) : null} {!isDatabasePage && !isClusterPage && showDeveloperUI ? : null} ); }