forked from open-webui/open-webui
		
	feat: use local profile image by default
This commit is contained in:
		
							parent
							
								
									3ce8f3e8fb
								
							
						
					
					
						commit
						0c322063b5
					
				
					 4 changed files with 72 additions and 31 deletions
				
			
		| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
	import { updateUserProfile } from '$lib/apis/auths';
 | 
			
		||||
 | 
			
		||||
	import UpdatePassword from './Account/UpdatePassword.svelte';
 | 
			
		||||
	import { getGravatarUrl } from '$lib/apis/utils';
 | 
			
		||||
 | 
			
		||||
	export let saveHandler: Function;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -98,37 +99,47 @@
 | 
			
		|||
		<div class=" mb-2.5 font-medium">Profile</div>
 | 
			
		||||
 | 
			
		||||
		<div class="flex space-x-5">
 | 
			
		||||
			<div class="self-center">
 | 
			
		||||
				<button
 | 
			
		||||
					class="relative rounded-full dark:bg-gray-700"
 | 
			
		||||
					type="button"
 | 
			
		||||
					on:click={() => {
 | 
			
		||||
						document.getElementById('profile-image-input')?.click();
 | 
			
		||||
					}}
 | 
			
		||||
				>
 | 
			
		||||
					<img
 | 
			
		||||
						src={profileImageUrl !== '' ? profileImageUrl : '/user.png'}
 | 
			
		||||
						alt="profile"
 | 
			
		||||
						class=" rounded-full w-16 h-16 object-cover"
 | 
			
		||||
					/>
 | 
			
		||||
 | 
			
		||||
					<div
 | 
			
		||||
						class="absolute flex justify-center rounded-full bottom-0 left-0 right-0 top-0 h-full w-full overflow-hidden bg-gray-700 bg-fixed opacity-0 transition duration-300 ease-in-out hover:opacity-50"
 | 
			
		||||
			<div class="flex flex-col">
 | 
			
		||||
				<div class="self-center">
 | 
			
		||||
					<button
 | 
			
		||||
						class="relative rounded-full dark:bg-gray-700"
 | 
			
		||||
						type="button"
 | 
			
		||||
						on:click={() => {
 | 
			
		||||
							document.getElementById('profile-image-input')?.click();
 | 
			
		||||
						}}
 | 
			
		||||
					>
 | 
			
		||||
						<div class="my-auto text-gray-100">
 | 
			
		||||
							<svg
 | 
			
		||||
								xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
								viewBox="0 0 20 20"
 | 
			
		||||
								fill="currentColor"
 | 
			
		||||
								class="w-5 h-5"
 | 
			
		||||
							>
 | 
			
		||||
								<path
 | 
			
		||||
									d="m2.695 14.762-1.262 3.155a.5.5 0 0 0 .65.65l3.155-1.262a4 4 0 0 0 1.343-.886L17.5 5.501a2.121 2.121 0 0 0-3-3L3.58 13.419a4 4 0 0 0-.885 1.343Z"
 | 
			
		||||
								/>
 | 
			
		||||
							</svg>
 | 
			
		||||
						<img
 | 
			
		||||
							src={profileImageUrl !== '' ? profileImageUrl : '/user.png'}
 | 
			
		||||
							alt="profile"
 | 
			
		||||
							class=" rounded-full w-16 h-16 object-cover"
 | 
			
		||||
						/>
 | 
			
		||||
 | 
			
		||||
						<div
 | 
			
		||||
							class="absolute flex justify-center rounded-full bottom-0 left-0 right-0 top-0 h-full w-full overflow-hidden bg-gray-700 bg-fixed opacity-0 transition duration-300 ease-in-out hover:opacity-50"
 | 
			
		||||
						>
 | 
			
		||||
							<div class="my-auto text-gray-100">
 | 
			
		||||
								<svg
 | 
			
		||||
									xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
									viewBox="0 0 20 20"
 | 
			
		||||
									fill="currentColor"
 | 
			
		||||
									class="w-5 h-5"
 | 
			
		||||
								>
 | 
			
		||||
									<path
 | 
			
		||||
										d="m2.695 14.762-1.262 3.155a.5.5 0 0 0 .65.65l3.155-1.262a4 4 0 0 0 1.343-.886L17.5 5.501a2.121 2.121 0 0 0-3-3L3.58 13.419a4 4 0 0 0-.885 1.343Z"
 | 
			
		||||
									/>
 | 
			
		||||
								</svg>
 | 
			
		||||
							</div>
 | 
			
		||||
						</div>
 | 
			
		||||
					</div>
 | 
			
		||||
				</button>
 | 
			
		||||
					</button>
 | 
			
		||||
				</div>
 | 
			
		||||
				<button
 | 
			
		||||
					class=" text-xs text-gray-600"
 | 
			
		||||
					on:click={async () => {
 | 
			
		||||
						const url = await getGravatarUrl($user.email);
 | 
			
		||||
 | 
			
		||||
						profileImageUrl = url;
 | 
			
		||||
					}}>Use Gravatar</button
 | 
			
		||||
				>
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
			<div class="flex-1">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue