From ea8d9978a62bceb53ffda9e40067995059978c4f Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Tue, 29 Apr 2025 15:20:02 -0500 Subject: [PATCH] default icon for errored images --- src/webpage/icons/sad.svg | 1 + src/webpage/style.css | 13 +++++++++++++ src/webpage/utils/utils.ts | 3 +++ 3 files changed, 17 insertions(+) create mode 100644 src/webpage/icons/sad.svg diff --git a/src/webpage/icons/sad.svg b/src/webpage/icons/sad.svg new file mode 100644 index 0000000..f516f0b --- /dev/null +++ b/src/webpage/icons/sad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/webpage/style.css b/src/webpage/style.css index 19f6b4a..44a8ac8 100644 --- a/src/webpage/style.css +++ b/src/webpage/style.css @@ -3039,6 +3039,19 @@ fieldset input[type="radio"] { font-size: 0.2in; padding: 0 0.1in; } +img.error { + position: relative; +} +img.error::after { + background: var(--secondary-bg) url("/icons/sad.svg"); + background-size: contain; + content: ""; + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; +} .gifBox { img { max-width: 196px; diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index d027640..9fa1347 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -599,6 +599,9 @@ export function createImg( const settings = localStorage.getItem("gifSetting") || ("hover" as "hover") || "always" || "never"; const img = document.createElement("img"); + img.addEventListener("error", () => { + img.classList.add("error"); + }); elm ||= img; if (src && isAnimated(src)) { img.crossOrigin = "anonymous";