feat: prioritize game iframe, gated register terms and polished register page
CI / check (push) Successful in 28s
CI / release (push) Skipped
CI / deploy (push) Successful in 55s

Fetch the Nitro client iframe with high priority so the browser starts the
game document before competing resources, and replace the bare /client
spinner with a branded boot screen. Preconnect and eager loading were already
in place; typing support for the iframe fetchPriority prop is added in a
React type augmentation.

Rework the register terms block into a single clickable accept control with
a custom check state, error shake and inline hint, and dim the submit button
until the terms are accepted. The register page gets labeled sections
(account details / credentials), a corrected banner overlay, translated
show/hide toggles and a captcha slot that reserves height to avoid layout
shifts. English is the source of truth; other locales fall back to it.
This commit is contained in:
openhands committed 2026-08-29 21:14:02 +02:00
1 parent 7f39ba4257
commit b59d6c21af
6 files changed
+374 -168

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
import type { HTMLAttributes } from "react";
declare module "react" {
interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
/**
* Browser support for `fetchpriority` on iframes exists (Chrome 126+,
* Safari 17.5+, Firefox 129+); React forwards the `fetchPriority` prop
* to a `fetchpriority` attribute so the game document is fetched with
* high priority instead of competing with other resources.
*/
fetchPriority?: "high" | "low" | "auto";
}
}