diff --git a/src/assets/css/index.css b/src/assets/css/index.css index f345dfcc..cf68b39e 100644 --- a/src/assets/css/index.css +++ b/src/assets/css/index.css @@ -429,17 +429,17 @@ input[type="range"].styled-slider.slider-progress::-ms-fill-lower { } /* Image fade-in on load */ -img:not([src=""]) { +img:not(.no-fade):not([src=""]) { opacity: 0; transition: opacity 0.8s ease-in-out; } /* Fade in when image has loaded class */ -img.loaded { +img.loaded:not(.no-fade) { opacity: 1; } /* For images that are already cached/loaded, show them immediately */ -img[complete]:not([src=""]) { +img[complete]:not(.no-fade):not([src=""]) { opacity: 1; } diff --git a/src/components/player/atoms/ProgressBar.tsx b/src/components/player/atoms/ProgressBar.tsx index 90b91dcc..0c15fd82 100644 --- a/src/components/player/atoms/ProgressBar.tsx +++ b/src/components/player/atoms/ProgressBar.tsx @@ -59,7 +59,7 @@ function ThumbnailDisplay(props: { at: number; show: boolean }) { {currentThumbnail && ( )}

diff --git a/src/components/player/atoms/settings/CaptionsView.tsx b/src/components/player/atoms/settings/CaptionsView.tsx index a9ff591c..16040b65 100644 --- a/src/components/player/atoms/settings/CaptionsView.tsx +++ b/src/components/player/atoms/settings/CaptionsView.tsx @@ -411,7 +411,7 @@ export function CaptionsView({ }; try { - await navigator.clipboard.writeText(JSON.stringify(copyData, null, 2)); + await navigator.clipboard.writeText(JSON.stringify(copyData)); // Could add a toast notification here if needed } catch (err) { console.error("Failed to copy subtitle data:", err); diff --git a/src/setup/imageFadeIn.ts b/src/setup/imageFadeIn.ts index 79e779d9..158f2031 100644 --- a/src/setup/imageFadeIn.ts +++ b/src/setup/imageFadeIn.ts @@ -5,7 +5,7 @@ export function initializeImageFadeIn() { // Handle images that are already loaded (cached) const handleExistingImages = () => { - const images = document.querySelectorAll("img:not(.loaded)"); + const images = document.querySelectorAll(`img:not(.no-fade):not([src=""]`); images.forEach((img) => { const htmlImg = img as HTMLImageElement; if (htmlImg.complete && htmlImg.naturalHeight !== 0) { @@ -35,7 +35,7 @@ export function initializeImageFadeIn() { // Also check periodically for images that might have loaded // This handles edge cases where the load event might not fire const checkInterval = setInterval(() => { - const images = document.querySelectorAll("img:not(.loaded)"); + const images = document.querySelectorAll(`img:not(.no-fade):not([src=""]`); if (images.length === 0) { clearInterval(checkInterval); return;