import {HeaderBreadcrumbs} from './HeaderBreadcrumbs';
import {HeaderLeftControls} from './HeaderLeftControls';
import {HeaderRightControls} from './HeaderRightControls';
import {PDiskLeftControls} from './PDiskLeftControls';
import {StorageGroupLeftControls} from './StorageGroupLeftControls';
import {VDiskLeftControls} from './VDiskLeftControls';
import {b} from './constants';
import {useHeaderBreadcrumbs} from './hooks/useHeaderBreadcrumbs';
import {useHeaderData} from './hooks/useHeaderData';
import {useHeaderPageContext} from './hooks/useHeaderPageContext';
import './Header.scss';
export function Header() {
const {
metaCapabilitiesLoaded,
page,
pageBreadcrumbsOptions,
singleClusterMode,
isViewerUser,
databasesPageAvailable,
isV2NavigationEnabled,
savedHomePageTab,
savedDatabasesEnvironment,
homePageTabFromPath,
database,
clusterName,
isDatabasePage,
isClusterPage,
isHomePage,
isDatabasesHomePage,
isClustersHomePage,
} = useHeaderPageContext();
const {
clusterTitle,
isAddClusterAvailable,
handleEditCluster,
handleDeleteCluster,
databaseData,
isDatabaseDataLoading,
clusterLinks,
databaseLinks,
prepareTenantBackend,
} = useHeaderData({
metaCapabilitiesLoaded,
database,
clusterName,
isDatabasePage,
isClustersHomePage,
});
const breadcrumbItems = useHeaderBreadcrumbs({
page,
pageBreadcrumbsOptions,
singleClusterMode,
isViewerUser,
isV2NavigationEnabled,
homePageTabFromPath,
savedHomePageTab,
savedDatabasesEnvironment,
databasesPageAvailable,
clusterTitle,
isClustersHomePage,
isDatabasesHomePage,
});
if (!metaCapabilitiesLoaded) {
return null;
}
const renderLeftControls = () => {
if (page === 'storageGroup') {
return ;
}
if (page === 'vDisk') {
return ;
}
if (page === 'pDisk') {
return ;
}
return database && isDatabasePage && isV2NavigationEnabled ? (
) : null;
};
return (
);
}