feat(lotus): hide the footer + root color-scheme natively (cinny #43)
- `lotusHostControls=1`: body.lotus-host-controls hides EC's footer (position absolute + visibility hidden, still in the DOM so a host on an engine without Capability Delegation can click its screenshare button). - With lotusTheme/lotusTransparent, `:root` color-scheme follows the theme, so the transparent frame gets no opaque backdrop. Together these replace the CSS the host injected into this frame. Also fixes unreadable tile name tags in the light theme: the Lotus near-black canvas override now applies to dark themes only (it sat behind light-theme dark text). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
aeb72c22b9
commit
7855a0c22f
+11
-1
@@ -76,7 +76,17 @@ export const useTheme = (): void => {
|
||||
"lotusTheme anyway since the two flags are only meaningful together.",
|
||||
);
|
||||
}
|
||||
if (lotusTheme || lotusTransparent)
|
||||
if (lotusTheme || lotusTransparent) {
|
||||
document.body.classList.add("lotus-theme");
|
||||
// [cinny #43] The frame's root colour scheme must match the host's, or
|
||||
// the browser paints an opaque backdrop behind the transparent frame.
|
||||
// (The host used to inject `:root { color-scheme }` for this.)
|
||||
document.documentElement.style.colorScheme = theme;
|
||||
}
|
||||
// [cinny #43] The host draws its own call bar: hide EC's footer, but keep
|
||||
// it in the DOM (the host still clicks its screenshare button on engines
|
||||
// without Capability Delegation). Replaces the host's injected styles.
|
||||
if (lotusFlag("lotusHostControls"))
|
||||
document.body.classList.add("lotus-host-controls");
|
||||
}, [previousTheme, requestedTheme]);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user