From d8673a8cf786381f771c9429afa6940e217c09c7 Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Thu, 24 Oct 2024 10:04:39 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(frontend)=20display=20full=20name=20i?= =?UTF-8?q?f=20available?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We can get the full name from the OIDC, so we should display it if available. --- CHANGELOG.md | 1 + .../apps/e2e/__tests__/app-impress/doc-header.spec.ts | 3 ++- .../apps/e2e/__tests__/app-impress/doc-member-list.spec.ts | 3 +++ src/frontend/apps/impress/src/core/auth/api/types.ts | 2 ++ .../src/features/docs/doc-header/components/DocHeader.tsx | 2 +- .../docs/members/members-list/components/MemberItem.tsx | 7 ++++--- .../apps/impress/src/features/service-worker/ApiPlugin.ts | 2 ++ 7 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61cfdc1e..312f1307 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to - 📝Contributing.md #352 - 🌐(frontend) add localization to editor #268 - ✨Public and restricted doc editable #357 +- ✨(frontend) Add full name if available #380 ## Fixed diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts index a75c4593..5bb9aa6d 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts @@ -21,6 +21,7 @@ test.describe('Doc Header', () => { role: 'owner', user: { email: 'super@owner.com', + full_name: 'Super Owner', }, }, { @@ -65,7 +66,7 @@ test.describe('Doc Header', () => { card.getByText('Created at 09/01/2021, 11:00 AM'), ).toBeVisible(); await expect( - card.getByText('Owners: super@owner.com / super2@owner.com'), + card.getByText('Owners: Super Owner / super2@owner.com'), ).toBeVisible(); await expect(card.getByText('Your role: Owner')).toBeVisible(); await expect(page.getByRole('button', { name: 'Share' })).toBeVisible(); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-member-list.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-member-list.spec.ts index f06c66fc..f45eba01 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-member-list.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-member-list.spec.ts @@ -25,6 +25,7 @@ test.describe('Document list members', () => { user: { id: `fc092149-cafa-4ffa-a29d-e4b18af751-${pageId}-${i}`, email: `impress@impress.world-page-${pageId}-${i}`, + full_name: `Impress World Page ${pageId}-${i}`, }, team: '', role: 'editor', @@ -58,9 +59,11 @@ test.describe('Document list members', () => { await waitForElementCount(list.locator('li'), 21, 10000); expect(await list.locator('li').count()).toBeGreaterThan(20); + await expect(list.getByText(`Impress World Page 1-16`)).toBeVisible(); await expect( list.getByText(`impress@impress.world-page-1-16`), ).toBeVisible(); + await expect(list.getByText(`Impress World Page 2-15`)).toBeVisible(); await expect( list.getByText(`impress@impress.world-page-2-15`), ).toBeVisible(); diff --git a/src/frontend/apps/impress/src/core/auth/api/types.ts b/src/frontend/apps/impress/src/core/auth/api/types.ts index 8c137a7a..ef189360 100644 --- a/src/frontend/apps/impress/src/core/auth/api/types.ts +++ b/src/frontend/apps/impress/src/core/auth/api/types.ts @@ -8,4 +8,6 @@ export interface User { id: string; email: string; + full_name: string; + short_name: string; } diff --git a/src/frontend/apps/impress/src/features/docs/doc-header/components/DocHeader.tsx b/src/frontend/apps/impress/src/features/docs/doc-header/components/DocHeader.tsx index 36249f2b..9db1d3dc 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-header/components/DocHeader.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-header/components/DocHeader.tsx @@ -104,7 +104,7 @@ export const DocHeader = ({ doc, versionId }: DocHeaderProps) => { ) .map((access, index, accesses) => ( - {access.user.email}{' '} + {access.user.full_name || access.user.email}{' '} {index < accesses.length - 1 ? ' / ' : ''} ))} diff --git a/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx b/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx index c9b1e9d2..1c24a0d4 100644 --- a/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx +++ b/src/frontend/apps/impress/src/features/docs/members/members-list/components/MemberItem.tsx @@ -84,9 +84,10 @@ export const MemberItem = ({ $css={`flex: ${isSmallMobile ? '100%' : '70%'};`} > - - {access.user.email} - + + {access.user.full_name && {access.user.full_name}} + {access.user.email} +