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;