From fa947bf995717dafce322213fabb84fbf5fd6d67 Mon Sep 17 00:00:00 2001 From: Stephen Smith Date: Tue, 29 Mar 2022 08:57:43 -0400 Subject: [PATCH] 18559: User breadcrumbs fallback to uuid Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- src/store/breadcrumbs/breadcrumbs-actions.ts | 25 ++++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/store/breadcrumbs/breadcrumbs-actions.ts b/src/store/breadcrumbs/breadcrumbs-actions.ts index 69179272..08e1a132 100644 --- a/src/store/breadcrumbs/breadcrumbs-actions.ts +++ b/src/store/breadcrumbs/breadcrumbs-actions.ts @@ -137,16 +137,21 @@ export const setUsersBreadcrumbs = () => export const setUserProfileBreadcrumbs = (userUuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { - - const user = getResource(userUuid)(getState().resources); - - const breadcrumbs: ResourceBreadcrumb[] = [ - { label: USERS_PANEL_LABEL, uuid: USERS_PANEL_LABEL }, - { label: user ? user.username : (await services.userService.get(userUuid)).username, uuid: userUuid }, - ]; - - dispatch(setBreadcrumbs(breadcrumbs)); - + try { + const user = getResource(userUuid)(getState().resources) + || await services.userService.get(userUuid, false); + const breadcrumbs: ResourceBreadcrumb[] = [ + { label: USERS_PANEL_LABEL, uuid: USERS_PANEL_LABEL }, + { label: user ? user.username : userUuid, uuid: userUuid }, + ]; + dispatch(setBreadcrumbs(breadcrumbs)); + } catch (e) { + const breadcrumbs: ResourceBreadcrumb[] = [ + { label: USERS_PANEL_LABEL, uuid: USERS_PANEL_LABEL }, + { label: userUuid, uuid: userUuid }, + ]; + dispatch(setBreadcrumbs(breadcrumbs)); + } }; export const MY_ACCOUNT_PANEL_LABEL = 'My Account'; -- 2.30.2