1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-25 10:43:13 +02:00

Show the first two letter of user first and last name when profile image not existed (#532)

* Added user first name and last name abbreviation to Circle Avatar:

* Remove unsued code
This commit is contained in:
Alex 2022-08-25 15:52:11 -07:00 committed by GitHub
parent 658b64df74
commit 68b1655e7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 11 deletions

View File

@ -8,19 +8,25 @@
export let size: number = 48;
const dispatch = createEventDispatcher();
const getUserAvatar = async () => {
try {
const { data } = await api.userApi.getProfileImage(user.id, {
responseType: 'blob'
});
if (data instanceof Blob) {
return URL.createObjectURL(data);
}
} catch (e) {
return '/favicon.png';
const getUserAvatar = async () => {
const { data } = await api.userApi.getProfileImage(user.id, {
responseType: 'blob'
});
if (data instanceof Blob) {
return URL.createObjectURL(data);
}
};
const getFirstLetter = (text?: string) => {
return text?.charAt(0).toUpperCase();
};
const getRandomeBackgroundColor = () => {
const colors = ['#DE7FB3', '#E64132', '#FFB800', '#4081EF', '#31A452'];
return colors[Math.floor(Math.random() * colors.length)];
};
</script>
{#await getUserAvatar()}
@ -41,4 +47,17 @@
title={user.email}
/>
</button>
{:catch}
<button
on:click={() => dispatch('click')}
style:width={`${size}px`}
style:height={`${size}px`}
style:background-color={getRandomeBackgroundColor()}
alt="profile-img"
class="inline rounded-full object-cover shadow-sm text-white font-semibold"
>
<div title={user.email}>
{getFirstLetter(user.firstName)}{getFirstLetter(user.lastName)}
</div>
</button>
{/await}

View File

@ -41,8 +41,8 @@
{/if}
<slot />
<DownloadPanel />
<DownloadPanel />
<UploadPanel />
{#if shouldShowAnnouncement}