21412: viewing another users home project now displays that users name Arvados-DCO...
[arvados.git] / services / workbench2 / src / store / breadcrumbs / breadcrumbs-actions.ts
index f4ab11244634ada4607a558f0f024f438712871b..a374fd1a242508734f4e7bf80e097fd0cd45ad4f 100644 (file)
@@ -79,6 +79,14 @@ export const setSidePanelBreadcrumbs = (uuid: string) =>
                     uuid: SidePanelTreeCategory.PROJECTS,
                     icon: getSidePanelIcon(SidePanelTreeCategory.PROJECTS)
                 });
+            } else if (uuidKind === ResourceKind.USER) {
+                // Handle another user root project
+                const user = getResource<UserResource>(uuid)(getState().resources);
+                breadcrumbs.push({
+                    label: (user as any)?.fullName || SidePanelTreeCategory.PROJECTS,
+                    uuid: user?.uuid || uuid,
+                    icon: getSidePanelIcon(SidePanelTreeCategory.PROJECTS)
+                });
             } else if (Object.values(SidePanelTreeCategory).includes(uuid as SidePanelTreeCategory)) {
                 // Handle SidePanelTreeCategory root
                 breadcrumbs.push({
@@ -269,7 +277,7 @@ export const setUserProfileBreadcrumbs = (userUuid: string) =>
         try {
             const user = getResource<UserResource>(userUuid)(getState().resources)
                 || await services.userService.get(userUuid, false);
-            const currentCrumbs = getState().properties.breadcrumbs as Breadcrumb[]
+            const currentCrumbs = getState().properties.breadcrumbs as Breadcrumb[] || [];
             const userProfileBreadcrumbs: Breadcrumb[] = [
                 { label: USERS_PANEL_LABEL, uuid: USERS_PANEL_LABEL },
                 { label: user ? `${user.firstName} ${user.lastName}` : userUuid, uuid: userUuid },