Show header + skeleton while the dashboard and editor islands load
The dashboard and editor mount browser-only React islands (client:only —
auth and the WordPress editor can't render server-side, per Decisions
0001/0003/0004). Until their JS bundle loaded, the slot="fallback" was a
bare, left-aligned "Loading…", so the page had no shape and hydration
popped the full UI into an empty viewport.
Render the durable page chrome in the fallback instead: a logo-only
header reusing the global .app-bar classes (matching AppBar's
status === 'loading' state, so the swap to the live bar is seamless) plus
a content skeleton that mirrors each loaded layout, so hydration doesn't
reflow. The header omits nav/identity because auth state isn't known
before the island runs.
A new shared LoadingScene.astro carries both variants. The fallback is
plain server-rendered markup (not inside the island's DOM), so the
component's scoped styles reach it. The skeleton shimmer respects
prefers-reduced-motion, and the region is marked aria-busy with a
visually-hidden "Loading…" label. Drops the now-unused
.editor-shell__loading rule.