when opening hosted explorer from portal, jump to selected sub/account

This commit is contained in:
Ashley Stanton-Nurse
2024-06-07 12:05:46 -07:00
parent 4866d3c902
commit 2bd913acbb
7 changed files with 37 additions and 48 deletions

View File

@@ -2,6 +2,7 @@
/* eslint-disable react/display-name */
import { DefaultButton, IButtonStyles, IContextualMenuItem } from "@fluentui/react";
import { urlContext } from "Utils/UrlContext";
import * as React from "react";
import { FunctionComponent, useEffect, useState } from "react";
import { StyleConstants } from "../../../Common/StyleConstants";
@@ -50,12 +51,12 @@ interface Props {
export const AccountSwitcher: FunctionComponent<Props> = ({ armToken, setDatabaseAccount }: Props) => {
const subscriptions = useSubscriptions(armToken);
const [selectedSubscriptionId, setSelectedSubscriptionId] = useState<string>(() =>
localStorage.getItem("cachedSubscriptionId"),
urlContext.subscription || localStorage.getItem("cachedSubscriptionId"),
);
const selectedSubscription = subscriptions?.find((sub) => sub.subscriptionId === selectedSubscriptionId);
const accounts = useDatabaseAccounts(selectedSubscription?.subscriptionId, armToken);
const [selectedAccountName, setSelectedAccountName] = useState<string>(() =>
localStorage.getItem("cachedDatabaseAccountName"),
urlContext.account || localStorage.getItem("cachedDatabaseAccountName"),
);
const selectedAccount = accounts?.find((account) => account.name === selectedAccountName);

View File

@@ -1,6 +1,7 @@
import { useBoolean } from "@fluentui/react-hooks";
import { userContext } from "UserContext";
import { useNewPortalBackendEndpoint } from "Utils/EndpointUtils";
import { OpenedFrom, RequestedAuthType, urlContext } from "Utils/UrlContext";
import * as React from "react";
import ConnectImage from "../../../../images/HdeConnectCosmosDB.svg";
import ErrorImage from "../../../../images/error.svg";
@@ -69,7 +70,9 @@ export const ConnectExplorer: React.FunctionComponent<Props> = ({
}: Props) => {
const [isFormVisible, { setTrue: showForm }] = useBoolean(false);
const [errorMessage, setErrorMessage] = React.useState("");
const enableConnectionStringLogin = !userContext.features.disableConnectionStringLogin;
const enableConnectionStringLogin =
urlContext.authType !== RequestedAuthType.Entra &&
!userContext.features.disableConnectionStringLogin;
return (
<div id="connectExplorer" className="connectExplorerContainer" style={{ display: "flex" }}>
@@ -136,6 +139,11 @@ export const ConnectExplorer: React.FunctionComponent<Props> = ({
<p className="switchConnectTypeText" data-test="Link:SwitchConnectionType" onClick={showForm}>
Connect to your account with connection string
</p>
)}
{urlContext.openFrom === OpenedFrom.Portal && (
<p className="switchConnectTypeText">
Click sign in to continue your session from the Azure Portal.
</p>
)}
</div>
)}