From 4722c948c21734cd754e98ed4c54d12b52966425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20=C5=A0neberger?= Date: Wed, 12 Jul 2023 10:33:33 +0200 Subject: [PATCH] fix(avatar): Parse unicode characters in name for avatar component MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marek Šneberger --- .changeset/rare-crabs-taste.md | 5 +++++ .github/vale/Vocab/Backstage/accept.txt | 1 + packages/core-components/src/components/Avatar/util.test.ts | 4 ++++ packages/core-components/src/components/Avatar/utils.ts | 5 ++++- 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .changeset/rare-crabs-taste.md diff --git a/.changeset/rare-crabs-taste.md b/.changeset/rare-crabs-taste.md new file mode 100644 index 0000000000..9749ae1a1d --- /dev/null +++ b/.changeset/rare-crabs-taste.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Parse unicode characters in name for avatar component diff --git a/.github/vale/Vocab/Backstage/accept.txt b/.github/vale/Vocab/Backstage/accept.txt index 627e0aa0f3..efd6186405 100644 --- a/.github/vale/Vocab/Backstage/accept.txt +++ b/.github/vale/Vocab/Backstage/accept.txt @@ -402,6 +402,7 @@ Uffizzi ui unbreak Unconference +unicode unmanaged unregister unregistering diff --git a/packages/core-components/src/components/Avatar/util.test.ts b/packages/core-components/src/components/Avatar/util.test.ts index 4d2b5417c0..6581df8b9a 100644 --- a/packages/core-components/src/components/Avatar/util.test.ts +++ b/packages/core-components/src/components/Avatar/util.test.ts @@ -27,6 +27,10 @@ describe('extractInitials', () => { expect(extractInitials('Jenny Doe')).toEqual('JD'); }); + it('extract unicode initials', async () => { + expect(extractInitials('Petr Čech')).toEqual('PČ'); + }); + it('extract single letter for short name', async () => { expect(extractInitials('Doe')).toEqual('D'); }); diff --git a/packages/core-components/src/components/Avatar/utils.ts b/packages/core-components/src/components/Avatar/utils.ts index 4f71d736f1..79627d5996 100644 --- a/packages/core-components/src/components/Avatar/utils.ts +++ b/packages/core-components/src/components/Avatar/utils.ts @@ -28,5 +28,8 @@ export function stringToColor(str: string) { } export function extractInitials(value: string) { - return value.match(/\b\w/g)?.join('').slice(0, 2); + return value + .match(/(?