Fade in img
This commit is contained in:
		@@ -48,7 +48,7 @@ function renderGallery() {
 | 
			
		||||
    div.className = 'photo flex-item flex-column';
 | 
			
		||||
    div.innerHTML = `
 | 
			
		||||
      <div class="flex-item">
 | 
			
		||||
        <img src="/photos/${img.src}">
 | 
			
		||||
        <img class="fade-in-img" src="/photos/${img.src}">
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="tags-display" data-index="${i}"></div>
 | 
			
		||||
      <div class="flex-item flex-full">
 | 
			
		||||
@@ -92,6 +92,22 @@ function renderGallery() {
 | 
			
		||||
  if (removeAllBtnBottom) {
 | 
			
		||||
    removeAllBtnBottom.style.display = imagesToShow.length > 0 ? 'inline-block' : 'none';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // --- Fade-in effect for loaded images ---
 | 
			
		||||
  const fadeImages = document.querySelectorAll("img.fade-in-img");
 | 
			
		||||
  fadeImages.forEach(img => {
 | 
			
		||||
    const onLoad = () => {
 | 
			
		||||
      img.classList.add("loaded");
 | 
			
		||||
    };
 | 
			
		||||
    if (img.complete && img.naturalHeight !== 0) {
 | 
			
		||||
      onLoad();
 | 
			
		||||
    } else {
 | 
			
		||||
      img.addEventListener("load", onLoad, { once: true });
 | 
			
		||||
      img.addEventListener("error", () => {
 | 
			
		||||
        console.warn("Image failed to load:", img.dataset.src || img.src);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// --- Render tags for a single image ---
 | 
			
		||||
@@ -514,5 +530,7 @@ document.addEventListener('DOMContentLoaded', () => {
 | 
			
		||||
  if (removeAllHeroBtnBottom) removeAllHeroBtnBottom.onclick = () => showDeleteModal('hero-all');
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// --- Initialize ---
 | 
			
		||||
loadData();
 | 
			
		||||
		Reference in New Issue
	
	Block a user