diff --git a/openframe-frontend-core/src/components/features/video-hover-preview.tsx b/openframe-frontend-core/src/components/features/video-hover-preview.tsx index 0fc10d91b..2ab9cd9f4 100644 --- a/openframe-frontend-core/src/components/features/video-hover-preview.tsx +++ b/openframe-frontend-core/src/components/features/video-hover-preview.tsx @@ -194,7 +194,29 @@ export function VideoHoverPreviewSurface({ ) : ( -
+ // Un-mounted skeleton: the player-mount gate has not fired yet, or the + // marquee carried this card far off-screen. Render real card chrome — + // the poster (or a shimmer when a bite has none) plus the play glyph — + // so an ungated card still reads as a card instead of a flat dark box. + // The poster is a lazy , so off-screen cards fetch nothing. + <> + {posterSrc ? ( + + ) : ( +
+ )} + {badge === 'play' && ( + + )} + )}
);