From 14f104aa1ebd1601a05a46705d95314872f19656 Mon Sep 17 00:00:00 2001 From: Marcus Eide Date: Tue, 9 Jun 2020 10:05:48 +0200 Subject: [PATCH] await promise.all when setting isSignedIn --- .../core/src/layout/Sidebar/UserSettings.tsx | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/core/src/layout/Sidebar/UserSettings.tsx b/packages/core/src/layout/Sidebar/UserSettings.tsx index f4f22dd151..5179356cb8 100644 --- a/packages/core/src/layout/Sidebar/UserSettings.tsx +++ b/packages/core/src/layout/Sidebar/UserSettings.tsx @@ -32,7 +32,6 @@ import { } from '@backstage/core-api'; import { Avatar, IconButton, makeStyles, Tooltip } from '@material-ui/core'; import PowerButton from '@material-ui/icons/PowerSettingsNew'; -// import { SidebarThemeToggle } from './SidebarThemeToggle'; type Provider = { title: string; @@ -61,19 +60,23 @@ const useProviders = () => { }, ]); - Promise.all( - providers.map((provider: Provider) => - provider.identity - ? provider.api.getIdToken({ optional: true }) - : provider.api.getAccessToken('', { optional: true }), - ), - ).then(results => { - results.map((result, i) => { + const setIsSignedIn = async () => { + const signInChecks = await Promise.all( + providers.map(provider => + provider.identity + ? provider.api.getIdToken({ optional: true }) + : provider.api.getAccessToken('', { optional: true }), + ), + ); + + signInChecks.map((result, i) => { providers[i].isSignedIn = !!result; }); setProviders(providers); - }); + }; + + setIsSignedIn(); return providers; }; @@ -141,7 +144,7 @@ export function SidebarUserSettings() { <>