mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	fix(web): user profile 404 (#1800)
This commit is contained in:
		| @@ -16,7 +16,10 @@ | ||||
| 	}; | ||||
|  | ||||
| 	const getUserProfileImage = async () => { | ||||
| 		return await api.userApi.getProfileImage(user.id); | ||||
| 		if (!user.profileImagePath) { | ||||
| 			return null; | ||||
| 		} | ||||
| 		return api.userApi.getProfileImage(user.id).catch(() => null); | ||||
| 	}; | ||||
| </script> | ||||
|  | ||||
| @@ -32,7 +35,8 @@ | ||||
| 		<button | ||||
| 			class="flex place-items-center place-content-center rounded-full bg-immich-primary dark:bg-immich-dark-primary dark:immich-dark-primary/80 h-20 w-20 text-gray-100 hover:bg-immich-primary dark:text-immich-dark-bg" | ||||
| 		> | ||||
| 			{#await getUserProfileImage() then} | ||||
| 			{#await getUserProfileImage() then hasProfileImage} | ||||
| 				{#if hasProfileImage} | ||||
| 					<img | ||||
| 						transition:fade={{ duration: 100 }} | ||||
| 						src={`${$page.url.origin}/api/user/profile-image/${user.id}`} | ||||
| @@ -40,10 +44,11 @@ | ||||
| 						class="inline rounded-full h-20 w-20 object-cover shadow-md" | ||||
| 						draggable="false" | ||||
| 					/> | ||||
| 			{:catch} | ||||
| 				{:else} | ||||
| 					<div transition:fade={{ duration: 200 }} class="text-lg"> | ||||
| 						{getFirstLetter(user.firstName)}{getFirstLetter(user.lastName)} | ||||
| 					</div> | ||||
| 				{/if} | ||||
| 			{/await} | ||||
| 		</button> | ||||
| 	</div> | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <script lang="ts"> | ||||
| 	import { goto } from '$app/navigation'; | ||||
| 	import { page } from '$app/stores'; | ||||
| 	import { createEventDispatcher, onMount } from 'svelte'; | ||||
| 	import { createEventDispatcher } from 'svelte'; | ||||
| 	import { fade, fly } from 'svelte/transition'; | ||||
| 	import TrayArrowUp from 'svelte-material-icons/TrayArrowUp.svelte'; | ||||
| 	import { api, UserResponseDto } from '@api'; | ||||
| @@ -17,12 +17,11 @@ | ||||
| 	const dispatch = createEventDispatcher(); | ||||
| 	let shouldShowAccountInfoPanel = false; | ||||
|  | ||||
| 	onMount(() => { | ||||
| 		getUserProfileImage(); | ||||
| 	}); | ||||
|  | ||||
| 	const getUserProfileImage = async () => { | ||||
| 		return await api.userApi.getProfileImage(user.id); | ||||
| 		if (!user.profileImagePath) { | ||||
| 			return null; | ||||
| 		} | ||||
| 		return api.userApi.getProfileImage(user.id).catch(() => null); | ||||
| 	}; | ||||
| 	const getFirstLetter = (text?: string) => { | ||||
| 		return text?.charAt(0).toUpperCase(); | ||||
| @@ -97,7 +96,8 @@ | ||||
| 				<button | ||||
| 					class="flex place-items-center place-content-center rounded-full bg-immich-primary hover:bg-immich-primary/80 h-12 w-12 text-gray-100 dark:text-immich-dark-bg dark:bg-immich-dark-primary" | ||||
| 				> | ||||
| 					{#await getUserProfileImage() then} | ||||
| 					{#await getUserProfileImage() then hasProfileImage} | ||||
| 						{#if hasProfileImage} | ||||
| 							<img | ||||
| 								transition:fade={{ duration: 100 }} | ||||
| 								src={`${$page.url.origin}/api/user/profile-image/${user.id}`} | ||||
| @@ -105,8 +105,9 @@ | ||||
| 								class="inline rounded-full h-12 w-12 object-cover shadow-md" | ||||
| 								draggable="false" | ||||
| 							/> | ||||
| 					{:catch} | ||||
| 						{:else} | ||||
| 							{getFirstLetter(user.firstName)}{getFirstLetter(user.lastName)} | ||||
| 						{/if} | ||||
| 					{/await} | ||||
| 				</button> | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user