From e5808c11ac7dce16a6766accd07ce0c29693db6e Mon Sep 17 00:00:00 2001 From: Coracle-Bot Date: Fri, 11 Sep 2026 17:10:41 +0000 Subject: [PATCH] Read the modal stack from page state instead of the deprecated page store --- eslint.config.js | 2 +- src/app/components/AppContainer.svelte | 4 +- src/app/components/ModalContainer.svelte | 19 ++++--- src/app/components/PrimaryNav.svelte | 5 +- src/app/modal.svelte.ts | 31 +++++++++++ src/app/modal.ts | 68 +++++------------------- src/routes/join/+page.svelte | 4 +- src/routes/spaces/[relay]/+layout.svelte | 5 +- 8 files changed, 68 insertions(+), 70 deletions(-) create mode 100644 src/app/modal.svelte.ts diff --git a/eslint.config.js b/eslint.config.js index 52c52e7e..5584a937 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -20,7 +20,7 @@ export default [ }, }, { - files: ["**/*.svelte"], + files: ["**/*.svelte", "**/*.svelte.ts"], languageOptions: { parserOptions: { parser: ts.parser, diff --git a/src/app/components/AppContainer.svelte b/src/app/components/AppContainer.svelte index 3d20af0f..d76ed1e5 100644 --- a/src/app/components/AppContainer.svelte +++ b/src/app/components/AppContainer.svelte @@ -7,7 +7,7 @@ import SpeechBanner from "@app/components/SpeechBanner.svelte" import PrimaryNav from "@app/components/PrimaryNav.svelte" import {app} from "@app/core" - import {modal} from "@app/modal" + import {getModal} from "@app/modal.svelte" type Props = { children: Snippet @@ -22,7 +22,7 @@ {@render children?.()} - {:else if !$modal} + {:else if !getModal()} {/if} diff --git a/src/app/components/ModalContainer.svelte b/src/app/components/ModalContainer.svelte index bc1aa93c..e1d8b1e8 100644 --- a/src/app/components/ModalContainer.svelte +++ b/src/app/components/ModalContainer.svelte @@ -1,11 +1,14 @@ -{#if !$modal} +{#if !getModal()} {/if} diff --git a/src/routes/spaces/[relay]/+layout.svelte b/src/routes/spaces/[relay]/+layout.svelte index b027429d..3c809860 100644 --- a/src/routes/spaces/[relay]/+layout.svelte +++ b/src/routes/spaces/[relay]/+layout.svelte @@ -21,7 +21,8 @@ import {deriveRelayAuthError} from "@app/access" import {relays, roomLists, user} from "@app/core" import {userSpaceUrls} from "@app/rooms" - import {modal, pushModal} from "@app/modal" + import {pushModal} from "@app/modal" + import {getModal} from "@app/modal.svelte" import {relaysPendingTrust} from "@app/policies" import {decodeRelay} from "@app/relays" import {makeSpacePath} from "@app/routes" @@ -81,7 +82,7 @@ // Watch for relay errors and notify the user // Direct links skip Discover — prompt to join when relay is not in the user's space list. $effect(() => { - if ($modal) return + if (getModal()) return if (redirectUrl && redirectUrl !== url && !redirectPrompted.has(url)) { redirectPrompted.add(url)