Skip to content

Commit 41aa0c3

Browse files
committed
fix(preview): supprimer l'overlay « Loading preview… » qui recouvrait une image valide
L'overlay reflétait l'état du `<video>` CACHÉ (source horloge/audio), pas la preview réelle — le canvas natif D3D, qui affiche déjà une image valide pendant que le `<video>` re-seek. À chaque scrub/seek, `loadState` passait à « loading » et le panneau « Loading preview… » venait recouvrir une bonne image, au milieu de l'écran, pour rien — plus gênant qu'utile. On n'affiche plus que l'erreur (`loadState === "error"`), qui, elle, signale un vrai échec de chargement (auquel cas le natif ne montre rien non plus). Le reste de `loadState` est conservé tel quel.
1 parent de93c34 commit 41aa0c3

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

src/components/ai-edition/VirtualPreview.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -619,10 +619,13 @@ export function VirtualPreview({
619619
// handles clip-end advancement, so dropping the event
620620
// handler here is safe.
621621
/>
622-
{loadState !== "ready" && (
623-
<div className={styles.overlay}>
624-
{loadState === "error" ? "Video preview could not be loaded." : "Loading preview…"}
625-
</div>
622+
{/* Plus d'overlay « Loading preview… » : il reflétait l'état du <video>
623+
CACHÉ (source horloge/audio), pas la preview RÉELLE — le canvas natif,
624+
qui montre déjà une image valide pendant que le <video> re-seek. Il
625+
recouvrait donc une bonne image à chaque scrub, pour rien. On garde
626+
seulement l'erreur, qui, elle, signale un vrai échec de chargement. */}
627+
{loadState === "error" && (
628+
<div className={styles.overlay}>Video preview could not be loaded.</div>
626629
)}
627630
</div>
628631
{/* The native D3D canvas already draws the recorded-cursor sprite as part

0 commit comments

Comments
 (0)