feat(nests): paint themed background color on the room screen

NestThemedScope was overriding MaterialTheme.colorScheme but the Box
holding the room body never explicitly painted the themed background
color — only consumers that read MaterialTheme.colorScheme.background
themselves picked up the change. A room that shipped
`["c", hex, "background"]` (EGG-10) but no `bg` image therefore
fell back to the platform surface and never looked themed.

Add `.background(themed.background)` to the Box. The optional `bg`
image still paints on top (per EGG-10 rule 3 — image overlays the
color); when no image is present, the themed color tints the whole
screen, matching the lobby card's containerColor pattern from the
last commit.

PIP screen left as-is: it's a small system-managed floating window
where the platform surface color is the right call.

https://claude.ai/code/session_01RDpuki4t8StSg1CZcXnV5b
This commit is contained in:
Claude
2026-04-27 17:49:55 +00:00
parent 76d7753a34
commit 1bb9779e9e
@@ -106,7 +106,15 @@ internal fun NestThemedScope(
}
MaterialTheme(colorScheme = themed, typography = themedTypography) {
Box(modifier = Modifier.fillMaxSize()) {
// Paint the themed background COLOR on the Box itself so a room
// that ships `["c", hex, "background"]` but no `bg` image still
// visibly tints the room screen — without this, only consumers
// that explicitly read `MaterialTheme.colorScheme.background`
// would pick the override up, and the room would visually fall
// back to the platform surface. The `bg` image, when present,
// paints on top per EGG-10 rule 3 ("image overlays the color");
// a partially-transparent image lets the color show through.
Box(modifier = Modifier.fillMaxSize().background(themed.background)) {
theme.backgroundImageUrl?.let { url ->
when (theme.backgroundMode) {
RoomTheme.BackgroundMode.COVER -> {