The fallback block is what shows when a challenge has no media.url. I'll replace it with the NBA image so it always appears as the background.
The NBA collage image (featuring LeBron, Steph Curry, Luka, KD and others) now fills the media area of every challenge question that doesn't have its own specific media URL. A subtle dark overlay keeps the scrim and existing text/chip elements readable, and the challenge icon floats centered over the image to retain the original visual identity.
Now let me also read the result UI area to understand what's rendered when showResult is true, so I can add a "Close" button there:
Now I have everything I need. The fix involves three things:
setTimeout auto-closes — onChallengeComplete + handleClose should only fire when the player manually dismisses.pendingEffect state to hold the effect until the player clicks close.Now replace the three handler functions to remove auto-close setTimeout calls:
Now update handleClose to fire onChallengeComplete with the pending effect and also clear the new state:
Now update the result UI block to remove "Applying effect..." and add a proper "Continue" button:
The modal no longer auto-closes after an answer. Instead, once a player picks an answer the result banner (Correct/Wrong + effect details) appears with a "Continue" button — the player must tap it themselves to proceed. The effect (onChallengeComplete) is only fired at that point, keeping the flow player-controlled. The same manual-dismiss pattern applies to choice and simple challenge types as well.
You can send messages while the preview loads