mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-22 15:39:11 +00:00
fix: prevent white background flash and overscroll on Safari iOS
- Set background-color: #101010 on html/body/.App so the Safari iOS rubber-band overscroll area is dark instead of white - Always render body background style in ViewLoader (not just during Suspense fallback) so keyColour param and --background-color-override propagate to the body for the overscroll region - Add viewport-fit=cover, apple-mobile-web-app meta tags for proper iOS notch/safe-area handling - Fix manifest.json background_color from #ffffff to #101010 - Align theme_color across both manifests to #101010 https://claude.ai/code/session_016z5vU45pexTdkQV2eHJqh4
This commit is contained in:
@@ -4,8 +4,10 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<base href="/" />
|
<base href="/" />
|
||||||
<link rel="icon" href="favicon.ico" />
|
<link rel="icon" href="favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||||
<meta name="theme-color" content="#101010" />
|
<meta name="theme-color" content="#101010" />
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||||
<meta name="ontime" content="ontime - time keeping for live events" />
|
<meta name="ontime" content="ontime - time keeping for live events" />
|
||||||
<link rel="apple-touch-icon" href="ontime-logo.png" />
|
<link rel="apple-touch-icon" href="ontime-logo.png" />
|
||||||
<link rel="icon" type="image/png" href="ontime-logo.png" />
|
<link rel="icon" type="image/png" href="ontime-logo.png" />
|
||||||
|
|||||||
@@ -14,6 +14,6 @@
|
|||||||
"scope": "./",
|
"scope": "./",
|
||||||
"start_url": "./",
|
"start_url": "./",
|
||||||
"display": "",
|
"display": "",
|
||||||
"theme_color": "#121212",
|
"theme_color": "#101010",
|
||||||
"background_color": "#ffffff"
|
"background_color": "#101010"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "",
|
"name": "",
|
||||||
"short_name": "",
|
"short_name": "",
|
||||||
"icons": [{ "src": "ontime-logo.png", "sizes": "295x295", "type": "image/png" }],
|
"icons": [{ "src": "ontime-logo.png", "sizes": "295x295", "type": "image/png" }],
|
||||||
"theme_color": "#2B5ABC",
|
"theme_color": "#101010",
|
||||||
"background_color": "#101010",
|
"background_color": "#101010",
|
||||||
"display": "standalone"
|
"display": "standalone"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,6 +81,8 @@ html,
|
|||||||
user-select: none;
|
user-select: none;
|
||||||
-webkit-app-region: drag;
|
-webkit-app-region: drag;
|
||||||
isolation: isolate;
|
isolation: isolate;
|
||||||
|
// prevents Safari iOS from showing white in the overscroll (rubber-band) area
|
||||||
|
background-color: $ui-black;
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset button styles
|
// reset button styles
|
||||||
|
|||||||
@@ -23,15 +23,19 @@ export default function ViewLoader({ children }: PropsWithChildren) {
|
|||||||
const searchParams = new URLSearchParams(window.location.search);
|
const searchParams = new URLSearchParams(window.location.search);
|
||||||
const colourFromParams = searchParams.get('keyColour') ?? '#101010';
|
const colourFromParams = searchParams.get('keyColour') ?? '#101010';
|
||||||
|
|
||||||
|
// always keep body background in sync so Safari iOS overscroll area matches the view
|
||||||
|
const bodyBgStyle = `body { background-color: var(--background-color-override, ${colourFromParams}); }`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense
|
<Suspense
|
||||||
fallback={
|
fallback={
|
||||||
<>
|
<>
|
||||||
<style>{`body { background: var(--background-color-override, ${colourFromParams}); }`}</style>
|
<style>{bodyBgStyle}</style>
|
||||||
<Loader />
|
<Loader />
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
<style>{bodyBgStyle}</style>
|
||||||
<OverrideStyles />
|
<OverrideStyles />
|
||||||
{children}
|
{children}
|
||||||
</Suspense>
|
</Suspense>
|
||||||
|
|||||||
Reference in New Issue
Block a user