PURPOSE
Stripped-down React layout shell for the prologue tunnel. Renders a dark, centered container with no bottom navigation, no currency bar, and no hamburger menu. Used only during the prologue beats before the hub is unlocked.
OWNS
- A single
OnboardingShellnamed export. - The wrapping
div.sig-shopelement with overriddenjustifyContent: 'center'. - The inner
mainelement that hosts centered, scrollable child content with touch scrolling enabled.
READS FROM
react— imports theReactNodetype.../screens/shop/shop.css— side-effect import that supplies thesig-shopclass styling.OnboardingShellProps— local interface with a singlechildren: ReactNodeprop.
PUSHES TO
- Nothing. The component is purely presentational; it renders children into a styled wrapper and emits no events, callbacks, or store mutations.
DOES NOT
- Does not render a bottom navigation bar.
- Does not render a currency bar.
- Does not render a hamburger menu.
- Does not subscribe to any store or context.
- Does not dispatch actions or call services.
- Does not conditionally render — always wraps
childrenunchanged.
Signals
- None emitted.
- None consumed.
Entry points
OnboardingShell({ children })— named React function component. Mounted by prologue-tunnel screens that need a chrome-free layout.
Pattern notes
- Reuses the
sig-shopclass from the shop screen stylesheet to inherit the full-height column layout, then overridesjustifyContentinline to recenter content vertically. - Inline styles on the
mainelement handle flex layout, padding, gap, centering, and overflow.WebkitOverflowScrolling: 'touch'is set for momentum scrolling on iOS. - No props beyond
children, keeping the shell a pure wrapper. Guided CTA buttons and prologue copy are provided by the caller, not by the shell itself.