diff --git a/web/src/Root.tsx b/web/src/Root.tsx index 205f253177..e2c5048ab1 100644 --- a/web/src/Root.tsx +++ b/web/src/Root.tsx @@ -501,6 +501,9 @@ const Root = () => { isEmbeddedClusterEnabled={Boolean( state.adminConsoleMetadata?.isEmbeddedCluster )} + isEmbeddedClusterWaitingForNodes={ + state.isEmbeddedClusterWaitingForNodes + } isGitOpsSupported={isGitOpsSupported()} isIdentityServiceSupported={isIdentityServiceSupported()} appsList={state.appsList} @@ -636,7 +639,11 @@ const Root = () => { state.adminConsoleMetadata?.isKurl ? ( ) : ( - + ) } /> diff --git a/web/src/components/apps/EmbeddedClusterManagement.tsx b/web/src/components/apps/EmbeddedClusterManagement.tsx index ae0da1388b..3fd9c40347 100644 --- a/web/src/components/apps/EmbeddedClusterManagement.tsx +++ b/web/src/components/apps/EmbeddedClusterManagement.tsx @@ -31,8 +31,10 @@ type State = { const EmbeddedClusterManagement = ({ fromLicenseFlow = false, + isEmbeddedClusterWaitingForNodes = false, }: { fromLicenseFlow?: boolean; + isEmbeddedClusterWaitingForNodes?: boolean; }) => { const [state, setState] = useReducer( (prevState: State, newState: Partial) => ({ @@ -415,11 +417,13 @@ const EmbeddedClusterManagement = ({ const AddNodeInstructions = () => { return (
-

- Optionally add nodes to the cluster. Click{" "} - Continue - to proceed with a single node. -

+ {Utilities.isInitialAppInstall(app) && ( +

+ Optionally add nodes to the cluster. Click{" "} + Continue + to proceed with a single node. +

+ )}

{rolesData?.roles && rolesData.roles.length > 1 && @@ -517,6 +521,9 @@ const EmbeddedClusterManagement = ({ ); }; + const isInitialInstallOrRestore = + Utilities.isInitialAppInstall(app) || isEmbeddedClusterWaitingForNodes; + return (

@@ -525,26 +532,26 @@ const EmbeddedClusterManagement = ({ Nodes

- {" "} - {!Utilities.isInitialAppInstall(app) && ( -
-

- View the nodes in your cluster, generate commands to add nodes - to the cluster, and view workloads running on each node. -

-
+ {!isInitialInstallOrRestore && ( + <> +
+

+ View the nodes in your cluster, generate commands to add nodes + to the cluster, and view workloads running on each node. +

+
+ {Utilities.sessionRolesHasOneOf([rbacRoles.CLUSTER_ADMIN]) && ( + + )} + )} - {Utilities.sessionRolesHasOneOf([rbacRoles.CLUSTER_ADMIN]) && - !Utilities.isInitialAppInstall(app) && ( - - )}
- {Utilities.isInitialAppInstall(app) && ( + {isInitialInstallOrRestore && (
diff --git a/web/src/components/shared/NavBar.tsx b/web/src/components/shared/NavBar.tsx index 3521d6eb3c..aaa996d280 100644 --- a/web/src/components/shared/NavBar.tsx +++ b/web/src/components/shared/NavBar.tsx @@ -19,6 +19,7 @@ type Props = { isIdentityServiceSupported: boolean; isKurlEnabled: boolean; isEmbeddedClusterEnabled: boolean; + isEmbeddedClusterWaitingForNodes: boolean; isSnapshotsSupported: boolean; logo: string | null; onLogoutError: (message: string) => void; @@ -144,6 +145,7 @@ export class NavBar extends PureComponent { fetchingMetadata, isKurlEnabled, isEmbeddedClusterEnabled, + isEmbeddedClusterWaitingForNodes, isGitOpsSupported, isIdentityServiceSupported, appsList, @@ -206,7 +208,8 @@ export class NavBar extends PureComponent {
{Utilities.isLoggedIn() && appsList?.length > 0 && - !isInitialEmbeddedInstall && ( + !isInitialEmbeddedInstall && + !isEmbeddedClusterWaitingForNodes && (
{
)}
- {Utilities.isLoggedIn() && ( + {Utilities.isLoggedIn() && !isEmbeddedClusterWaitingForNodes && ( <>