diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index cf9eb955..da4d6313 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -4,7 +4,7 @@ import {onMount} from "svelte" import * as nip19 from "nostr-tools/nip19" import {get, derived} from "svelte/store" - import {App} from "@capacitor/app" + import {App, type URLOpenListenerEvent} from "@capacitor/app" import {dev} from "$app/environment" import {goto} from "$app/navigation" import {sync, localStorageProvider} from "@welshman/store" @@ -108,6 +108,13 @@ } }) + // Listen for deep link events + App.addListener("appUrlOpen", (event: URLOpenListenerEvent) => { + const url = new URL(event.url) + const target = `${url.pathname}${url.search}${url.hash}` + goto(target, {replaceState: false, noScroll: false}) + }) + // Nstart login if (window.location.hash?.startsWith("#nostr-login")) { const params = new URLSearchParams(window.location.hash.slice(1))