← ClaudeAtlas

bootsplashlisted

Set up and debug the launch screen / splash in a React Native app using react-native-bootsplash, including light and dark variants without the paid license key. Use when the user asks about the splash screen, launch screen, bootsplash, app startup flash, a logo that is wrong or stale on launch, or a splash that stays light in dark mode; when regenerating splash assets; or before touching BootSplash.storyboard, values-night/, drawable-night-*/, or the bootsplash asset catalogs.
ltatarev/skills · ★ 0 · AI & Automation · score 65
Install: claude install-skill ltatarev/skills
# Launch screen / bootsplash The splash is rendered by **three** different things in sequence, each with its own light/dark mechanism. All three have to agree or the handoff flashes: | # | Surface | Light/dark comes from | | --- | --- | --- | | 1 | iOS launch screen (`BootSplash.storyboard`) | asset catalog appearance variants | | 2 | Android launch theme (`Theme.BootSplash`) | `values-night/` + `drawable-night-*/` | | 3 | JS overlay (`AnimatedBootSplash.tsx`) | `manifest.darkBackground` + `darkLogo` | **1 and 2 render before any JS runs**, so they cannot read Unistyles or `useColorScheme` — the split has to be baked into native resources. ## Sources of truth | | Light | Dark | | --- | --- | --- | | Logo | `bootsplash/logo-light.svg` | `bootsplash/logo-dark.svg` | | Background | the theme's light `surface` token | the theme's dark `surface` token | The light side is passed to the CLI in the generate script (`--background` and the SVG path). The dark side lives in the constants at the top of the dark script. Both backgrounds must mirror the app's theme file so the splash hands off to the first screen with no flash. **If you change `surface` in either theme, change it in both places here too** — nothing enforces this automatically. ## Why a script instead of the CLI's own flags `react-native-bootsplash` v7 ships `--dark-background`, `--dark-logo` and `--dark-brand`, which would do all of this. They are gated behind a paid license key (`--license-key`), and the generato