remdms Claude Opus 4.6 commited on
Commit
75a8f67
·
1 Parent(s): 04aa4fb

fix(mosaic): gate animations behind animationReady, remove loading=lazy

Browse files

- Animation classes only applied after height measurement completes
- Removed loading="lazy" so images load eagerly for accurate scrollHeight

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Files changed (1) hide show
  1. frontend/src/lib/Mosaic.svelte +4 -4
frontend/src/lib/Mosaic.svelte CHANGED
@@ -160,8 +160,8 @@
160
  {#each columns as colStories, colIdx}
161
  <div
162
  class="mosaic-column"
163
- class:scroll-up={colIdx % 2 === 0}
164
- class:scroll-down={colIdx % 2 === 1}
165
  class:paused={pausedColumn === colIdx}
166
  style="--scroll-duration: {columnDurations[colIdx] || 30}s;"
167
  >
@@ -172,7 +172,7 @@
172
  onmouseenter={(e) => handleMouseEnter(story, colIdx, e)}
173
  onmouseleave={handleMouseLeave}
174
  >
175
- <img src={story.poster} alt={story.name} loading="lazy" />
176
  </div>
177
  {/each}
178
  <!-- Duplicate for seamless loop -->
@@ -182,7 +182,7 @@
182
  onmouseenter={(e) => handleMouseEnter(story, colIdx, e)}
183
  onmouseleave={handleMouseLeave}
184
  >
185
- <img src={story.poster} alt={story.name} loading="lazy" />
186
  </div>
187
  {/each}
188
  </div>
 
160
  {#each columns as colStories, colIdx}
161
  <div
162
  class="mosaic-column"
163
+ class:scroll-up={animationReady && colIdx % 2 === 0}
164
+ class:scroll-down={animationReady && colIdx % 2 === 1}
165
  class:paused={pausedColumn === colIdx}
166
  style="--scroll-duration: {columnDurations[colIdx] || 30}s;"
167
  >
 
172
  onmouseenter={(e) => handleMouseEnter(story, colIdx, e)}
173
  onmouseleave={handleMouseLeave}
174
  >
175
+ <img src={story.poster} alt={story.name} />
176
  </div>
177
  {/each}
178
  <!-- Duplicate for seamless loop -->
 
182
  onmouseenter={(e) => handleMouseEnter(story, colIdx, e)}
183
  onmouseleave={handleMouseLeave}
184
  >
185
+ <img src={story.poster} alt={story.name} />
186
  </div>
187
  {/each}
188
  </div>