Commit e705859
fix(navigation): paint scene background to remove white modal flicker (#912)
The NavigationContainer was rendered without a theme, so React Navigation
fell back to its light DefaultTheme (background rgb(242,242,242)). Native
Stack uses the theme's colors.background as each screen's default
contentStyle background, so the light native scene container showed through
during transitions — most visibly as a white flicker at the iOS modal's
rounded corners while a screen slides in horizontally (e.g. the Send flow's
slide_from_right push).
Set a dark NAVIGATION_THEME (extends DarkTheme, overrides background/card
with the app's #161616 surface token) on the NavigationContainer so the
native scene background is dark everywhere. This is a central fix covering
every navigator and screen rather than patching a single flow.
NAVIGATION_THEME lives in its own config/navigationTheme module rather than
config/theme so the design-token file stays free of the React Navigation
dependency — config/theme is imported by nearly every component, and several
component tests replace @react-navigation/native with an inline mock that
omits DarkTheme.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 9d2bcb2 commit e705859
3 files changed
Lines changed: 56 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
70 | 71 | | |
71 | 72 | | |
72 | 73 | | |
| 74 | + | |
73 | 75 | | |
74 | 76 | | |
75 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
0 commit comments