Gradio renders the static layout before the load event lands, so embedded
viewers saw a Submit tab for a moment and then watched it vanish. Defaulting it
to hidden inverts that: the embed never shows it at all, and direct visitors
get it as soon as the load event resolves.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Lay the Submit tab out for who is actually looking at it
Two audiences share this Space and they want opposite things. The challenge
page embeds it as a scoreboard, where Hugging Face cannot complete OAuth inside
an iframe -- so the Submit tab there was a form nobody could use. Everyone else
opens the Space to submit, and had to click past the leaderboard to get there.
Read ?embed=1 (set on the challenge page's iframe) and lay out accordingly:
embedded gets the leaderboard with no Submit tab, direct visitors land on
Submit. The form itself now waits for sign-in either way, so a signed-out
visitor sees the sign-in guidance instead of a form that would fail.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Tell embedded viewers to sign in from the Space's own tab
Hugging Face refuses to render its login screen inside an iframe, so clicking
sign-in from the challenge page (which embeds this Space) is denied. Signing in
once at the top-level Space URL sets the session and makes the embed work,
which is impossible to guess from the error.
Say so in the not-signed-in block, with a target=_blank link out.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>