Fix state changing when selecting region or resetting to global.

This commit is contained in:
Craig Boger (from Dev Box) 2025-01-21 16:37:31 -08:00
parent 6a1ec98dfb
commit d8f6fd9d23

View File

@ -311,18 +311,18 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
}
}
// TODO: Check if region selection has been updated. Update database account in user context accordingly.
// If global is selected, then remove the region selection from local storage.
if (selectedRegion !== LocalStorageUtility.getEntryString(StorageKey.SelectedRegion)) {
LocalStorageUtility.setEntryString(StorageKey.SelectedRegion, selectedRegion);
let selectedRegionalEndpoint: string | undefined;
if (selectedRegion === Constants.RegionSelectionOptions.Global) {
selectedRegionalEndpoint = undefined;
} else {
selectedRegionalEndpoint = regionOptions.find((option) => option.key === selectedRegion)?.data?.endpoint;
}
const storedRegion = LocalStorageUtility.getEntryString(StorageKey.SelectedRegion);
const selectedRegionIsGlobal = selectedRegion === Constants.RegionSelectionOptions.Global;
if (selectedRegionIsGlobal && storedRegion) {
LocalStorageUtility.removeEntry(StorageKey.SelectedRegion);
updateUserContext({
selectedRegionalEndpoint: selectedRegionalEndpoint,
selectedRegionalEndpoint: undefined,
refreshCosmosClient: true,
});
} else if (!selectedRegionIsGlobal && selectedRegion !== storedRegion) {
LocalStorageUtility.setEntryString(StorageKey.SelectedRegion, selectedRegion);
updateUserContext({
selectedRegionalEndpoint: regionOptions.find((option) => option.key === selectedRegion)?.data?.endpoint,
refreshCosmosClient: true,
});
}