mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 02:39:03 -04:00 
			
		
		
		
	
							parent
							
								
									68d4f1b946
								
							
						
					
					
						commit
						aa02ccb731
					
				| @ -172,12 +172,12 @@ | ||||
|     </div> | ||||
|     {#if innerHeight} | ||||
|       <div | ||||
|         class="overflow-y-auto immich-scrollbar relative w-full" | ||||
|         class="overflow-y-auto immich-scrollbar relative w-full px-2" | ||||
|         style="height: {divHeight}px;padding-bottom: {chatHeight}px" | ||||
|       > | ||||
|         {#each reactions as reaction, index (reaction.id)} | ||||
|           {#if reaction.type === 'comment'} | ||||
|             <div class="flex dark:bg-gray-800 bg-gray-200 p-3 mx-2 mt-3 rounded-lg gap-4 justify-start"> | ||||
|             <div class="flex dark:bg-gray-800 bg-gray-200 py-3 pl-3 mt-3 rounded-lg gap-4 justify-start"> | ||||
|               <div class="flex items-center"> | ||||
|                 <UserAvatar user={reaction.user} size="sm" /> | ||||
|               </div> | ||||
| @ -215,7 +215,7 @@ | ||||
| 
 | ||||
|             {#if (index != reactions.length - 1 && !shouldGroup(reactions[index].createdAt, reactions[index + 1].createdAt)) || index === reactions.length - 1} | ||||
|               <div | ||||
|                 class=" px-2 text-right w-full text-sm text-gray-500 dark:text-gray-300" | ||||
|                 class="pt-1 px-2 text-right w-full text-sm text-gray-500 dark:text-gray-300" | ||||
|                 title={new Date(reaction.createdAt).toLocaleDateString(undefined, timeOptions)} | ||||
|               > | ||||
|                 {timeSince(luxon.DateTime.fromISO(reaction.createdAt))} | ||||
| @ -223,7 +223,7 @@ | ||||
|             {/if} | ||||
|           {:else if reaction.type === 'like'} | ||||
|             <div class="relative"> | ||||
|               <div class="flex p-3 mx-2 mt-3 rounded-full gap-4 items-center text-sm"> | ||||
|               <div class="flex py-3 pl-3 mt-3 gap-4 items-center text-sm"> | ||||
|                 <div class="text-red-600"><Icon path={mdiHeart} size={20} /></div> | ||||
| 
 | ||||
|                 <div class="w-full" title={`${reaction.user.name} (${reaction.user.email})`}> | ||||
| @ -260,7 +260,7 @@ | ||||
|               </div> | ||||
|               {#if (index != reactions.length - 1 && isTenMinutesApart(reactions[index].createdAt, reactions[index + 1].createdAt)) || index === reactions.length - 1} | ||||
|                 <div | ||||
|                   class=" px-2 text-right w-full text-sm text-gray-500 dark:text-gray-300" | ||||
|                   class="pt-1 px-2 text-right w-full text-sm text-gray-500 dark:text-gray-300" | ||||
|                   title={new Date(reaction.createdAt).toLocaleDateString(navigator.language, timeOptions)} | ||||
|                 > | ||||
|                   {timeSince(luxon.DateTime.fromISO(reaction.createdAt))} | ||||
| @ -274,7 +274,7 @@ | ||||
|   </div> | ||||
| 
 | ||||
|   <div class="absolute w-full bottom-0"> | ||||
|     <div class="flex items-center justify-center p-2 mr-2" bind:clientHeight={chatHeight}> | ||||
|     <div class="flex items-center justify-center p-2" bind:clientHeight={chatHeight}> | ||||
|       <div class="flex p-2 gap-4 h-fit bg-gray-200 text-immich-dark-gray rounded-3xl w-full"> | ||||
|         <div> | ||||
|           <UserAvatar {user} size="md" showTitle={false} /> | ||||
|  | ||||
| @ -741,7 +741,7 @@ | ||||
|     <div | ||||
|       transition:fly={{ duration: 150 }} | ||||
|       id="activity-panel" | ||||
|       class="z-[1002] row-start-1 row-span-5 w-[360px] md:w-[460px] overflow-y-auto bg-immich-bg transition-all dark:border-l dark:border-l-immich-dark-gray dark:bg-immich-dark-bg pl-4" | ||||
|       class="z-[1002] row-start-1 row-span-5 w-[360px] md:w-[460px] overflow-y-auto bg-immich-bg transition-all dark:border-l dark:border-l-immich-dark-gray dark:bg-immich-dark-bg" | ||||
|       translate="yes" | ||||
|     > | ||||
|       <ActivityViewer | ||||
|  | ||||
| @ -100,6 +100,7 @@ | ||||
|   let reactions: ActivityResponseDto[] = []; | ||||
|   let globalWidth: number; | ||||
|   let assetGridWidth: number; | ||||
|   let textarea: HTMLTextAreaElement; | ||||
| 
 | ||||
|   const assetStore = new AssetStore({ albumId: album.id }); | ||||
|   const assetInteractionStore = createAssetInteractionStore(); | ||||
| @ -122,7 +123,13 @@ | ||||
|   $: showActivityStatus = | ||||
|     album.sharedUsers.length > 0 && !$showAssetViewer && (album.isActivityEnabled || $numberOfComments > 0); | ||||
| 
 | ||||
|   afterNavigate(({ from }) => { | ||||
|   $: { | ||||
|     if (textarea) { | ||||
|       textarea.value = album.description; | ||||
|       autoGrowHeight(); | ||||
|     } | ||||
|   } | ||||
|   $: afterNavigate(({ from }) => { | ||||
|     assetViewingStore.showAssetViewer(false); | ||||
| 
 | ||||
|     let url: string | undefined = from?.url?.pathname; | ||||
| @ -142,6 +149,13 @@ | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
|   const autoGrowHeight = () => { | ||||
|     // little hack so that the height of the text area is correctly initialized | ||||
|     textarea.scrollHeight; | ||||
|     textarea.style.height = '5px'; | ||||
|     textarea.style.height = `${textarea.scrollHeight}px`; | ||||
|   }; | ||||
| 
 | ||||
|   const handleToggleEnableActivity = async () => { | ||||
|     try { | ||||
|       const { data } = await api.albumApi.updateAlbumInfo({ | ||||
| @ -636,7 +650,12 @@ | ||||
|                   disabled={!isOwned} | ||||
|                   title="Edit description" | ||||
|                 > | ||||
|                   {album.description || 'Add description'} | ||||
|                   <textarea | ||||
|                     class="w-full bg-transparent resize-none overflow-hidden outline-none" | ||||
|                     bind:this={textarea} | ||||
|                     bind:value={album.description} | ||||
|                     placeholder="Add description" | ||||
|                   /> | ||||
|                 </button> | ||||
|               {/if} | ||||
|             </section> | ||||
| @ -680,7 +699,7 @@ | ||||
|       <div | ||||
|         transition:fly={{ duration: 150 }} | ||||
|         id="activity-panel" | ||||
|         class="z-[2] w-[360px] md:w-[460px] overflow-y-auto bg-immich-bg transition-all dark:border-l dark:border-l-immich-dark-gray dark:bg-immich-dark-bg pl-4" | ||||
|         class="z-[2] w-[360px] md:w-[460px] overflow-y-auto bg-immich-bg transition-all dark:border-l dark:border-l-immich-dark-gray dark:bg-immich-dark-bg" | ||||
|         translate="yes" | ||||
|       > | ||||
|         <ActivityViewer | ||||
| @ -753,3 +772,15 @@ | ||||
| {/if} | ||||
| 
 | ||||
| <UpdatePanel {assetStore} /> | ||||
| 
 | ||||
| <style> | ||||
|   ::placeholder { | ||||
|     color: rgb(60, 60, 60); | ||||
|     opacity: 0.6; | ||||
|   } | ||||
| 
 | ||||
|   ::-ms-input-placeholder { | ||||
|     /* Edge 12 -18 */ | ||||
|     color: white; | ||||
|   } | ||||
| </style> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user