From 0d041c6b61fddb96fe3c65764bf54298cdadbeba Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.net>
Date: Fri, 15 May 2026 10:27:00 +0000
Subject: perf(images): lazy-load and async-decode off-screen imagery

Add loading=lazy and decoding=async to the 16 <img> elements that
weren't already deferring across Tools/Wrapped, Events, EasterEvent,
Hololive, and the rate-limited fallback. Also drop the
backdrop-filter: blur(160px) the dropdown items were paying on every
hover; the background-color change already gives sufficient feedback,
and the parent card's own blur stays.
---
 src/lib/Events/Group.svelte | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/lib/Events/Group.svelte')

diff --git a/src/lib/Events/Group.svelte b/src/lib/Events/Group.svelte
index 02cd53ac..9b0ddba5 100644
--- a/src/lib/Events/Group.svelte
+++ b/src/lib/Events/Group.svelte
@@ -11,13 +11,13 @@ let { group }: { group: Group } = $props();
   style={`background-image: ${group.banner ? `url(${group.banner})` : 'none'}; padding: 0;`}
 >
   {#if group}
-    <img src={group.banner} alt="" id="cover-image" />
+    <img src={group.banner} alt="" loading="lazy" decoding="async" id="cover-image" />
   {/if}
 
   <div class="card" id="user-grid-content">
     <div id="user-grid-avatar">
       <a href={`https://anilist.co/user/${group.anilist_username}`} target="_blank">
-        <img src={group.avatar} alt="" width="100vw" id="avatar" />
+        <img src={group.avatar} alt="" loading="lazy" decoding="async" width="100vw" id="avatar" />
       </a>
     </div>
 
-- 
cgit v1.2.3

