aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-07-08 03:09:44 -0700
committerAdam Soltys <[email protected]>2025-07-08 03:09:44 -0700
commitddf3e1cb1839310f28af092f6586992b3180cacd (patch)
tree740616c2c7ffb335e153bf601f900f9428ec09b9 /src
parentc0efcd94f37793348bc0cbe99a47e5fe8df4282a (diff)
downloadcoinos-ui-ddf3e1cb1839310f28af092f6586992b3180cacd.tar.gz
coinos-ui-ddf3e1cb1839310f28af092f6586992b3180cacd.zip
inset
Diffstat (limited to 'src')
-rw-r--r--src/routes/+layout.svelte26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index f2c567fa..76db8abe 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -1,6 +1,5 @@
<script>
import { run } from "svelte/legacy";
-
import { browser } from "$app/environment";
import { PUBLIC_DOMAIN } from "$env/static/public";
import "../app.css";
@@ -17,12 +16,31 @@
? `http://${PUBLIC_DOMAIN}`
: `https://${PUBLIC_DOMAIN}`;
+ function getSafeInsetTop() {
+ const div = document.createElement("div");
+ div.style.cssText = "position:absolute;top:0;padding-top:env(safe-area-inset-top);";
+ document.body.appendChild(div);
+ const computed = getComputedStyle(div).paddingTop;
+ document.body.removeChild(div);
+ const px = parseInt(computed, 10);
+ return isNaN(px) ? 24 : px;
+ }
+
onMount(() => {
if (!browser) return;
+
+ // Handle install prompt
window.addEventListener("beforeinstallprompt", (event) => {
event.preventDefault();
$installPrompt = event;
});
+
+ // Fix: Apply top padding manually for Android WebView
+ const insetTop = getSafeInsetTop();
+ const main = document.querySelector("main");
+ if (main && insetTop > 0) {
+ main.style.paddingTop = `${insetTop}px`;
+ }
});
</script>
@@ -32,16 +50,13 @@
<meta name="twitter:title" content="coinos" />
<meta property="og:image" content={`${host}/images/logo.webp`} />
-
<meta property="og:type" content="website" />
<meta property="og:description" content="An easy to use bitcoin web wallet" />
<meta name="description" content="An easy to use bitcoin web wallet" />
<meta name="keywords" content="coinos easy bitcoin web wallet" />
-
<meta name="twitter:image" content={`${host}/images/logo.webp`} />
<meta name="twitter:card" content="summary_large_image" />
-
<meta property="og:url" content={host + pathname} />
<meta name="twitter:site" content="@coinoswallet" />
<meta name="twitter:creator" content="@coinoswallet" />
@@ -63,8 +78,7 @@
}
main {
- padding-top: constant(safe-area-inset-top);
- padding-top: env(safe-area-inset-top);
+ padding-top: env(safe-area-inset-top, 24px);
}
@supports not (padding-top: env(safe-area-inset-top)) {