Skip to content
Ritesh FirodiyaGet in touch

Work / Aakalan / Wiki / Surfaces

splash

Surfacecanonicalverified 2026-09-23

SURFACE.MOBILE.SPLASH

Summary

The one screen the OS draws rather than React.

Raw wireframe

  • .context/designs/mobile/states/splash.html

Why it is drawn this way

expo-splash-screen paints app.config.ts's backgroundColor under splash-icon.png, and _layout.tsx holds it with preventAutoHideAsync() until restoreAppearance() has resolved. Hiding it first would show one frame of the light theme to somebody who chose dark, which is the flash every dark-mode implementation is judged on.

Its colour does not follow the theme remap. The OS paints it before React runs, so it is whatever the config declares — and both values are LIGHT brand values. --splash therefore carries its own literal in the dark scope rather than reusing --brand-900, which the remap lightens. See tokens.

Only one of the gate's two branches is an edge on the chart. A cold start with no session goes to sign-in, and that is drawn. A signed-in launch goes straight to balances — real navigation, but a redirect rather than a tap, so it is recorded in routes.js under missing instead of being stretched into an edge kind that does not fit it.

The mark is drawn as a link because a splash has nothing else to attach the forward edge to. That is the same liberty every set in the estate takes.

Related

Sources

  • src/app/_layout.tsx
  • app.config.ts

Every project of mine is written down like this.

Read the résumé