From 07bcffe363a60ad58451b868bc10eadf5ca8dcb7 Mon Sep 17 00:00:00 2001 From: Alexander Platov Date: Thu, 21 Sep 2023 07:07:53 +0300 Subject: [PATCH] UBER-486: replaced avatar colors (#3724) Signed-off-by: Alexander Platov --- packages/ui/src/colors.ts | 21 ++++++++- .../src/components/Avatar.svelte | 32 ++++++++----- .../src/components/EditableAvatar.svelte | 12 +++-- .../src/components/SelectAvatarPopup.svelte | 47 ++++++++++++------- .../src/components/ColorsPopup.svelte | 4 +- 5 files changed, 79 insertions(+), 37 deletions(-) diff --git a/packages/ui/src/colors.ts b/packages/ui/src/colors.ts index 17509d378b..efb9aced3d 100644 --- a/packages/ui/src/colors.ts +++ b/packages/ui/src/colors.ts @@ -50,11 +50,13 @@ const defineAvatarColor = ( dark: boolean = false ): ColorDefinition => { const background = rgbToHex(hslToRgb(h / 360, s / 100, l / 100)) + const icon = rgbToHex(hslToRgb(h / 360, 0.5, 0.6)) + const title = rgbToHex(hslToRgb(h / 360, 0.9, 0.9)) return { name, color: background, - icon: undefined, - title: undefined, + icon, + title, number: undefined, background: gradient.length === 1 @@ -264,6 +266,21 @@ export function getPlatformAvatarColorForTextDef (text: string, darkTheme: boole return getPlatformAvatarColorDef(hashCode(text), darkTheme) } +/** + * @public + */ +export function getPlatformAvatarColorByName (name: string, darkTheme: boolean): ColorDefinition { + const palette = darkTheme ? avatarDarkColors : avatarWhiteColors + return palette.find((col) => col.name === name) ?? palette[0] +} + +/** + * @public + */ +export function getPlatformAvatarColors (darkTheme: boolean): readonly ColorDefinition[] { + return darkTheme ? avatarDarkColors : avatarWhiteColors +} + /** * @public */ diff --git a/plugins/contact-resources/src/components/Avatar.svelte b/plugins/contact-resources/src/components/Avatar.svelte index 137748bd42..b13c49df0c 100644 --- a/plugins/contact-resources/src/components/Avatar.svelte +++ b/plugins/contact-resources/src/components/Avatar.svelte @@ -27,17 +27,19 @@ @@ -29,11 +30,12 @@
{#each colors as color, i} + {@const col = key === 'color' ? color.color : color.icon}
{ dispatch('close', i) }}