"use client" import { useEffect, useLayoutEffect } from "react" import { isTauriRuntime } from "@/lib/platform" /** Native shell: safe-area CSS vars + html class for padding under status bar. */ export function NativeShellChrome() { useLayoutEffect(() => { if (!isTauriRuntime()) return const root = document.documentElement root.classList.add("native-shell") // Android WebView often reports env(safe-area-inset-top) as 0 until Chromium 144+. const probe = document.createElement("div") probe.style.cssText = "position:fixed;top:0;left:0;padding-top:env(safe-area-inset-top);visibility:hidden;pointer-events:none" document.body.appendChild(probe) const envTop = parseFloat(getComputedStyle(probe).paddingTop) || 0 probe.remove() if (envTop < 1) { root.style.setProperty("--native-safe-top", "28px") } return () => { root.classList.remove("native-shell") root.style.removeProperty("--native-safe-top") } }, []) return null }