aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--android/app/src/main/java/io/coinos/MainActivity.java17
-rw-r--r--capacitor.config.json23
-rw-r--r--src/routes/(static)/register/+page.server.ts1
-rw-r--r--src/routes/+layout.svelte11
4 files changed, 40 insertions, 12 deletions
diff --git a/android/app/src/main/java/io/coinos/MainActivity.java b/android/app/src/main/java/io/coinos/MainActivity.java
index aaf59abe..791c89a9 100644
--- a/android/app/src/main/java/io/coinos/MainActivity.java
+++ b/android/app/src/main/java/io/coinos/MainActivity.java
@@ -1,5 +1,11 @@
package io.coinos;
+import android.os.Build;
+import android.view.View;
+import android.view.WindowInsets;
+import android.view.WindowManager;
+import androidx.core.view.ViewCompat;
+
import com.getcapacitor.BridgeActivity;
import com.getcapacitor.Bridge;
import android.content.Intent;
@@ -21,12 +27,23 @@ public class MainActivity extends BridgeActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ // Ensure the WebView doesn't overlap the system status bar
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
+ getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
+ }
+
WebView webView = bridge.getWebView();
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
+ // Ensure layout respects system window insets
+ ViewCompat.setOnApplyWindowInsetsListener(webView, (v, insets) -> {
+ v.setPadding(0, insets.getSystemWindowInsetTop(), 0, 0);
+ return insets;
+ });
+
handleIntent(getIntent());
}
diff --git a/capacitor.config.json b/capacitor.config.json
index 585ff21c..a31c19db 100644
--- a/capacitor.config.json
+++ b/capacitor.config.json
@@ -1,13 +1,14 @@
{
- "appId": "io.coinos",
- "appName": "Coinos",
- "server": {
- "hostname": "coinos.io",
- "url": "https://coinos.io/start"
- },
- "android": {
- "webContentsDebuggingEnabled": true,
- "allowMixedContent": true,
- "useBrowserHistory": true
- }
+ "appId": "io.coinos",
+ "appName": "Coinos",
+ "server": {
+ "hostname": "coinos.io",
+ "url": "https://coinos.io/start"
+ },
+ "android": {
+ "webContentsDebuggingEnabled": true,
+ "allowMixedContent": true,
+ "useBrowserHistory": true,
+ "immersive": false
+ }
}
diff --git a/src/routes/(static)/register/+page.server.ts b/src/routes/(static)/register/+page.server.ts
index 8c6d6a8d..44aa69d3 100644
--- a/src/routes/(static)/register/+page.server.ts
+++ b/src/routes/(static)/register/+page.server.ts
@@ -21,6 +21,5 @@ export const actions = {
const user = { picture, username, password };
await register(user, ip, cookies, loginRedirect);
- redirect(303, loginRedirect || `/${user.username}`);
},
};
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index d25f570a..f2c567fa 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -61,4 +61,15 @@
--toastContainerLeft: calc(50vw - 8rem);
--toastBackground: #292929;
}
+
+ main {
+ padding-top: constant(safe-area-inset-top);
+ padding-top: env(safe-area-inset-top);
+ }
+
+ @supports not (padding-top: env(safe-area-inset-top)) {
+ main {
+ padding-top: 24px;
+ }
+ }
</style>