aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-03-06 16:12:20 -0800
committerAdam Soltys <[email protected]>2025-03-06 16:12:41 -0800
commit44e5d718e7950dc59c92ce16ea52cc79d19322f6 (patch)
tree4c1f2a09fd43375e903aacd7949fcdcf31a4f184
parent6f59a0db6c82d758411b07b889dadb95f99e0349 (diff)
downloadcoinos-ui-44e5d718e7950dc59c92ce16ea52cc79d19322f6.tar.gz
coinos-ui-44e5d718e7950dc59c92ce16ea52cc79d19322f6.zip
remember last pathname for start page
-rw-r--r--android/app/src/main/java/io/coinos/MainActivity.java17
-rw-r--r--capacitor.config.json2
-rw-r--r--src/routes/(app)/+layout.server.ts1
-rw-r--r--src/routes/(app)/+layout.svelte1
-rw-r--r--src/routes/+layout.ts7
-rw-r--r--src/routes/start/+server.ts4
6 files changed, 27 insertions, 5 deletions
diff --git a/android/app/src/main/java/io/coinos/MainActivity.java b/android/app/src/main/java/io/coinos/MainActivity.java
index a94f0cc5..7f710952 100644
--- a/android/app/src/main/java/io/coinos/MainActivity.java
+++ b/android/app/src/main/java/io/coinos/MainActivity.java
@@ -8,12 +8,19 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.CookieManager;
+import android.webkit.WebView;
public class MainActivity extends BridgeActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ WebView webView = bridge.getWebView();
+ CookieManager cookieManager = CookieManager.getInstance();
+ cookieManager.setAcceptCookie(true);
+ webView.getSettings().setJavaScriptEnabled(true);
+ webView.getSettings().setDomStorageEnabled(true);
+
Intent intent = getIntent();
if (intent != null && Intent.ACTION_VIEW.equals(intent.getAction())) {
Uri data = intent.getData();
@@ -61,4 +68,14 @@ public class MainActivity extends BridgeActivity {
super.onPause();
CookieManager.getInstance().flush();
}
+
+ @Override
+ public void onBackPressed() {
+ WebView webView = getBridge().getWebView();
+ if (webView.canGoBack()) {
+ webView.goBack();
+ } else {
+ super.onBackPressed(); // Default behavior, which minimizes the app
+ }
+ }
}
diff --git a/capacitor.config.json b/capacitor.config.json
index 21085d2b..585ff21c 100644
--- a/capacitor.config.json
+++ b/capacitor.config.json
@@ -3,7 +3,7 @@
"appName": "Coinos",
"server": {
"hostname": "coinos.io",
- "url": "https://coinos.io"
+ "url": "https://coinos.io/start"
},
"android": {
"webContentsDebuggingEnabled": true,
diff --git a/src/routes/(app)/+layout.server.ts b/src/routes/(app)/+layout.server.ts
index ef25388d..e28d8b56 100644
--- a/src/routes/(app)/+layout.server.ts
+++ b/src/routes/(app)/+layout.server.ts
@@ -46,5 +46,6 @@ export async function load({ cookies, request, url, params }) {
}
const theme = cookies.get("theme") || "light";
+
return { user, token, subject, theme };
}
diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte
index d037e5be..af4dbf2c 100644
--- a/src/routes/(app)/+layout.svelte
+++ b/src/routes/(app)/+layout.svelte
@@ -32,6 +32,7 @@
$effect(() => (theme = $themeStore));
afterNavigate(() => {
+ document.cookie = `pathname=${$page.url.pathname}; path=/; max-age=86400`;
if (user) {
preloadData(`/${user.username}`);
preloadData(`/${user.username}/receive`);
diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts
index 79a89d47..af4a6a5c 100644
--- a/src/routes/+layout.ts
+++ b/src/routes/+layout.ts
@@ -5,6 +5,9 @@ import { addIcon } from "iconify-icon";
import cookies from "js-cookie";
export const ssr = false;
+const expires = new Date();
+expires.setSeconds(expires.getSeconds() + 21000000);
+const opts = { path: "/", expires };
/** @type {import('@sveltejs/kit').Load} */
export const load = async ({ data }) => {
@@ -24,10 +27,8 @@ export const load = async ({ data }) => {
? "dark"
: "light";
- const expires = new Date();
- expires.setSeconds(expires.getSeconds() + 21000000);
+ cookies.set("theme", theme, opts);
- cookies.set("theme", theme, { path: "/", expires });
if (theme === "dark") setTimeout(() => themeStore.set(theme), 100);
}
}
diff --git a/src/routes/start/+server.ts b/src/routes/start/+server.ts
index 58bca85f..b80fc762 100644
--- a/src/routes/start/+server.ts
+++ b/src/routes/start/+server.ts
@@ -1,9 +1,11 @@
import { redirect } from "@sveltejs/kit";
export async function GET({ cookies }) {
+ const pathname = cookies.get("pathname");
const username = cookies.get("username");
if (username) {
- redirect(307, `/${username}/receive`);
+ if (pathname) redirect(307, pathname);
+ else redirect(307, `/${username}/receive`);
}
redirect(307, "/");