// Window state is exposed as reactive accessors - read them in JSX and the UI // updates when the window changes. Prefer these over the onResize event callback: // they are reactive, sticky (the first read sees the current value), and live for // the whole app. // // windowSize() -> { width, height } // safeArea() -> { top, left, right, bottom } inset distances from each edge // displayScale() -> device pixel ratio // // safeArea is mostly an interactivity boundary: the platform may intercept // touches/gestures inside the insets (system bars, notch, home indicator), so do // not place interactive content there. For plain drawing it is usually fine to // extend into the left/right insets (full-bleed backgrounds); top and bottom are // what matter, since content there - text especially - can be covered. So pad the // top/bottom by the inset and let the background fill the whole window. import { render, windowSize, safeArea } from "@solidrt/core" function App() { return ( {windowSize().width} x {windowSize().height} ) } render(() => )