diff --git a/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.test.ts b/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.test.ts index abafd2ca8e0..6441292827f 100644 --- a/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.test.ts +++ b/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.test.ts @@ -168,6 +168,22 @@ describe('ProjectHeader', () => { expect(getByTestId('project-subtitle')).toHaveTextContent(personalSubtitle); }); + it('Personal: should render the correct title when currentProject is null but personalProject exists', async () => { + settingsStore.isDataTableFeatureEnabled = false; + vi.spyOn(projectPages, 'isOverviewSubPage', 'get').mockReturnValue(false); + vi.spyOn(projectPages, 'isSharedSubPage', 'get').mockReturnValue(false); + const { getByTestId, rerender } = renderComponent(); + const personalSubtitle = 'Workflows and credentials owned by you'; + + projectsStore.currentProject = null; + projectsStore.personalProject = { type: ProjectTypes.Personal } as Project; + + await rerender({}); + + expect(getByTestId('project-name')).toHaveTextContent('Personal'); + expect(getByTestId('project-subtitle')).toHaveTextContent(personalSubtitle); + }); + it('Team project: should render the correct title and no subtitle if there is no description', async () => { vi.spyOn(projectPages, 'isOverviewSubPage', 'get').mockReturnValue(false); vi.spyOn(projectPages, 'isSharedSubPage', 'get').mockReturnValue(false); diff --git a/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.vue b/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.vue index 17540c89fc8..b54fd75854a 100644 --- a/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.vue +++ b/packages/frontend/editor-ui/src/features/collaboration/projects/components/ProjectHeader.vue @@ -59,12 +59,20 @@ const headerIcon = computed((): IconOrEmoji => { } }); +const homeProject = computed(() => projectsStore.currentProject ?? projectsStore.personalProject); + +const isPersonalProject = computed(() => { + return homeProject.value?.type === ProjectTypes.Personal; +}); + const projectName = computed(() => { if (!projectsStore.currentProject) { if (projectPages.isSharedSubPage) { return i18n.baseText('projects.header.shared.title'); } else if (projectPages.isOverviewSubPage) { return i18n.baseText('projects.menu.overview'); + } else if (isPersonalProject.value) { + return i18n.baseText('projects.menu.personal'); } return null; } else if (projectsStore.currentProject.type === ProjectTypes.Personal) { @@ -91,12 +99,6 @@ const showSettings = computed( projectsStore.currentProject?.type === ProjectTypes.Team, ); -const homeProject = computed(() => projectsStore.currentProject ?? projectsStore.personalProject); - -const isPersonalProject = computed(() => { - return homeProject.value?.type === ProjectTypes.Personal; -}); - const showFolders = computed(() => { return ( settingsStore.isFoldersFeatureEnabled && @@ -475,7 +477,6 @@ const onSelect = (action: string) => { display: flex; align-items: flex-start; justify-content: space-between; - padding-bottom: var(--spacing--lg); min-height: var(--spacing--3xl); }